当前位置:数据库 > Oracle >>

ORACLE 11g rac+单实例数据库构建dataguard

ORACLE 11g rac+单实例数据库构建dataguard
 
一、数据库及操作系统初始环境:
准备已经安装完毕可以正常运行的RAC数据库,以及一台安装完ORACLE软件未创建数据库的。
RAC和单实例安装可以参考链接:
其中RAC做为DG的主库。
1.我的规划配置如下:
RAC   节点1:-IP192.168.1.221 主机名 bysrac1.bys.com ,以及数据库名 bysrac,Database unique name: bysrac
备库  IP 192.168.1.211 主机名racdg.bys.com,实例名 racdg,数据库名 bysrac,Database unique name: racdg
如下:
[grid@bysrac1 ~]$ cat /etc/hosts
127.0.0.1              localhost.localdomain localhost
::1             localhost6.localdomain6localhost6
192.168.1.221  bysrac1  bysrac1.bys.com
192.168.1.226   bysrac1-vip
192.168.1.222   bysrac2  bysrac2.bys.com
192.168.1.227   bysrac2-vip
192.168.10.1    bysrac1-priv
192.168.10.2    bysrac2-priv
192.168.1.228   bysrac-cluster bysrac-cluster-scan
192.168.1.211   racdg  racdg.bys.com
[grid@bysrac1 ~]$ srvctl config database -d bysrac -a
Database unique name: bysrac
Database name: bysrac
Oracle home: /u01/app/oracle/product/11.2.0/dbhome_1
Oracle user: oracle
Spfile: +BYSASMDATA/bysrac/spfilebysrac.ora
Domain: 
Start options: open
Stop options: immediate
Database role: PRIMARY
Management policy: AUTOMATIC
Server pools: bysrac
Database instances: bysrac1,bysrac2
Disk Groups: BYSASMDATA,BYSASMDG
 
备库: /etc/hosts与主库完全相同即可。
[oracle@racdg ~]$ cat .bash_profile 
ORACLE_BASE=/u01
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
ORACLE_SID=racdg
PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$PATH:$HOME/bin
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'
2.RAC数据库中各文件位置--恢复到备库时转化文件名字用
SYS@bysrac1>archive log list
Database log mode             Archive Mode
Automatic archival             Enabled
Archive destination           +BYSASMDATA
Oldest online log sequence     156
Next log sequence to archive   157
Current log sequence           157
SYS@bysrac1>show parameter recovery
NAME                               TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_recovery_file_dest               string      +BYSASMDG
db_recovery_file_dest_size          big integer 4977M
recovery_parallelism                integer     0
SYS@bysrac1>select db_unique_name,name from v$database;
DB_UNIQUE_NAME                NAME
------------------------------ ---------
bysrac                        BYSRAC
SYS@bysrac1>select name from v$datafile;
NAME
----------------------------------------------------------------------------------------------------
+BYSASMDATA/bysrac/datafile/system.259.818615175
+BYSASMDATA/bysrac/datafile/sysaux.260.818615237
+BYSASMDATA/bysrac/datafile/undotbs1.261.818615291
+BYSASMDATA/bysrac/datafile/undotbs2.263.818615365
+BYSASMDATA/bysrac/datafile/users.264.818615419
+BYSASMDATA/bysrac/datafile/test1_undo.dbf
+BYSASMDATA/bysrac/datafile/test1.dbf
BYS@bysrac1>selectname,block_size*file_size_blks/1024/1024 as bytes_m from v$controlfile;
NAME                                                BYTES_M
-------------------------------------------------- ----------
+BYSASMDATA/bysrac/controlfile/current.256.8186151    17.6875
19
+BYSASMDG/bysrac/controlfile/current.256.818615127    17.6875
BYS@bysrac1>select group#,member from v$logfile;
    GROUP# MEMBER
---------- --------------------------------------------------
         1+BYSASMDATA/bysrac/onlinelog/group_1.257.818615137
         1+BYSASMDG/bysrac/onlinelog/group_1.257.818615145
         2+BYSASMDATA/bysrac/onlinelog/group_2.258.818615153
         2+BYSASMDG/bysrac/onlinelog/group_2.258.818615163
         3+BYSASMDATA/bysrac/onlinelog/group_3.265.818619941
         3+BYSASMDG/bysrac/onlinelog/group_3.259.818619949
         4+BYSASMDATA/bysrac/onlinelog/group_4.266.818619961
         4+BYSASMDG/bysrac/onlinelog/group_4.260.818619967
二、修改RAC中初始化参数
3.在RAC主库中修改初始化参数
SQL> alter system set standby_file_management=auto scope=spfile;
SQL> alter system set log_archive_config="DG_CONFIG=(bysrac,racdg)"scope=spfile;
SQL> alter system set log_archive_dest_2="SERVICE=racdg LGWRSYNC  VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE)DB_UNIQUE_NAME=racdg" scope=spfile;
 
SQL> alter system set fal_server=racdg scope=spfile;
SQL> alter system set fal_client=bysrac;
 
SQL> alter system setdb_file_name_convert="+BYSASMDATA/bysrac/datafile/","/u01/oradata/racdg",'+BYSASMDATA/bysrac/tempfile/','/u01/oradata/racdg/' scope=spfile;
SQL> alter system set log_file_name_convert="+BYSASMDATA/bysrac/onlinelog/","/u01/oradata/racdg",'+BYSASMDG/bysrac/onlinelog/','/u01/oradata/racdg/'  scope=spfile;
SQL>create pfile='/home/oracle/initaa.ora' from spfile;    ------这里创建的PFILE第五步时候发送到备库racdg。
三、配置双方监听互相通过服务名访问
4.双方监听配置文件示例如下:
RAC的listener.ora 就使用RAC安装好后的不用修改。
[oracle@bysrac1 admin]$ cat tnsnames.ora 
BYSRAC =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = bysrac-cluster-scan)(PORT =1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = bysrac)
    )
  )
 
racdg =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = racdg)(PORT = 1521))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = racdg)
    )
  )
racdg的tnsnames.ora同上:
[oracle@racdg admin]$ cat listener.ora 
 
LISTENER =
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,