环境说明:
源库:
单实例:
CPU:12
MEM:8G
操作系统:Linux 2.6.18-194.el5
IP地址:10.10.10.222
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_3 南京OCP培训
DB_NAME=orcl
db_unique_Name=orclpri
DATAGUARD目标库:
单实例
CPU:4
MEM:6G
操作系统:Linux 2.6.18-194.el5
10.10.10.226
DB_NAME=oem
db_unique_name=dgtest
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_6 南京OCP培训
配置步骤
一、源库设置强制归档:
alter database force logging;
二、源库设置初始化参数
alter system set LOG_ARCHIVE_CONFIG='DG_CONFIG=(orclpri,orclstd)'scope=both;
alter system set LOG_ARCHIVE_DEST_1='LOCATION=/data/logarchive01/';
alter system set LOG_ARCHIVE_DEST_2='SERVICE=orclstd LGWR AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orclstd'scope=both; 南京OCP培训
alter system set log_archive_format='%t_%s_%r.arc'scope=spfile;
alter system set log_archive_max_processes=4 scope=both;
alter system set fal_server=orclstd scope=both;
alter system set DB_FILE_NAME_CONVERT='/u01/app/oracle/oradataorcl/orcl','/u01/app/oracle/oradata/orclstd'scope=spfile;
alter system set LOG_FILE_NAME_CONVERT='/u01/app/oracle/oradataorcl/orcl','/u01/app/oracle/oradata/orclstd'scope=spfile;
alter system set standby_file_management=AUTO scope=both;
三、重启源库,设置为归档模式
sqlplus / as sysdba
shutdown immediate
startup mount;
alter database archivelog;
四、源库建立standby redolog:
alter database add standby logfile group 5 ' /u01/app/oracle/oradataorcl/orclstandby_group_05.log' size 50m;
alter database add standby logfile group 6 ' /u01/app/oracle/oradataorcl/orclstandby_group_06.log' size 50m;
alter database add standby logfile group 7 ' /u01/app/oracle/oradataorcl/orclstandby_group_07.log' size 50m;
alter database add standby logfile group 8 ' /u01/app/oracle/oradataorcl/orclstandby_group_08.log' size 50m;
五、源库rman备份整个库:
run
{
sql "alter system switch logfile";
allocate channel ch1 type disk format '/dbfs_backup/Primary_for_DG_%U';
backup database;
backup current controlfile for standby;
sql "alter system archive log current";
}
用scp 将源库的备份复制到备库同样的目录下;
scp /dbfs_backup/* 10.10.10.226:$PWD
create pfile='/dbfs_backup/initorclstd.ora' from spfile;
scp /dbfs_backup/initorclstd.ora 10.10.10.226:/u01/app/oracle/product/11.2.0/dbhome_6/dbs
七、修改oracle的sys密码,保持源库和目标库一致:
orapwd file=/u01/app/oracle/11.2.0/db_1/dbs/orapworcl password=oracle force=y
scp /u01/app/oracle/11.2.0/dbhome_3/dbs/orapworcl 10.10.10.226:/app/oracle/112.0/dbhome_6/dbs/orapwstd
八、源库:修改的tnsnames.ora文件,添加源库和目标库的配置:
orclpri =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.222)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclpri)
)
)
orclstd =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.226)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orclstd)
)
九、目标库:配置监听,服务手动注册
vi listener.ora
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.10.226)(PORT = 1521))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orclpri)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/dbhome_6)
(GLOBAL_DBNAME = orclpri)
)
启动监听器:lsnrctl start
十、目标库:nomount启动数据库:
startup nomount
十一、源库端:rman建立dataguard数据库:
rman target / auxiliary sys/oracle@orclstd
DUPLICATE TARGET DATABASE FOR STANDBY NOFILENAMECHECK;
十二、目标库(南京OCP培训):创建spfile
create spfile from pfile;
十三、源库:设置为最大可用模式。
alter database set standby database to maximize availability;
十四、目标库:启动日志应用(南京OCP培训):
alterdatabase recover managed standby database disconnect from session;
十五、测试效果: