RAC静默安装与DG搭建





一、主机配置



1、节点1:



① 内存:15.57GB



② SWAP交换空间大小:2GB



③ 根目录挂载磁盘:48GB



④ HOSTNAME:vmrac-01



⑤ 网卡:eth0 172.16.40.162、eth1 172.16.2.165



2、节点2:



① 内存:15.57GB



② SWAP交换空间大小:2GB



③ 根目录挂载磁盘:97GB



④ HOSTNAME:vmrac-02







二、检查服务和缺失的RPM包



1、查看防火墙和SELINUX



① 防火墙:



   service iptables status    // 查看防火墙的状态



   service iptables stop     // 关闭防火墙



   chkconfig --list iptables   // 查看下次开机是否自动打开服务



   chkconfig iptables off    // 关闭下次开机自动打开服务



  ② SELINUX:



     vi /etc/selinux/config



       SELINUX=disable





2、取消系统的ntp设置,采用 oracle 自带的时间同步服务



 禁用ntp:



   service ntpd stop



   chkconfig ntpd off



   rm -rf /var/run/ntpd.pid



   mv /etc/ntp.conf  /etc/ntp.conf.org 





3、配置yum,检查oracle所需的包:(参见联机文档《Grid Infrastructure Installation Guide for Linux》2.8.2)



rpm -qa | grep binutils                 (x86_64)



  rpm -qa | grep glibc                   (x86_64 & i686)



  rpm -qa | grep glibc-headers            (x86_64)



  rpm -qa | grep glibc-common



  rpm -qa | grep glibc-devel              (x86_64 & i686)



 *rpm -qa | grep pdksh                  (i686)   



 *rpm -qa | grep ksh   



  rpm -qa | grep libaio                   (x86_64 & i686)



 *rpm -qa | grep libaio-devel             (x86_64 & i686)



  rpm -qa | grep libgcc                  (x86_64 & i686)



  rpm -qa | grep libstdc++                (x86_64 & i686)



 *rpm -qa | grep libstdc++-devel           (x86_64 & i686)



 *rpm -qa | grep compat-libstdc++-33      (x86_64 & i686)



  rpm -qa | grep make                   (x86_64)



  rpm -qa | grep gcc                     (x86_64)       



 *rpm -qa | grep gcc-c++                 (x86_64)       



  rpm -qa | grep sysstat                  (x86_64)       



 *rpm -qa | grep compat-libcap1           (x86_64)



 *rpm -qa | grep numactl-devel            (x86_64)



 *rpm -qa | grep libXp                    (x86_64)



 *rpm -qa | grep unixODBC



 *rpm -qa | grep unixODBC-devel



  rpm -qa | grep elfutils-libelf              (x86_64)



 *rpm -qa | grep elfutils-libelf-devel         (x86_64)



  rpm -qa | grep tigervnc-server





注:其中带*的为此次安装需要安装的包





4、 安装rlwrap



   安装rlwrap是为了sqlplus、rman、asmcmd方便编辑命令。使用源码包或则RPM包装,在源码包安装的时候可能需要安装以下包:



     yum install readline



     yum install readline-devel



三、修改linux核心参数和资源限制



1、修改核心参数



   vi /etc/sysctl.conf



fs.aio-max-nr = 1048576



fs.file-max = 6815744



kernel.shmall = 8388608              //共享内存总量,以页为单位。推荐设置为物理内存大小除以分页大小,Linux 共享内存页大小为4KB



kernel.shmmax = 16725073919        //Linux进程可以分配的单独共享内存段的最大值,shmmax最大为内存大小减1,要大于一半的内存量



kernel.shmmni = 4096                //共享内存段的最大数量,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 = 1048586





sysctl -p 生效



     



2、修改oracle和grid用户资源限制:



① vi /etc/security/limits.conf



oracle              soft     nproc   2047



oracle              hard    nproc   16384



oracle              soft     nofile  1024



oracle              hard    nofile  65536



oracle              soft      stack   10240



grid                soft     nproc   2047



grid                hard    nproc   16384



grid                soft     nofile  1024



grid                hard    nofile  65536



grid                soft     stack   10240





修改后  ulimit -a  查看





② shell资源         资源名        软限制           硬限制



打开文件描述符   nofile         最小1024             最小65536



单个用户可用进程数  nproc         最小2047             最小16384



进程堆栈段的大小  stack         最小10240 KB       最小10240KB,通常32768KB



③ 查看用户的上述资源限制:



oracle用户:



ulimit -Sn                   nofile 软限制



ulimit -Hn                   nofile 硬限制



ulimit -Su                   nproc 软限制



ulimit -Hu                   nproc 硬限制



ulimit -Ss                   stack   软限制



ulimit -Hs                   stack   硬限制



grid用户略





四、创建用户及相应目录并修改权限



1、创建组和用户



   groupadd -g 500 oinstall  



   groupadd -g 501 asmadmin



   groupadd -g 502 asmdba



   groupadd -g 503 asmoper



   groupadd -g 504 dba



   groupadd -g 505 oper





useradd -g oinstall -G asmadmin,asmdba,asmoper,dba -u 500 grid



  useradd -g oinstall -G asmdba,dba,oper -u 501 oracle



  passwd Dtoracle123#



  passwd Dtoracle123#





2、创建grid 和oracle的安装目录,并修改属性



  mkdir -p /u01/app/oracle/product/11.2.0/db_1



  mkdir -p /u01/app/grid_base



  mkdir -p /u01/app/grid_home



  chmod -R 775 /u01



  chown -R oracle:oinstall /u01



  chown -R grid:oinstall /u01/app/grid_base



  chown -R grid:oinstall /u01/app/grid_home



3、修改oracle 、grid的环境变量



 ① grid:



   umask 022



   ORACLE_BASE=/u01/app/grid_base



   ORACLE_HOME=/u01/app/grid_home



   ORACLE_SID=+ASM1



   PATH=$ORACLE_HOME/bin:$PATH



   export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH



  



   #export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'



   #export NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SSXFF'



   #alias sqlplus='rlwrap sqlplus'



   #alias asmcmd='rlwrap asmcmd'



② oracle



   umask 022



   ORACLE_BASE=/u01/app/oracle



   ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1



   ORACLE_SID=rac1



   PATH=$ORACLE_HOME/bin:$PATH



   export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH



   #export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/usr/lib



   #export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms



          /jlib  



   #export TNS_ADMIN=$ORACLE_HOME/network/admin



   #export NLS_LANG="simplified chinese"_china.al32utf8



   #export NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS'



   #export NLS_TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SSXFF'



   #export NLS_TIMESTAMP_TZ_FORMAT='YYYY-MM-DD HH24:MI:SSXFF TZR'



   #alias sqlplus='rlwrap sqlplus'



   #alias rman='rlwrap rman'





五、修改/etc/hosts文件



   vi /etc/hosts



    192.168.3.88 vmrac-01



    略



六、配置共享磁盘,采用UDEV方式



① ll /dev/sd*:



  brw-rw---- 1 root disk 8,  0 12月 12 10:58 /dev/sda



  brw-rw---- 1 root disk 8, 16 12月 12 10:58 /dev/sdb



  brw-rw---- 1 root disk 8, 32 12月 12 10:58 /dev/sdc



② [root@vmrac-01 rules.d]# scsi_id --whitelisted --replace-whitespace --device=/dev/sda



368886030000010f9fa16eb9563779565



[root@vmrac-01 rules.d]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdb



36888603000002210fa16eb9563779565



[root@vmrac-01 rules.d]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdc



36888603000002211fa16eb9563779565



  [root@vmrac-01 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdd



3688860300000195cfa16eb9563779565



[root@vmrac-01 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sde



368886030000019a4fa16eb9563779565



[root@vmrac-01 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdf



36888603000001959fa16eb9563779565



[root@vmrac-01 ~]# scsi_id --whitelisted --replace-whitespace --device=/dev/sdg



36888603000001f01fa16eb9563779565





③ vi 90-oracle-asmdevices.rules



KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="3688860300000195cfa16e



b9563779565", NAME="asmdisk1", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"



KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="36888603000002210fa16e



b9563779565", NAME="asmdisk2", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"



KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="36888603000002211fa16e



b9563779565", NAME="asmdisk3", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"



KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="368886030000010f9fa16e



b9563779565", NAME="asmdisk4", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"



KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="368886030000010f9fa16e



b9563779565", NAME="asmdisk5", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"



KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="368886030000010f9fa16e



b9563779565", NAME="asmdisk6", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"



KERNEL=="sd*", BUS=="scsi", PROGRAM=="/sbin/scsi_id i --whitelisted --device=/dev/$name", RESULT=="368886030000010f9fa16e



b9563779565", NAME="asmdisk7", ACTION=="add|change", OWNER="grid",GROUP="asmadmin", MODE="0660"





start_udev  



    ll /dev/asmdisk* 



 注:sda、sdb、sdc用于创建OCR磁盘,sdd、sde用于DATA磁盘,sdf、sdg用于FRA磁盘





七、检查时间



vmrac-01和vmrac-02时间必须一致(用date看)





八、建立主机间的信任关系



1、 执行脚本



./sshUserSetup.sh -user grid -hosts "vmrac-01 vmrac-02" - noPromptPassphrase -confirm -advanced 



2、 手工建立



    su - grid



    mkdir .ssh



    ssh-keygen -t rsa



    ssh-keygen -t dsa



    cat /home/grid/.ssh/id_rsa.pub >> /home/grid/.ssh/authorized_keys



    cat /home/grid/.ssh/id_dsa.pub >> /home/grid/.ssh/authorized_keys





    scp 114.116.150.85:/home/grid/.ssh/id_dsa.pub /home/grid



    scp 114.116.150.85:/home/grid/.ssh/id_rsa.pub /home/grid



    cat /home/grid/id_rsa.pub >> /home/grid/.ssh/authorized_keys



    cat /home/grid/id_dsa.pub >> /home/grid/.ssh/authorized_keys



    scp /home/grid/.ssh/authorized_keys 114.116.150.85:/home/grid/.ssh/





    su - oracle



    mkdir .ssh



    ssh-keygen -t rsa



    ssh-keygen -t dsa



    cat /home/oracle/.ssh/id_rsa.pub >> /home/oracle/.ssh/authorized_keys



    cat /home/oracle/.ssh/id_dsa.pub >> /home/oracle/.ssh/authorized_keys



    



    scp 114.116.150.85:/home/oracle/.ssh/id_dsa.pub /home/oracle



    scp 114.116.150.85:/home/oracle/.ssh/id_rsa.pub /home/oracle



    cat /home/oracle/id_rsa.pub >> /home/oracle/.ssh/authorized_keys



    cat /home/oracle/id_dsa.pub >> /home/oracle/.ssh/authorized_keys



    scp /home/oracle/.ssh/authorized_keys 114.116.150.85:/home/oracle/.ssh/





九、安装软件



1、RAC层次架构





  

rac和ha的架构比对方案 rac对rac dg搭建_数据库




① 存储层


RAC是一个多实例、单数据库的系统。数据文件、联机日志、控制文件、甚至归档日志等文件在一个集群中只有一份。所有节点都平等地使用这些文件。共享数据一般都是采用EMC等存储阵列,每个服务器通过HBA卡和光纤线连接到存储。


② 网络层


在整个RAC环境中,实际上有3个网络存在:


1)由Public网卡接入的网络,用于对外提供数据查询等服务


2)由Private网卡组成的私有网络;提供心跳和缓存融合


3)存储设备、光纤适配器提供,提供SCSI存储数据


③ 集群件层


单实例环境下,Oracle是运行在OS kernel之上。RAC环境下,存储设备是共享的。如果还依赖OS Kernal的服务,就无法保证多个主机间的协调工作,这时就需要引入额外的控制机制,这个机制就是位于Oracle和OS Kernel之间的CRS,它会在OS Kernel之前截获请求,然后和其他节点上的CRS协商,最终完成上层的请求。


④ 应用层


集群环境之所以能够提供高可用性,是因为CRS对运行于其上的应用进行监视,并在发生异常进行重启、切换等干预手段。这些被CRS监控的对象就叫做CRS Resource。


CRS Resource 有两类:


1)、Nodeapp包括


GSD(Global Service Daemon)、ONS(Oracle Notification Service Daemon)、VIP、Listener


2)、database -related resource包括


Database、Instance和Service



⑤、两节点RAC软件结构


 

rac和ha的架构比对方案 rac对rac dg搭建_操作系统_02

 



