精华内容
下载资源
问答
  • CentOS7.6安装Oracle12cRelease2
    千次阅读
    2019-10-31 22:29:34

    1. 简介

    本文介绍如何在CentOS7.6上安装Oracle Database 12c Release 2

    1.1 环境介绍

    • 软件相关
    软件版本备注
    本地操作系统Win10ip:192.168.1.1
    虚拟机操作系统CentOS Linux release 7.6.1810 (Core)ip:192.168.1.14
    内存2.8G
    swap 2G
    OracleOracle Database 12c Release 2linux版本
    MobaXtermMobaXterm_Personal_12.3用于在本地启动Xserver

    2. 软件下载

    2.1 Oracle下载

    下载途径地址
    官方下载https://www.oracle.com/database/technologies/oracle12c-linux-12201-downloads.html
    百度云盘https://pan.baidu.com/s/1zmAxc-qI3GNjOYe4UUF67A
    • 官方下载介绍
      浏览其中打开官方下载地址,点击文件名称进行下载,如下图所示
      在这里插入图片描述

    2.2 MobaXterm下载

    Oracle安装过程中需要将服务器(192.168.1.14)的图形界面显示到本地(192.168.1.1),本地需要启动Xserver用于显示服务器传过来的图形界面,MobaXterm提供了简单易用的Xserver启动方式

    下载途径地址
    官方下载https://mobaxterm.mobatek.net/download-home-edition.html
    百度云盘https://pan.baidu.com/s/1r9jpp5IYmxXpKfC71B7Q3Q
    • 官方下载介绍

      浏览其中打开官方下载地址,点击左边的便携包进行下载,如下图所示
      在这里插入图片描述

    2.3 软件验证

    使用oracle用户操作
    将下载的oracle安装包linuxx64_12201_database.zip上传到虚拟机192.168.1.14/home/oracle目录下

    # 上传完成后,查看软件包
    [oracle@localhost ~]$ pwd
    /home/oracle
    [oracle@localhost ~]$ ll
    总用量 3372752
    -rw-r--r--. 1 oracle oinstall 3453696911 10月 31 23:28 linuxx64_12201_database.zip
    
    # 验证软件包是否完整
    [oracle@localhost ~]$ cksum linuxx64_12201_database.zip 
    4170261901 3453696911 linuxx64_12201_database.zip
    # 返回信息中第一个值为cksum,第二个值为文件大小
    # 与从官方下载时,页面上的cksum和bytes进行比较,一致则说明软件包没问题
    

    在这里插入图片描述

    3. 安装前准备

    3.1 依赖包安装

    安装oracle依赖的linux软件包,下面的命令不一定全,不过不用担心安装oracle的时候有检查,到时候检查出来的单独安装即可

    # oracle安装需要
    yum install -y compat-libcap1 libstdc++-devel sysstat gcc-c++ ksh libaio-devel smartmontools net-tools
    # 解压用
    yum install -y unzip 
    # 显示到本地用
    yum install -y xdpyinfo
    

    3.2 内核参数设置

    创建文件/etc/sysctl.d/97-oracledatabase-sysctl.conf

    vim /etc/sysctl.d/97-oracledatabase-sysctl.conf
    

    97-oracledatabase-sysctl.conf内容如下

    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 2097152
    kernel.shmmax = 4294967295
    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576
    

    执行下面命令使配置生效

    # 应用配置
    /sbin/sysctl --system
    # 使用以下命令确认
    /sbin/sysctl -a
    

    3.3 用户和组创建

    # 创建组oinstall,组id:54321
    /usr/sbin/groupadd -g 54321 oinstall
    # 查看组
    grep oinstall /etc/group
    
    # 用户创建oracle,用户id:54321,属于oinstall组
    /usr/sbin/useradd -u 54321 -g oinstall oracle
    # 修改oracle用户密码
    passwd oracle
    # 输入两次密码,我设置的为oracle
    

    3.4 系统资源参数

    3.4.1 资源限制配置

    安装用户oracle资源限制官方建议范围

    资源中文描述资源Soft LimitHard Limit
    文件描述符nofileat least 1024at least 65536
    进程nprocat least 2047at least 16384
    进程堆栈段的大小stackat least 10240 KBat least 10240 KB, and at most 32768 KB

    使用root操作

    # 编辑limits.conf文件
    vim /etc/security/limits.conf 
    # 添加如下内容,对oracle用户资源限制进行配置
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft stack 10240
    oracle hard stack 32768
    

    3.4.2 资源限制检查

    使用oracle用户操作

    # 检查 soft nofile,soft nproc,soft stack
    [oracle@localhost ~]$ ulimit -Sn -Su -Ss
    open files                      (-n) 1024
    max user processes              (-u) 2047
    stack size              (kbytes, -s) 10240
    
    # 检查 hard nofile,hard nproc,hard stack
    [oracle@localhost ~]$ ulimit -Hn -Hu -Hs
    open files                      (-n) 65536
    max user processes              (-u) 16384
    stack size              (kbytes, -s) 32768
    
    

    3.5 启动Xserver

    解压我们下载MobaXterm_Portable_v12.3.zip,进入解压后文件双击MobaXterm_Personal_12.3.exe进行启动,启动后界面如下图

    在这里插入图片描述
    依次点击Settings->X11,将X11 remote access改为full,最后点击OK,如下图所示
    在这里插入图片描述
    点击右上角的Xserver进行启动
    在这里插入图片描述
    启动后Xserver图标会出现彩虹颜色
    在这里插入图片描述

    4. 安装

    使用oracle账号登入或者通过su - oracle切换到oracle账号下,我是通过oracle账号直接登入操作的,

    4.1 解压安装

    # 解压
    [oracle@localhost ~]$ unzip linuxx64_12201_database.zip 
    # 设置回显到本地,(此处我win10本地ip为192.168.1.1)
    [oracle@localhost ~]$ export DISPLAY=192.168.1.1:0.0
    # 设置语言为英文,中文有乱码(也可以自己寻找中文方式,此处使用英文安装)
    [oracle@localhost ~]$ export LANG=en_US.UTF-8
    # 启动,如果没有什么意外的话,本地会弹出oracle安装图形界面
    # 请确保已完成3.1中xdpyinfo包安装
    ./database/runInstaller
    

    去除I wish ...勾选状态(不接收安全更新提醒邮件),然后点击next
    在这里插入图片描述
    在弹出的提示框中选择Yes
    在这里插入图片描述
    保持默认(创建并配置一个数据库),点击Next
    在这里插入图片描述
    选择server版本,点击Next
    在这里插入图片描述
    保持默认的单实例数据库安装,点击Next
    在这里插入图片描述
    保持默认的标准安装,点击Next
    在这里插入图片描述
    为所有用户设置默认密码(我设置密码的为oracle),去除Create as Container database(12C开始提供一个实例多db的支持,此处是用于做测试,不使用此新特性。如果勾选此选项,创建出来的数据库在创建用户时需以c##开头。),点击Next
    在这里插入图片描述
    在弹出的提示框选择Yes
    在这里插入图片描述
    保持默认,点击Next
    在这里插入图片描述
    如过检查出了Swap没有通过,可以直接忽略掉,点击Next
    在这里插入图片描述
    在弹出的提示框选择Yes
    在这里插入图片描述
    点击Install开始安装
    在这里插入图片描述
    安装过程中会提示需要用root执行两个脚本,
    在这里插入图片描述
    另起一个root账号登入的终端,执行上面两个脚本

    
    # 执行第一个脚本
    [root@localhost ~]# /home/oracle/app/oraInventory/orainstRoot.sh 
    Changing permissions of /home/oracle/app/oraInventory.
    Adding read,write permissions for group.
    Removing read,write,execute permissions for world.
    
    Changing groupname of /home/oracle/app/oraInventory to oinstall.
    The execution of the script is complete.
    
    # 执行第二个脚本
    [root@localhost ~]# /home/oracle/app/oracle/product/12.2.0/dbhome_1/root.sh 
    Performing root user operation.
    
    The following environment variables are set as:
        ORACLE_OWNER= oracle
        ORACLE_HOME=  /home/oracle/app/oracle/product/12.2.0/dbhome_1
    
    Enter the full pathname of the local bin directory: [/usr/local/bin]: 
    # 保持默认回车
       Copying dbhome to /usr/local/bin ...
       Copying oraenv to /usr/local/bin ...
       Copying coraenv to /usr/local/bin ...
    
    Creating /etc/oratab file...
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root script.
    Now product-specific root actions will be performed.
    Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] : 
    # 输入yes
    yes
    Installing Oracle Trace File Analyzer (TFA).
    Log File: /home/oracle/app/oracle/product/12.2.0/dbhome_1/install/root_localhost.localdomain_2019-11-01_00-04-37-956550738.log
    Finished installing Oracle Trace File Analyzer (TFA)
    
    

    执行完两个脚本后,点击OK即可
    在这里插入图片描述
    经过十几分钟的安装,最终出现以下界面提示安装成功,然后点击关闭即可
    在这里插入图片描述

    4.2 登入测试

    4.2.1 设置环境变量

    配置ORACLE_HOME,并将ORACLE_HOME/bin添加到PATH中
    oracle用户操作

    # 编辑.bash_profile
    [oracle@localhost ~]$ vim .bash_profile
    

    .bash_profile结尾添加如下配置

    ORACLE_HOME=/home/oracle/app/oracle/product/12.2.0/dbhome_1
    ORACLE_SID=orcl
    PATH=$PATH:$ORACLE_HOME/bin
    export PATH ORACLE_HOME ORACLE_SID
    

    执行下面命令使配置生效

    [oracle@localhost ~]$ source .bash_profile
    

    4.2.2 登入

    # 用systemy用户登入,如果配置了ORACLE_SID环境变量,最后面的@orcl可以省略
    [oracle@localhost ~]$ sqlplus system/oracle@orcl
    
    SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 1 00:30:01 2019
    
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    
    Last Successful login time: Fri Nov 01 2019 00:29:10 +08:00
    
    Connected to:
    Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
    # 查看前四个用户名
    SQL> select username from dba_users where rownum<5 ;
    
    USERNAME
    --------------------------------------------------------------------------------
    SYS
    AUDSYS
    SYSTEM
    SYSBACKUP
    

    启动与关闭

    关闭

    • 关闭数据库
    # 使用sys以sysdba角色登入
    [oracle@localhost ~]$ sqlplus sys/oracle@orcl as sysdba
    
    SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 1 22:20:49 2019
    
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
    # 停止数据库
    SQL> shutdown
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    # 退出SQL,返回到shell
    SQL> quit
    Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
    
    
    
    • 关闭监听
    [oracle@localhost ~]$ lsnrctl stop
    
    LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 01-NOV-2019 22:24:30
    
    Copyright (c) 1991, 2016, Oracle.  All rights reserved.
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
    The command completed successfully
    
    

    启动

    1. 配置监听

    配置listener.ora,默认安装完成后listener.ora内容如下

    # listener.ora Network Configuration File: /home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
    # Generated by Oracle configuration tools.
    
    LISTENER =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
          (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
        )
      )  
    

    没有我们安装数据库实例orcl的监听需要添加以下内容

    SID_LIST_LISTENER =
    (SID_LIST =
      (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (SID_NAME = orcl)
      )
    )
    

    添加完成后截图如下
    在这里插入图片描述

    1. 启动监听
    [oracle@localhost ~]$ lsnrctl start
    
    LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 01-NOV-2019 22:31:20
    
    Copyright (c) 1991, 2016, Oracle.  All rights reserved.
    
    Starting /home/oracle/app/oracle/product/12.2.0/dbhome_1/bin/tnslsnr: please wait...
    
    TNSLSNR for Linux: Version 12.2.0.1.0 - Production
    System parameter file is /home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
    Log messages written to /home/oracle/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias                     LISTENER
    Version                   TNSLSNR for Linux: Version 12.2.0.1.0 - Production
    Start Date                01-NOV-2019 22:31:20
    Uptime                    0 days 0 hr. 0 min. 0 sec
    Trace Level               off
    Security                  ON: Local OS Authentication
    SNMP                      OFF
    Listener Parameter File   /home/oracle/app/oracle/product/12.2.0/dbhome_1/network/admin/listener.ora
    Listener Log File         /home/oracle/app/oracle/diag/tnslsnr/localhost/listener/alert/log.xml
    Listening Endpoints Summary...
      (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
      (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
    Services Summary...
    Service "orcl" has 1 instance(s).
      Instance "orcl", status UNKNOWN, has 1 handler(s) for this service...
    The command completed successfully
    
    
    1. 启动数据库
    # 使用sys以sysdba角色登入
    [oracle@localhost ~]$ sqlplus sys/oracle@orcl as sysdba
    
    SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 1 22:32:18 2019
    
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    # 启动数据库
    SQL> startup
    ORACLE instance started.
    
    Total System Global Area  763363328 bytes
    Fixed Size		    8797440 bytes
    Variable Size		  620757760 bytes
    Database Buffers	  125829120 bytes
    Redo Buffers		    7979008 bytes
    Database mounted.
    Database opened.
    # 退出
    SQL> quit
    Disconnected from Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
    
    

    启动简洁方式

    参照CentOS7.6设置Oracle12cRelease2开机启动


    参考列表

    官方安装文档html版:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/index.html
    官方安装文档pdf版:https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ladbi/database-installation-guide-linux.pdf
    Oracle关闭/启动:https://www.cnblogs.com/muhehe/p/7944887.html

    更多相关内容
  • 系统 CentOS7.6 CPU 4H 内存 4G 硬盘 128G GUI 有 ????安装前准备 ????更换yum源(root) # 安装wget yum install wget -y # 备份自带的yum源 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/...

    1. 虚拟机配置

    • 系统 CentOS7.6

    • CPU 4H

    • 内存 4G

    • 硬盘 128G

    • GUI 有

    2. 安装前准备

    2.1 配置静态IP(root)

    # 我们是安装服务,一个服务的主机IP地址不应该是变化的,所以设置为静态
    vim /etc/sysconfig/network-scripts/ifcfg-ens33
    # 修改后重启网卡
    systemctl restart network
    

    image-20210814165355980

    2.2 检查网络连接是否正常(root)

    # 检查是否能ping通IP
    ping 114.114.114.114
    # 检查是否能ping通域名
    ping www.baidu.com
    

    2.3 更换yum源(root)

    # 安装wget
    yum install wget -y
    # 备份自带的yum源
    mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    # 下载新的CentOS-Base.repo到/etc/yum.repos.d/
    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    # 生成yum缓存
    yum makecache
    

    2.4 安装vim(root)

    yum install vim -y
    

    2.5 安装lrzsz(root)

    # lrzsz是一个文件上传下载程序,在Xshell中可以通过rz上传文件,通过sz下载文件
    yum install lrzsz -y
    

    2.6 关闭防火墙(root)

    # 因为是开发环境,为了避免出现安装什么服务后忘记开放端口造成服务无法访问,可以关闭防火墙
    # 查看防火墙状态
    systemctl status firewalld
    # 关闭防火墙
    systemctl stop firewalld
    # 再次查看防火墙状态
    systemctl status firewalld
    # 永久关闭防火墙
    systemctl disable firewalld
    

    3. 安装Oracle

    3.1 创建oracle用户和oinstall用户组(root)

    # 创建oracle用户
    useradd oracle
    # 为oracle用户添加sudo权限,方便之后通过oracle执行root命令
    yum install sudo -y
    vim /etc/sudoers
    chmod u+w /etc/sudoers # /etc/sudoers不可写,先给修改权限
    vim /etc/sudoers
    # 输入/ALL找到root ALL=(ALL) ALL,在下面添加下面内容
    oracle ALL=(ALL) ALL
    chmod u-w /etc/sudoers # 恢复/etc/sudoers的默认权限
    # 为oracle设置密码 密码起码要包含字母大小写和数字,否则不通过
    passwd oracle
    # 此处开始可切换成xshell工具连接
    

    3.2 创建安装位置(root)

    # 创建/u01
    sudo mkdir /u01
    # 将/u01的权限赋给oracle用户
    sudo chown -R oracle:oracle /u01
    

    3.3 上传安装包(oracle)

    # 进入/home/oracle
    cd /home/oracle
    # 创建install目录存放软件安装包
    mkdir install
    # 进入install/上传安装包
    cd install
    rz -e # -e防止上传乱码
    

    3.4 解压安装包

    # 安装unzip(root)
    sudo yum install unzip -y
    # 解压安装包(oracle)
    unzip linuxx64_12201_database.zip
    

    3.5 执行runInstaller开始安装(oracle)

    # 进入linuxx64_12201_database/database/
    cd linuxx64_12201_database/database/
    

    进入后发现oracle对runInstaller没有执行权限

    image-20210814151655520

    # 通过root给oracle授权 744代表给文件所有者读写执行的权限,给其他用户读的权限,-R ./*代表给当前目录下所有文件授予该权限,预估安装过程中会使用其他文件
    chmod 744 -R ./*
    

    image-20210720122809084

    # 执行runInstaller(oracle)
    ./runInstaller # 如果提示需要安装Xmanager来转发x11请求,可以直接在虚拟机里运行
    

    4. 图形安装

    image-20210720123418775

    image-20210720123443683

    image-20210720123609910

    image-20210720123653667

    image-20210720123854501

    image-20210814154430700

    image-20210814154500290

    image-20210720133401755

    image-20210720133545580

    image-20210720133737822

    sudo /tmp/CVU_12.2.0.1.0_oracle/runfixup.sh
    

    image-20210720134014501

    还有一个最大堆栈大小限制以及程序包缺失需要修复

    # 修复程序包缺失(root)
    sudo yum install gcc-c++ ksh compat-libcap1 libaio-devel -y
    
    # 检查/etc/security/limits.conf
    cat /etc/security/limits.conf
    

    image-20210720134343042

    重新检查,如果还是显示失败即可勾选忽略

    image-20210720135114199

    image-20210720135159681

    image-20210720135802704

    image-20210814155539295

    image-20210720141439672

    5. 配置环境变量(oracle)

    vim /home/oracle/.bash_profile
    

    image-20210814160955808

    # 使配置生效
    source /home/oracle/.bash_profile
    # 查看配置
    echo $ORACLE_HOME
    

    image-20210720142502704

    6. 验证安装是否成功(oracle)

    # 开启监听
    
    # 使用sqlplus 登录sys用户
    sqlplus sys as sysdba
    

    image-20210814161218663

    image-20210720143725681

    image-20210720143805636

    pl/sql远程连接成功

    7. 创建oracle新用户

    一般不会通过sys去操作数据库,所以需要创建新的用户

    7.1 创建CDB用户

    # 用户名为c##osb 密码为oracle
    sql>create user c##osb identified by oracle
    # 授权 
    sql>grant dba to c##osb container=all;
    

    navicat连接

    image-20210814171506962

    7.2 创建PDB用户

    # 用户名为c##osb 密码为oracle
    sql>create user c##osb identified by oracle
    # 授权 
    sql>grant dba to c##osb;
    

    navicat连接

    image-20210814171656286

    8. 结尾

    8.1 启动oracle(oracle)

    虚拟机重启后重新启动oracle

    # 登录数据库
    sqlplus sys as sysdba
    # 启动数据库
    sql>startup;
    # 打开orclpdb
    sql>alter pluggable database orclpdb open;
    # 启动oracle监听
    lsnrctl start
    

    8.2 CDB和PDB

    image-20210720144244739

    展开全文
  • 主要介绍了Centos7下oracle12c安装与配置教程(详细),本文图文并茂通过实例代码相结合给大家讲解的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
  • CentOS7.6 安装Oracle12C(上) 这篇博客将手把手的安装CentOS7.6,下篇将手把手安装Oracle 12C 安装CentOS7.6 1.准备ISO光盘镜像 链接:[https://share.weiyun.com/W1s6LugL](https://share.weiyun.com/W1s6LugL) ...

    这篇博客将手把手的安装CentOS7.6,下篇将手把手安装Oracle 12C

    安装CentOS7.6

    1.准备ISO光盘镜像

    链接:https://share.weiyun.com/W1s6LugL  密码:s6jxi3
    

    2.新建虚拟机

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    3.启动虚拟机,开始安装

    3.1选择Install CentOS 7

    在这里插入图片描述

    3.2选择语言,别装中文(后果自负)在这里插入图片描述

    3.3 选择安装软件

    在这里插入图片描述

    在这里插入图片描述

    3.4 设置一下时区

    在这里插入图片描述

    在这里插入图片描述

    3.5 安装磁盘

    在这里插入图片描述
    在这里插入图片描述

    3.6 网络设置

    在这里插入图片描述

    在这里插入图片描述

    3.7 开始安装

    在这里插入图片描述

    3.8 设置root密码 以及创建新用户 等待安装完成

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    4 安装完成

    4.1 重启

    在这里插入图片描述

    4.2 登录并安装vmware tools

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述
    光盘镜像可以卸载了
    在这里插入图片描述
    解压出来
    在这里插入图片描述
    打开目录,并开启终端
    在这里插入图片描述

    切换到管理员

    su
    

    在这里插入图片描述
    安装gcc

    yum -y install gcc
    

    在这里插入图片描述

    修改权限

    chmod 777 vmware-install.pl
    

    执行

    ./vmware-install.pl
    

    一直回车到底

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    在这里插入图片描述

    重启生效

    reboot
    
    展开全文
  • CentOS7.6安装ORACLE 12C RAC + DATAGUARD

    千次阅读 2019-09-15 17:31:52
    解决 ORACLE 12.2 在CentOS7.6上的Bug bug: 2019/04/09 22:31:16 CLSRSC-400: A system reboot is required to continue installing. The command '/u01/app/12.2.0.1/grid/perl/bin/perl -I/u01/app/12.2.0.1/grid/...

    一. 网络设计

    #Public IP

    192.168.247.5    RAC1

    192.168.247.6    RAC2

    #Private IP

    192.168.68.5       RAC1-priv

    192.168.68.6       RAC2-priv

    #Virtual IP

    192.168.247.15       RAC1-vip

    192.168.247.16       RAC2-vip

    #Scan IP

    192.168.247.7      RAC-scan

    # DG

    192.168.247.8     DataGuard

    二.磁盘规划

    懒惰的我,装虚拟机时选择了默认

    三.内存规划

    RAC1        8g

    RAC2       8g

    DG           8g

    四.系统安装及设置

    1.安装系统

    勾选Server with GUI

    安装工具里面勾选:Performance Tools

                                    Development Tools

                                    Security Tools

                                    System  Administration Tools

    2.设置主机名(演示RAC1节点)

    vim /etc/hostname

    3.配置IP地址

    cd /etc/sysconfig/network-scripts/

    vim ifcfg-ens33

    上图网关单词写错,应该: GATEWAY

    vim ifcfg-ens34

    上图网关单词写错,应该: GATEWAY

    vim /etc/resolv.conf --添加DNS

    vi    /etc/sysconfig/network-scripts/route-ens33  ---添加静态路由

    4. 同步系统时间

    chmod +x /etc/rc.d/rc.local
    vim /etc/rc.d/rc.local
    /usr/sbin/ntpdate ntp.aliyun.com

    5. 关闭防火墙

    systemctl stop firewalld
    systemctl disable firewalld

    6. 关闭selinux

    vi /etc/selinux/config
    SELINUX=disabled

    7. 配置/etc/hosts

    #Public IP
    192.168.247.5  rac1
    192.168.247.6  rac2

    # Private IP
    192.168.68.5   rac1-priv
    192.168.68.6   rac2-priv

    # Virtual IP
    192.168.247.15  rac1-vip
    192.168.247.16  rac1-vip

    # Scan IP
    192.168.247.7  rac-scan

    # DG IP
    192.168.247.8  DataGuard
     

    8. 配置资源限制

    vi /etc/security/limits.conf
    oracle soft nproc 2047
    oracle hard nproc 16384
    oracle soft nofile 1024
    oracle hard nofile 65536
    oracle soft stack 3145728
    oracle hard stack 3145728
    oracle soft memlock 3145728
    oracle hard memlock 3145728

    grid soft nproc 2047
    grid hard nproc 16384
    grid soft nofile 1024
    grid hard nofile 65536
    grid soft stack 3145728
    grid hard stack 3145728

    9. 配置/dev/shm

    vi /etc/fstab

    tmpfs /dev/shm tmpfs defaults,size=6G 0 0
    mount -o remount /dev/shm

    10. 配置内核参数

    touch /etc/sysctl.d/97-oracledatabase-sysctl.conf

    vi /etc/sysctl.d/97-oracledatabase-sysctl.conf

    fs.aio-max-nr = 1048576
    fs.file-max = 6815744
    kernel.shmall = 1572864
    kernel.shmmax = 6442450944

    kernel.shmmni = 4096
    kernel.sem = 250 32000 100 128
    net.ipv4.ip_local_port_range = 9000 65500
    net.core.rmem_default = 262144
    net.core.rmem_max = 4194304
    net.core.wmem_default = 262144
    net.core.wmem_max = 1048576

    sysctl --system(立即生效)
    sysctl -a|grep shmmax
    sysctl -a|grep shmall

    11. 添加账户

    groupadd oinstall
    groupadd dba
    groupadd oper
    groupadd asmadmin
    groupadd asmoper
    groupadd asmdba
    useradd -g oinstall -G dba,asmoper,asmadmin,asmdba grid
    useradd -g oinstall -G dba,oper,asmdba,asmadmin oracle
    passwd grid
    passwd oracle

    id oracle
    id grid
    2个节点的用户号必须一样

    12. 创建目录

    mkdir -p /u01/app/grid  #grid的ORACLE_BASE
    mkdir -p /u01/app/12.2.0.1/grid    #grid的ORACLE_HOME,不能是包含关系
    mkdir -p /u01/app/oracle/product/12.2.0.1/db_1
    chown -R oracle:oinstall /u01
    chown -R grid:oinstall /u01/app/grid
    chown -R grid:oinstall /u01/app/12.2.0.1
    chown -R oracle:oinstall /u01/app/oracle
    chmod -R 775 /u01

    13. 配置环境变量

    Grid Infrastructure
    .bash_profile
    export ORACLE_SID=+ASM1
    export ORACLE_BASE=/u01/app/grid
    export ORACLE_HOME=/u01/app/12.2.0.1/grid
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME/bin:$PATH

    export ORACLE_SID=+ASM2
    export ORACLE_BASE=/u01/app/grid
    export ORACLE_HOME=/u01/app/12.2.0.1/grid
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
    export PATH=$ORACLE_HOME/bin:$PATH

    Oracle Database
    .bash_profile
    export ORACLE_SID=orcl1
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
    export PATH=$ORACLE_HOME/bin:$PATH

    export ORACLE_SID=orcl2
    export ORACLE_BASE=/u01/app/oracle
    export ORACLE_HOME=/u01/app/oracle/product/12.2.0.1/db_1
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
    export PATH=$ORACLE_HOME/bin:$PATH

    14. 修改/etc/nsswitch.conf

    修改行
    hosts:      files dns myhostname

    hosts:      files dns nis

    15. 关闭透明大页

    cat /sys/kernel/mm/transparent_hugepage/enabled
    [always]代表启用
    [never]代表禁用
    vi /etc/default/grub
    GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet transparent_hugepage=never"
    grub2-mkconfig -o /boot/grub2/grub.cfg
    重启系统
    cat /proc/cmdline

    16. 禁止ntp服务

    systemctl stop chronyd
    systemctl disable chronyd
    mv /etc/chrony.conf /etc/chrony.conf.bak
     

    17. 禁止avahi-daemon服务

    avahi-daemon 服务会影响 oracle的多波通信,进而导致节点重启
    因此,oracle环境下不能启用 avahi-daemon 服务
    systemctl stop avahi-daemon.service
    systemctl disable avahi-daemon.service

    18. 配置network文件

    vi /etc/sysconfig/network
    NOZEROCONF=yes

    19. 添加共享磁盘

    Share1 20G

    Share2 25G

    20. 配置共享磁盘.

    配置vmx文件,添加如下内容:
    scsi1:0.deviceType = "disk"
    scsi1:1.deviceType = "disk"
    disk.locking="false"
    diskLib.dataCacheMaxSize="0"
    diskLib.dataCacheMaxReadAheadSize="0"
    diskLib.DataCacheMinReadAheadSize="0"
    diskLib.dataCachePageSize="4096"
    diskLib.maxUnsyncedWrites="0"
    scsi1.sharedBus="virtual"
    scsi1:0.mode="independent-persistent"(设置为独立模式) -- 如果已设独立模式,可能会冲突
    scsi1:1.mode="independent-persistent"

    21.配置udev共享存储

    查看硬盘是否双节点都有加载

    fdisk -l 

    vi /etc/udev/rules.d/99-oracle-asmdevices.rules

    KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29bd302d56cea04ce113585e607", RUN+="/bin/sh -c 'mknod /dev/asmdisk1 b $major $minor; chown grid:asmadmin /dev/asmdisk1; chmod 0660 /dev/asmdisk1'"
    KERNEL=="sd*", ENV{DEVTYPE}=="disk", SUBSYSTEM=="block", PROGRAM=="/usr/lib/udev/scsi_id -g -u -d $devnode", RESULT=="36000c29e9bbd1d9724ab6823ca21bfc1", RUN+="/bin/sh -c 'mknod /dev/asmdisk2 b $major $minor; chown grid:asmadmin /dev/asmdisk2; chmod 0660 /dev/asmdisk2'"

    重启UDEV:
    systemctl restart systemd-udevd.service
    udevadm control --reload-rules
    /sbin/udevadm trigger --type=devices --action=add
    /sbin/udevadm trigger --type=devices --action=change

    22. 配置节点互信

    在安装群集时,只需要在一个节点安装软件即可,节点互信会自动把安装的软件复制到其他节点

    首先配置RAC1,RAC2 Oracle用户的节点互信

    su - oracle

    mkdir ~/.ssh

    chmod 700 ~/.ssh

    ssh-keygen -t rsa (全回车,默认即可)

    ssh-keygen -t dsa (全回车,默认即可)

    (以上节点互信命令,RAC1,RAC2均要执行)

    返回RAC1,执行(下面互信命令 RAC2不执行)

    cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

    cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

    ssh RAC2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

    ssh RAC2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

    scp ~/.ssh/authorized_keys oracle@RAC2:~/.ssh/authorized_keys

    再配置RAC1,RAC2 grid用户的节点互信

    su - grid

    mkdir ~/.ssh

    chmod 700 ~/.ssh

    ssh-keygen -t rsa (全回车,默认即可)

    ssh-keygen -t dsa (全回车,默认即可)

    (以上节点互信命令,RAC1,RAC2均要执行)

    返回RAC1,执行(下面互信命令 RAC2不执行)

    cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

    cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

    ssh RAC2 cat ~/.ssh/id_rsa.pub >>~/.ssh/authorized_keys

    ssh RAC2 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys

    scp ~/.ssh/authorized_keys grid@RAC2:~/.ssh/authorized_keys

    验证节点互信

    su - grid (两个节点都要验证)

    date ; ssh rac1 date;

    date ; ssh rac2 date;

    date; ssh rac1-priv date;

    date; ssh rac2-priv date;

    su - oracle(两个节点都要验证)

    date ; ssh rac1 date;

    date ; ssh rac2 date;

    date; ssh rac1-priv date;

    date; ssh rac2-priv date;

     

    五.安装Grid

    1. 上传 linuxx64_12201_grid_home.zip 至$ORACLE_HOME

         11g可以在任意目录安装,12C需在把grid软件放置$ORACLE_HOME,在$ORACLE_HOME下安装

    2.解压

    su - grid

    cd $ORACLE_HOME

    unzip linuxx64_12201_grid_home.zip 

    3.安装 cvuqdisk-1.0.10-1.rpm

    su root

    cd /u01/app/12.2.0.1/grid/cv/rpm

    rpm -ivh cvuqdisk-1.0.10-1.rpm

    scp cvuqdisk-1.0.10-1.rpm rac2:/opt  --在rac2安装此包

    4.在系统包里找到并安装

    compat-libcap1-1.10-7.el7.x86_64.rpm

    ksh-20120801-139.el7.x86_64.rpm

    libaio-devel-0.3.109-13.el7.x86_64.rpm

    如果联网环境的话,可以直接yum安装依赖

    yum install -y  binutils*  compat-libstdc*  elfutils-libelf*  gcc*  glibc*  ksh*  libaio*  libgcc* libstdc*  make*  sysstat*  unixODBC*  libaio-devel*  glibc-devel.i686 libaio.i686 libaio-devel.i686  libstdc++-devel.i686 unixODBC-devel.i686 compat-libcap1*  compat-libcap1.i686  expat*

    5.安装前检查环境:  ./runcluvfy.sh stage -pre crsinst -n rac1,rac2  -verbose

    6.设置VNC

    su - grid

    vncpasswd      ----设置VNC密码

    vncserver  :2  (5902端口)

    7.解决 ORACLE 12.2 在CentOS7.6上的Bug

    bug:
    2019/04/09 22:31:16 CLSRSC-400: A system reboot is required to continue installing.
    The command '/u01/app/12.2.0.1/grid/perl/bin/perl -I/u01/app/12.2.0.1/grid/perl/lib -I/u01/app/12.2.0.1/grid/crs/install /u01/app/12
    .2.0.1/grid/crs/install/rootcrs.pl ' execution failed

    在ORACLE官网查找文档1369107.1可解决此BUG

    下载补丁程序

    百度网盘:https://pan.baidu.com/s/15O04kGuW8a_j_zKMOOoLfw  提取码:n9gg

    文件名:p26247490_12201180417ACFSApr2018RU_Linux-x86-64.zip

    8.安装Grid

    ./gridSetup.sh -applyOneOffs /opt/soft/26247490/26247490   --/opt/soft/26247490/26247490为补丁解压路径
    ./opatch lspatches

    Grid安装后rac1-vip , rac-scan会出现在网卡中
    ifconfig   --检查一下

     

    六.安装ORACLE

    1.上传Oracle安装包,解压至$ORACLE_HOME

          unzip linuxx64_12201_database.zip 

    2.cd $ORACALE_HOME/database

       ./runInstaller

    3. 安装选项如下图

    DBCA

    检查 lsnrctl status
           select instance_name , status from gv$instance ;
           select * from v$dbfile

    七.DG服务器安装ORACLE单机库

     

    八.配置DataGuard

    前提条件:

    ①.RAC已经成功安装

    ②.dg备库已经安装完相同版本的Oracle软件,无需创建数据库(无需使用DBCA创建数据库)

    ③.容器数据库CDB和PDB

    不能基于PDB级别进行DG安装,且主备库的CDB开启需保持一致

             主库:非CDB  备库:非CDB

              主库:CDB    备库:CDB

    select cdb from v$database;  --查询数据库是否是CDB数据库

    开始配置:

    1.RAC开启归档

    创建归档文件存放路径(任一节点)

    su – grid
    amscmd
    cd data
    mkdir arch

    设置归档文件存放路径

    su – oracle
    sqlplus / as sysbda

    --设置默认归档文件名称, sid='*' 所有节点都生效
    alter system set log_archive_format='%t_%s_%r.arc' scope=spfile sid='*'; 
    --将所有节点的归档都存放到+data/arch
    alter system set log_archive_dest_1='LOCATION=+data/arch' scope=spfile sid='*';

    开启归档

    shutdown immediate;(两个节点都关闭)
    startup mount(启动一个节点,另一个节点自动mount)
    alter database archivelog;(一个节点执行)
    alter database open;(双节点执行) 

    或者使用群集命令关闭/开启数据库

    srvctl stop database -d orcl -o immediate

    srvctl start database -d orcl

    2.启用force logging功能(任一节点)

    select force_logging from v$database;
    alter database force logging;

    3.配置主库初始化参数

    查询数据库唯一名,如果没有唯一名,需要设置一个唯一名

    show parameter db_unique_name

    设置唯一名

    alter system set db_unique_name='orcl' scope=spfile;  --修改之后需要重启数据库
    alter system set db_unique_name=ORCL scope=spfile;  --如果不打' ' FXDB是大写

    alter system set log_archive_config='DG_CONFIG=(orcl,dg)' scope=both sid='*';

    --任一节点执行

    alter system set log_archive_dest_1='LOCATION=+data/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orcl' scope=both sid='*';

    ----设置传输日志文件参数  任一节点执行

    alter system set log_archive_dest_2='SERVICE=tnsdg LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=dg' scope=both sid='*';

    --查看standby文件管理方式 show parameter standby_file_management

    --将standby文件管理方式设置为主动

    alter system set standby_file_management=auto scope=both sid='*';

    --设置备库往主库传数据时的 路径映射

    alter system set db_file_name_convert='/orcl/app/oracle/oradata/dg','+DATA/ORCL/DATAFILE','/orcl/app/oracle/oradata/dg','+DATA/ORCL/TEMPFILE' scope=spfile sid='*';
    alter system set log_file_name_convert='/orcl/app/oracle/oradata/dg','+DATA/ORCL/ONLINELOG' scope=spfile sid='*';

    --做切换时,客户端、服务端指定,注意这是备库切换到主库, 所以备库是服务端,主库是客户端

    alter system set fal_client='tnsorcl' scope=both sid='*';
    alter system set fal_server='tnsdg' scope=both sid='*';

    --日志组大小根据 查询 SELECT * FROM v$log 主库日志大小设置

    alter database add standby logfile thread 1 group 11 ('+DATA') size 200M;
    alter database add standby logfile thread 1 group 12 ('+DATA') size 200M;
    alter database add standby logfile thread 1 group 13 ('+DATA') size 200M;

    alter database add standby logfile thread 2 group 14 ('+DATA') size 200M;
    alter database add standby logfile thread 2 group 15 ('+DATA') size 200M;
    alter database add standby logfile thread 2 group 16 ('+DATA') size 200M;

    --查看参数设置

    show parameter log 
    show parameter fal

    配置TNS

    节点rac1:
    tnsorcl =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac1)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )

    tnsdg =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = dg)(PORT = 1522))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )

    节点rac2:
    tnsorcl =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac2)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )

    tnsdg =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = dg)(PORT = 1522))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )

    拷贝密码文件

    11g及之前版本数据库中密码文件存储在$ORACLE_HOME/dbs下
    orapwSID
    12C开始,密码文件存放在ASM共享存储中。
    12cRAC中:+DATA/FXDB/PASSWORD/pwdfxdb.282.1006058263
    查询密码文件位置:
    srvctl config database -d orcl

    主库和备库的SYS密码必须一致。

    su - grid

    amscmd
    pwcopy +DATA/FXDB/PASSWORD/pwdfxdb.282.1006058263  /tmp/mypwfile
    scp  /tmp/mypwfile dg:/u01/app/oracle/product/12.2.0.1/db_1/dbs

    登录DG服务器,将密码文件改名
    mv mypwfile orapwdg

    4.配置备库:

    touch initdg.ora

    db_name='orcl'  ---与主库一致  show parameter db_name
    db_unique_name='dg'
    sga_target=2G
    pga_aggregate_target=800M
    audit_file_dest='/u01/app/oracle/admin/dg/adump' ---需备库手工创建
    compatible='12.2.0'  --与主库一致  show parameter compatible
    remote_login_passwordfile='EXCLUSIVE'
    control_files='/u01/app/oracle/oradata/dg/control01.ctl','/u01/app/oracle/oradata/dg/control02.ctl'   ---路径需备库手工创建
    log_archive_config='DG_CONFIG=(orcl,dg)'  --与主库设置保持一致
    ---设置备库归档路径
    log_archive_dest_1='LOCATION=/u01/arch VALID_FOR=(ALL_LOGFILES,ALL_ROLES) 
    DB_UNIQUE_NAME=dg'

    log_archive_dest_2='SERVICE=tnsorcl LGWR SYNC AFFIRM 
    VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl'

    log_archive_format='%t_%s_%r.arc'
    -----查询主库数据文件路径  SELECT * FROM V$dbfile
    -----查询主数据库临时文件路径  SELECT * FROM V$tempfile

    db_file_name_convert='+DATA/ORCL/DATAFILE','/u01/app/oracle/oradata/dg',
    '+DATA/ORCL/TEMPFILE','/u01/app/oracle/oradata/dg'
    ---SELECT * FROM V$LOGFILE
    log_file_name_convert='+DATA/ORCL/ONLINELOG','/u01/app/oracle/oradata/dg'
    fal_client='tnsdg'
    fal_server='tnsorcl'
    standby_file_management='AUTO'

     

    su - oracle

    mkdir -p /u01/app/oracle/admin/dg/adump

    mkdir -p /u01/app/oracle/oradata/dg
    mkdir -p /u01/arch

    sqlplus / as sysdba

    create spfile from pfile;

    startup nomount


    3.配置静态监听

    listener.ora
    LISTENER1 =
      (DESCRIPTION_LIST =
        (DESCRIPTION =
          (ADDRESS_LIST =
            (ADDRESS = (PROTOCOL = TCP)(HOST = dg)(PORT = 1522))
          )
        )
      )

    SID_LIST_LISTENER1 =
      (SID_LIST =
        (SID_DESC =
          (GLOBAL_DBNAME = orcl)
          (SID_NAME = dg)
          (ORACLE_HOME = /u01/app/oracle/product/12.2.0.1/db_1)
        )
      )

    lsnrctl start listener1

    备库为什么一定要配置静态监听?
    nomount状态下必须使用静态监听才能连接到实例


    4.tns配置


    tnsnames.ora
    tnsorcl =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = rac-scan)(PORT = 1521))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )
      
    tnsdg =
      (DESCRIPTION =
        (ADDRESS = (PROTOCOL = TCP)(HOST = dg)(PORT = 1522))
        (CONNECT_DATA =
          (SERVER = DEDICATED)
          (SERVICE_NAME = orcl)
        )
      )

     5.测试tns


    主库2节点和备库:
    tnsping tnsfxdb
    tnsping tnssbdb
    主库和备库:
    sqlplus sys/woailyoo@tnsorcl as sysdba
    sqlplus sys/woailyoo@tnsdg   as sysdba
    SELECT INSTANCE_NAME,STATUS FROM V$INSTANCE;


    使用Duplicate创建物理standby


    1.duplicate
    1.1离线--rman备份集
    1.2在线--duplicate,适合局域网
    rman target sys/woailyoo@tnsorcl  必须指定密码
    rman target /  最好不要使用---可能会有密码错误
    connect auxiliary sys/woailyoo@tnsdg

    rman target sys/woailyoo@tnsorcl auxiliary sys/woailyoo@tnsdg

    duplicate target database for standby from active database nofilenamecheck;

    添加Standby日志组并开启同步

    standby日志组:redo日志组+1 2+1
    standby日志组与redo日志组大小必须一致

    --查看主库日志组
    SELECT THREAD#,SEQUENCE#,BYTES,  MEMBERS FROM V$LOG ;
    SELECT * FROM v$logfile

    查看standby日志组:---备库查看

    select group#,thread#,sequence#,archived,status, BYTES from v$standby_log;

    备库:  --大小需根据主库 SELECT * FROM V$LOG  设置(跟主库一致)
    alter database add standby logfile thread 1 group 11 ('/u01/app/oracle/oradata/dg/stredo11.log') size 200M;
    alter database add standby logfile thread 1 group 12 ('/u01/app/oracle/oradata/dg/stredo12.log') size 200M;
    alter database add standby logfile thread 1 group 13 ('/u01/app/oracle/oradata/dg/stredo13.log') size 200M;

    alter database add standby logfile thread 2 group 14 ('/u01/app/oracle/oradata/dg/stredo14.log') size 200M;
    alter database add standby logfile thread 2 group 15 ('/u01/app/oracle/oradata/dg/stredo15.log') size 200M;
    alter database add standby logfile thread 2 group 16 ('/u01/app/oracle/oradata/dg/stredo16.log') size 200M;

    开启同步:
    alter database open;---备库

    开启redo应用(实时同步)commit

    alter database recover managed standby database disconnect; (12C)---备库

    停止redo应用----停止实实同步
    alter database recover managed standby database cancel;

    查看状态:
    select name,open_mode,database_role,protection_mode,protection_level from v$database;

    更改保护模式:

    alter database set standby database to maximize performance;最大性能
    alter database set standby database to maximize availability;最大可用 ---主备都执行
    alter database set standby database to maximize protection;最大保护

     

    测试同步:
    create table t(id int);
    insert into t values(100);
    commit;

    备库查询:
    select * from v$managed_standby;备库查询
    select * from v$standby_log;

    switchover主备切换

    1.检查是否同步(验证是否有gap)

    select status, gap_status from v$archive_dest_status where dest_id = 2;  --最保险的还要执行,insert

    2.检查主备角色

    select database_role from v$database;

    主库: primary

    备库: physical standby

    3.检查是否满足切换条件

    select name,database_role,switchover_status from v$database;

    主库: to standby  或者  session active(有会话连接)

    备库:NOT ALLOWED 

    4.验证TNS(主备都验证)

    tnsping tnsorcl

    tnsping tnsdg

    5.验证主库db_file_name_convert是否设置

    sqlplus / as sysdba

    show parameter db_file

    show parameter fal_ 

    show parameter log_file

    如果没设置则设置:

    alter system set db_file_name_convert='/orcl/app/oracle/oradata/dg','+DATA/ORCL/DATAFILE','/orcl/app/oracle/oradata/dg','+DATA/ORCL/TEMPFILE' scope=spfile sid='*';

    alter system set fal_client='tnsorcl' scope=both sid='*';
    alter system set fal_server='tnsdg' scope=both sid='*';
    alter system set log_file_name_convert='/orcl/app/oracle/oradata/dg','+DATA/ORCL/ONLINELOG' scope=spfile sid='*';

    6.添加standby redo log

    --日志组大小根据 查询 SELECT * FROM v$log 主库日志大小设置

    alter database add standby logfile thread 1 group 11 ('+DATA') size 200M;
    alter database add standby logfile thread 1 group 12 ('+DATA') size 200M;
    alter database add standby logfile thread 1 group 13 ('+DATA') size 200M;

    alter database add standby logfile thread 2 group 14 ('+DATA') size 200M;
    alter database add standby logfile thread 2 group 15 ('+DATA') size 200M;
    alter database add standby logfile thread 2 group 16 ('+DATA') size 200M;

     

    7.切换主备

    (12C新特性)主库执行:
    alter database switchover to dg verify;
    alter database switchover to dg;(执行完主库所有节点自动关闭 , 备库变为mount状态)
    alter database switchover to dg force;
    主库:shutdown
    备库:mount

    --启动新备库(原主库)

    startup

    --新备库(原主库)开启standby同步

    alter database recover managed standby database disconnect;

    --启动新主库(原备库)

    startup

    --查看新主备状态
    select name,open_mode,database_role,protection_mode,protection_level,switchover_status from v$database;

     

     

     

     

     

     

     

     

     

     

    展开全文
  • 详细介绍了centos7.6_64位下安装操作系统和数据库oracle11g的安装方法。安装失败的原因主要是在操作系统rpm包是否补全的情况。认真按照步骤操作一般都可以安装成功。
  • CentOS7.6安装Oracle12数据库,对数据库进行安装操作,配置过程非常详细,根据步骤能够搭建好; 后续继续搭建Dataguard
  • centos7离线安装oracle12c

    2018-07-27 09:45:12
    linux下离线安装oracle12c的详细安装过程文档,包括可能遇到问题的解决方案,oracle的所有可能需要的依赖包
  • 这是经过测试环境测试后,在正式环境中安装完成成功的...安装教程超级详细,CentOS7.5静默安装ORACLE12C教程,包含安装所需的配置文件db_install.rsp、dbca.rsp、netca.rsp、listener.ora、tnsnames.ora等详细信息。
  • CentOS 7.6 安装Oracle 12c

    2021-01-14 15:02:03
    下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.htmlhttps://www.oracle.com/technetwork/database/enterprise-edition/downloads/oracle12c-linux-12201-3608234.html...
  • 这篇博客手把手安装Oracle 12C 上篇文章手把手的安装CentOS7.6 1.准备oracle和jdk 链接:https://share.weiyun.com/dcQDvtWU 密码:aty07o 2.用XShell连接CentOS 2.1 安装依赖包 yum -y install binutils compat-...
  • Centos7.6oracle impdp导入和expdp导出,
  • Centos7.6 安装Oracle RAC 12.2.0.1
  • CentOS7 安装 Oracle12c

    2021-12-23 23:07:02
    文章目录 前言 一、pandas是什么? 二、使用步骤 1.... 2....示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。...import numpy as np import pandas as pd import matplotlib.pyplot as ...

空空如也

空空如也

1 2 3 4 5 ... 10
收藏数 200
精华内容 80
关键字:

centos7.6安装oracle12c