当前位置:首页 > ORACLE LINUX 11G RAC 单实例DATAGUARD - 图文
十三、 目标库:建立所需目录结构:
oracle下:
mkdir -p /app/oracle/admin/oem_dg/adump mkdir -p /oradata/oem_dg/controlfile/
mkdir -p /app/oracle/diag/rdbms/oem_dg/oem/trace/cdump root下:
mkdir /backup
chown oracle:oinstall /backup
十四、 目标库:修改tnsnames,添加源库和目标库配置
OEM =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = scan11g.fawcar.com.cn)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED) (SERVICE_NAME = oem) ) )
OEM_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST=10.135.161.241)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oem_dg) (SID=oem) ) )
OEM1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST=10.135.33.170)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED) (SERVICE_NAME = oem) (SID=oem1) ) )
OEM2 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST=10.135.33.171)(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = oem) (SID=oem2) ) )
十五、 目标库:nomount启动数据库:
export ORACLE_SID=oem
sqlplus sys as sysdba
startup nomount pfile='/app/standby_pfile.ora';
报错,这个问题是由于设置SGA的大小超过了操作系 统/dev/shm的大小:
这里MEMORY_TARGET设置为4096M,而/dev/shm仅有2983M
Oracle在metalink的文档:Doc ID:Note:460506.1中进行了说明。解决这个问题只有两个方 法,一种是修改初始化参数,使得初始化参数中SGA的设置小于/dev/shm的大小,另一种方法就是调整/dev/shm的 大小。
通过/dev/fstab修改/dev/shm大小,如下:
启动数据库:
十六、 源库端:rman建立dataguard数据库:
rman target / auxiliary sys/Oracle11@oem_dg
DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;
十七、 目标库:创建spfile
create spfile from pfile='/app/standby_pfile.ora';
十八、 源库:设置为最大可用模式。 alter database set standby database to maximize availability;
十九、 目标库:启动日志应用:
alter database recover managed standby database disconnect from session;
二十、 测试效果:
源库:
create table my as select * from user_tables;
alter system switch logfile;
目标库:
tail –f /app/oracle/diag/rdbms/oem_dg/oem/trace/ alert_oem.log
二十一、
检查日志传输:
SELECT a.th, a.seq transfered, b.seq archived
FROM (SELECT local.thread# th, MAX (local.sequence#) seq FROM (SELECT thread#, sequence# FROM v$archived_log WHERE dest_id = 1) local WHERE local.sequence# IN (SELECT sequence# FROM v$archived_log
WHERE dest_id = 2 AND thread# = local.thread#) GROUP BY local.thread#) a,
(SELECT thread# th, MAX (sequence#) seq FROM v$archived_log WHERE dest_id = 1 GROUP BY thread#) b WHERE a.th = b.th ORDER BY 1;
共分享92篇相关文档