2、安装grid软件


  ① su - grid


    解压安装介质、


  ② 使用runcluvfy.sh 来执行安装前的预检查,来避免由于环境配置引发的安装失败问题。


    su - grid


    cd /u01/software/grid


    /u01/software/grid/runcluvfy.sh stage -pre crsinst -n vmrac-01,vmrac-02 -verbose


    检查完成后


    cd /u01/software/grid/respone


    cat grid_install.rsp | grep -v ^# | grep -v ^$ >> grid.rsp


    vi grid.rsp


oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v11_2_0


                               // 标注响应文件版本


ORACLE_HOSTNAME=vmrac-01     //主机名


INVENTORY_LOCATION=/u01/app/oraInventory  //指定产品清单oracle inventory目录的路径


SELECTED_LANGUAGES=en               //指定语言


oracle.install.option=CRS_CONFIG   


ORACLE_BASE=/u01/app/grid_base        //grid的BASE和HOME目录


ORACLE_HOME=/u01/app/grid_home 


oracle.install.asm.OSDBA=asmdba          //添加所需要的组


oracle.install.asm.OSOPER=asmoper 


oracle.install.asm.OSASM=asmadmin 


oracle.install.crs.config.gpnp.scanName=vmrac-scan  //scan 名,要与hosts对应


oracle.install.crs.config.gpnp.scanPort=1521       //listener对外服务端口


oracle.install.crs.config.clusterName=hwy-cluster   //cluster 名称


oracle.install.crs.config.gpnp.configureGNS=false   


oracle.install.crs.config.gpnp.gnsSubDomain=


oracle.install.crs.config.gpnp.gnsVIPAddress=  


oracle.install.crs.config.autoConfigureClusterNodeVIP=false


oracle.install.crs.config.clusterNodes=vmrac-01:vmrac-01-vip,vmrac-02:vmrac-02-vip 


                      // 配置网络信息,格式为:node1:node1-vip,node2:node2-vip


oracle.install.crs.config.networkInterfaceList=eth0:172.15.22.0:1,eth1:172.15.1.0:2


                      // 格式为: eth0:141.88.24.0:1,eth1:10.2.1.0:2,eth2:141.88.52.0:3


oracle.install.crs.config.storageOption=ASM_STORAGE      //配置存储形式


oracle.install.crs.config.sharedFileSystemStorage.diskDriveMapping=


oracle.install.crs.config.sharedFileSystemStorage.votingDiskLocations=


oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=


oracle.install.crs.config.sharedFileSystemStorage.ocrLocations=


oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=  



oracle.install.crs.config.useIPMI=false         //配置 IPMI


oracle.install.crs.config.ipmi.bmcUsername=


oracle.install.crs.config.ipmi.bmcPassword=  



oracle.install.asm.SYSASMPassword=     //配置ASM


oracle.install.asm.diskGroup.name=CRS   // 磁盘的名字


oracle.install.asm.diskGroup.redundancy=NORMAL   //选择冗余方式


oracle.install.asm.diskGroup.AUSize=4           //设置AU为4M


oracle.install.asm.diskGroup.disks=/dev/asmdisk1,/dev/asmdisk2,/dev/asmdisk3 


//选择要添加的磁盘


oracle.install.asm.diskGroup.diskDiscoveryString=/dev/asmdisk*  


oracle.install.asm.monitorPassword=      //密码


oracle.install.crs.upgrade.clusterNodes=


oracle.install.asm.upgradeASM=false


oracle.installer.autoupdates.option=SKIP_UPDATES


oracle.installer.autoupdates.downloadUpdatesLoc=


AUTOUPDATES_MYORACLESUPPORT_USERNAME=


AUTOUPDATES_MYORACLESUPPORT_PASSWORD=


PROXY_HOST=


PROXY_PORT=0


PROXY_USER=


PROXY_PWD=


PROXY_REALM=


   


③ 执行脚本


./runInstaller -responseFile /u01/software/grid/response/grid.rsp -silent -ignorePrereq -ignoreSysPrereqs -showProgress


在两个节点分别执行脚本


vmrac-01:/u01/app/oraInventory/orainstRoot.sh


vmrac-02:/u01/app/oraInventory/orainstRoot.sh


vmrac-01:/u01/app/grid_home/root.sh


  (可以通过tail -f /u01/app/grid_home/install/root_vmrac-01_2017-12-13_10-06-24.log


查看安装进度)


vmrac-02:/u01/app/grid_home/root.sh


   (可以通过tail -f /u01/app/grid_home/install/root_vmrac-02_2017-12-13_11-31-26.log


查看安装进度)



如果在安装过程中报错运行/u01/app/grid_home/crs/install/roothas.pl -deconfig -force -verbose)修改后再次执行脚本。



④ Grid安装完成后的检查工作


   crsctl check crs


   crsctl stat res -t


   olsnodes -n


   srvctl status asm -a


   ocrcheck


   crsctl query css votedisk


3、安装oracle软件


  ① 解压安装包


  ② 配置oracle信任关系


     ./sshUserSetup.sh -user oracle -hosts "vmrac-01 vmrac-02" - noPromptPassphrase -confirm -advanced


     (如果在之前配置了就不用重新配置)


  ③ 执行脚本


     ./runInstaller -silent -debug  -force -ignoreSysPrereqs -ignorePrereq \


FROM_LOCATION=/u01/software/database/stage/products.xml \ 


oracle.install.option=INSTALL_DB_SWONLY \ 


UNIX_GROUP_NAME=oinstall \ 


INVENTORY_LOCATION=/u01/app/oraInventory \ 


ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 \ 


ORACLE_BASE=/u01/app/oracle \ 


oracle.install.db.InstallEdition=EE \ 


oracle.install.db.isCustomInstall=false \ 


oracle.install.db.DBA_GROUP=dba \ 


oracle.install.db.OPER_GROUP=oinstall \ 


oracle.install.db.CLUSTER_NODES=vmrac-01,vmrac-02 \ 


DECLINE_SECURITY_UPDATES=true



如果在执行过程中报 


    Before you can install Oracle RAC, you must install Oracle Grid Infrastructure on all servers (Oracle Clusterware and Oracle ASM) to create a cluster.


   修改/u01/app/oraInventory/ContentsXML/inventory.xml


     <HOME NAME="Ora11g_gridinfrahome1" LOC="/u01/app/grid_home" TYPE="O" IDX="1" CRS="true">


     将CRS改为true


4、配置监听


grid用户执行


netca -silent -responsefile /u01/app/grid_home/assistants/netca/netca.rsp


5、创建DATA和FRA磁盘组


①asmca -silent -createDiskGroup -sysAsmPassword 123123 -diskString '/dev/' -diskGroupName DATA -diskList '/dev/asmdisk4,/dev/asmdisk5,/dev/asmdisk6' -redundancy EXTERNAL -compatible.asm 11.2 -compatible.rdbms 11.2



②asmca -silent -createDiskGroup -sysAsmPassword 123123 -diskString '/dev/' -diskGroupName FRA -diskList '/dev/asmdisk7' -au_size 4 -redundancy EXTERNAL -compatible.asm 11.2 -compatible.rdbms 11.2



十、搭建DG


1、主备机信息


① rac-01:                                   rac-02:


     192.168.3.88 vmrac-01                      192.168.3.88 vmrac-01


     略 





②  vmrac-01:                                  vmrac02:


     192.168.3.88 vmrac-01                       192.168.3.88 vmrac-01


     略


  



     db_name  ins_name  hostname  db_uniq_name  service_dbname  tnsnames


rac-01    orcl    orcl1     rac-01     orcl           orcl           orcltds


rac-02    orcl    orcl2     rac-02     orcl           orcl           orcltds


vmrac-01  vmorcl  orcle1    vmrac-01  vmorcl         vmorcl         vmorcltds


vmrac-02  vmorcl  orcl2     vmrac-02  vmorcl         vmorcl         vmorcltds



2、修改控制文件参数


  主机:


   ①alter database force logging;


   ②alter system set log_archive_config='DG_CONFIG=(orcl,vmorcl)';


   ③alter system set log_archive_dest_1='location=+FRA valid_for=(all_logfiles,all_roles) db_unique_name=orcl';


   ④alter system set log_archive_dest_2='service=vmorcltds LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=vmorcl';


   ⑤LOG_ARCHIVE_DEST_STATE_1=ENABLE,LOG_ARCHIVE_DEST_STATE_2=ENABLE (默认是enable)


   ⑥alter system set fal_server=vmorcltds;


   ⑦alter system set standby_file_management='AUTO';


 备机:


   ①alter database force logging;


   ②alter system set log_archive_config='DG_CONFIG=(orcl,vmorcl)';


   ③alter system set log_archive_dest_1='location=+FRA valid_for=(all_logfiles,all_roles) db_unique_name=vmorcl';


   ④alter system set log_archive_dest_2='service=vmorcltds LGWR ASYNC valid_for=(online_logfiles,primary_role) db_unique_name=orcl';


   ⑤LOG_ARCHIVE_DEST_STATE_1=ENABLE,LOG_ARCHIVE_DEST_STATE_2=ENABLE (默认是enable)


   ⑥alter system set fal_server=orcltds;


   ⑦alter system set standby_file_management='AUTO';


   ⑧alter system set REMOTE_LISTENER='vmrac-scan:1521'



3、创建审计目录


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


4、生成数据库全备,传到备机


  主机:


   ①rman target /


   ②backup current controlfile for standby format '/u01/software/backup/std.con'     


   ③ backup database format '/u01/software/backup/db_%U.bak'


  备机:


    scp 172.16.35.153:/u01/software/backup/db_1msm1f6t_1_1.bak ./


    scp 172.16.35.153:/u01/software/backup/std.con ./


    scp 172.16.35.153:/u01/app/oracle/product/11.2.0/db_1/dbs/orapworcl1 /u01/app/oracle/product/11.2.0/db_1/dbs/orapwvmorcl1


           (分别拷贝到各自节点上,SID要对应)


       


   新建一个哑参,对应主机在备机asm上创建相应目录


    ①rman target /


    ②restore spfile to '+DATA/racdb/spfile' from '/u01/software/backup/db_%U.bak';


    ③shutdown immediate之后以asm中的spfile启动,在启动之前要设置sga和pga的,备机内存要比主机小(主机128G,备机16G)


    ④vi /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl1.ora


              SPFILE='+DATA/orcl/spfileorcl.ora'


            (节点2也相应创建)


    ⑤startup nomount


           restore standby controlfile from '/u01/software/backup/std.con'


    ⑥备机修改参数,参照修改控制文件中备机


    ⑦alte database mount


           rman target /


             catalog start with '/u01/software/backup'


             lsit backup


             restore database;


    ⑧节点1启动不了数据库,修改参数


         alter system set cluster_interconnects = '172.16.2.166' scope=spfile sid='orcl1' ;


         alter system set cluster_interconnects = '172.16.2.167' scope=spfile sid='orcl2' ;


    ⑨添加standby日志组,clear logfile  


        alter database add standby logfile thread 1 ('+DATA/vmorcl/onlinelog/std_redo01_1.log','+DATA/vmorcl/onlinelog/std_redo01_2.log') size 512M;


             .......


        alter database add standby logfile thread 1 ('+DATA/vmorcl/onlinelog/std_redo06_1.log','+DATA/vmorcl/onlinelog/std_redo06_2.log') size 512M;


       alter database add standby logfile thread 2 ('+DATA/vmorcl/onlinelog/std_redo07_1.log','+DATA/vmorcl/onlinelog/std_redo07_2.log') size 512M;


            ......


       alter database add standby logfile thread 2 ('+DATA/vmorcl/onlinelog/std_redo12_1.log','+DATA/vmorcl/onlinelog/std_redo12_2.log') size 512M;



       alter database clear logfile group 1;


             ......



5、配置监听


    vi /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora


        orcltds =


          (DESCRIPTION =


              (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.40.155)(PORT = 1521))


              (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.40.156)(PORT = 1521))


              (LOAD_BALANCE = yes)


            (CONNECT_DATA =


              (SERVER = DEDICATED)


              (SERVICE_NAME = orcl)


             )


           )



       vmorcltds =


         (DESCRIPTION =


             (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.40.163)(PORT = 1521))


             (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.40.164)(PORT = 1521))


             (LOAD_BALANCE = yes)


           (CONNECT_DATA =


             (SERVER = DEDICATED)


             (SERVICE_NAME = vmorcl)


            )


          )


     分别在主备节点上远程连接测试



6、查看归档日志是否传到备机


      select name from v$archived_log;


    查看DG的几个进程RFS,LNS,MRP,LSP的状态


      select process,sid,status from v$managed_standby;


    备机应用日志:


      recover managed standby database using current logfile disconnect from session;


    DG搭建完成!