Oracle DG部署(RMAN方式)
1.环境介绍
2.DG部署
2.1.建立主库orcl
2.2.主库开启归档
主库开启归档并设置强制日志 force logging
--关闭数据库
SQL> shutdown immediate
--以mount模式启动
SQL> startup mount
--切换到归档模式
SQL> alter database archivelog;
--开启强制日志
SQL> alter database force logging;
--打开数据库
SQL> alter database open;
--查看归档
SQL> archive log list;
--查看是否为强制日志
SQL> select force_logging from v$database;
(先备份再添加Standby Redo Log)
2.4 备份数据库
run {
allocate channel d1 type disk ;
allocate channel d2 type disk ;
backup as compressed backupset database plus archivelog format '/u01/app/backup/db_%d_%s_%p_%I.bak' ;
sql 'alter system archive log current';
backup as compressed backupset archivelog all format '/u01/app/backup/log_%d_%s_%p_%I.bak';
backup current controlfile format '/u01/app/backup/ctl_%d_%s_%p_%I.bak';
crosscheck backup;
}
2.5 开启强制日志
--开启强制日志
SQL> alter database force logging;
--查看是否为强制日志
SQL> select force_logging from v$database;
2.6 从主库创建pfile文件
创建pfile文件, 默认路径为$ORACLE_HOME/dbs,此处为/u01/app/oracle/product/11.2.0/dbhome_1/dbs/,在sqlplus里执行以下命令
SQL> create pfile from spfile;
将主库的pfile复制到备库/u01/app/oracle/product/11.2.0/dbhome_1/dbs/下
cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/
scp initorcl.ora db12:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
2.7 主库上为备库建立控制文件
alter database create standby controlfile as '/u01/backup/control01.ctl' reuse;
2.8复制主库的密码文件到备库
将密码文件orapworcl复制到备库的/u01/app/oracle/product/11.2.0/dbhome_1/dbs/下
cd /u01/app/oracle/product/11.2.0/dbhome_1/dbs/
scp orapworcl db12:/u01/app/oracle/product/11.2.0/dbhome_1/dbs/
2.9创建备库相应的目录结构
使用oracle用户创建目录,避免权限问题
2.10配置主库和备库的监听(不停机可暂时不配)
主库:
在主库监听listener.ora中添加
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0.4/db_1)
(SID_NAME = orcl)
)
)
GLOBAL_DBNAME参数格式:<db_unique_name>_DGMGRL.<db_domain> 的连接,并且db_unique_name 大小写敏感。
备库:
在备库库监听listener.ora中添加
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = orcl2_DGMGRL)
(ORACLE_HOME = /u02/oracle/product/11.2.0.4/db_1)
(SID_NAME = orcl)
)
)
重载监听
lsnrctl reload
2.11 配置主库和备库的网络服务名
主库:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle-dg)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
(UR=A) 静态链接数据库
)
)
备库:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle-dg)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = rac)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
ORCL2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP