一,DG搭建实例--主库配置
one : 归档配置
01,查看归档
1 select log_mode,force_logging from v$database;
02,开启归档
关闭数据库重新启动到mount阶段
shutdown immediate
startup mount
03,改成归档模式和强制 logging
SQL> alter database archivelog;
Database altered.
SQL> alter database force logging;
Database altered.
再次查看:
04,改变归档目录
!mkdir /u01/app/oracle/oradata/oracle01/archivelog
!ls /u01/app/oracle/oradata/oracle01/
alter system set log_archive_dest_1='location=/u01/app/oracle/oradata/oracle01/archivelog';
alter database open;
05,创建pfile文件
1 create pfile from spfile;
2
3 alter database create standby controlfile as '/u01/oracle/standby.ctl';
two.设置闪回-flashback
01,查看是否开启:
SQL> select flashback_on from v$database; FLASHBACK_ON ------------------ NO -----如果为YES可以忽略这一步
02, 设置闪回路径
SQL> altersystem set db_recovery_file_dest='/u01/app/oracle';
03,设置闪回大小
SQL> altersystem set db_recovery_file_dest_size='5G';
04,关闭数据库重新启动
SQL> shutdown immediate; ----关闭数据库 SQL> alter database flashback on; ----开启闪回
SQL> alter database open; ------open数据库
05,验证数据
three.添加standby日志
01,查看主库在线日志大小和主数
SQL> select group#,bytes/1024/1024 from v$log;
GROUP# BYTES/1024/1024
---------- ---------------
1 50
2 50
3 50
02,查看备库在线日志大小和主数
SQL> select group#,bytes/1024/1024 from v$standby_log;
默认显示
no rows selected
03,创建
SQL> alter database add standby logfile group 11 '/data/CEBPM/onlinelog/redo11_stb01.log' size 50M; SQL> alter database add standby logfile group 12 '/data/CEBPM/onlinelog/redo12_stb01.log' size 50M; SQL> alter database add standby logfile group 13 '/data/CEBPM/onlinelog/redo13_stb01.log' size 50M; SQL> alter database add standby logfile group 14 '/data/CEBPM/onlinelog/redo14_stb01.log' size 50M;
04,再次查看备库的时候发现:
four.主库修改参数文件
SQL> select group#,bytes/1024/1024 from v$standby_log; SQL> alter database add standby logfile group 14 '/u01/oracle/redo14_stb01.log' size 50M; SQL> alter system set log_archive_config='DG_CONFIG=(oracle01,standby)'; SQL> alter system set log_archive_dest_2='SERVICE=standby VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby' scope=spfile; SQL> alter system set log_archive_dest_state_1='enable'; SQL> alter system set log_archive_dest_state_2='enable' SQL> alter system set db_file_name_convert='/u01/oracle/datafile','/u01/oracle/datafile'scope=spfile; SQL> alter system set log_file_name_convert='/u01/oracle/onlinelog','/u01/oracle/onlinelog'scope=spfile; SQL> alter system set fal_server='standby'; SQL> alter system set fal_client='oracle01'; SQL> alter system set standby_file_management='AUTO';
全部执行输出显示为:
System altered.
修改完成后重启数据库
SQL> shutdown immediate
SQL> startup
five.修改配置文件
01, listener.ora
[root@oracle01 ~]# cat /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora # listener.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora # Generated by Oracle configuration tools. SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (GLOBAL_DBNAME = oracle01) (SID_NAME = oracle01) ) ) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) ) ADR_BASE_LISTENER = /u01/app/oracle
02, tnsnames.ora
[root@oracle01 ~]# cat /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora # tnsnames.ora Network Configuration File: /u01/app/oracle/product/11.2.0/db_1/network/admin/tnsnames.ora # Generated by Oracle configuration tools. ORACLE01 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.10)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = oracle01) ) ) STANDBY = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.16)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = standby) ) )
03,重启监听
[oracle@oracle01 ~]#lsnrctl stop
[oracle@oracle01 ~]#lsnrctl start
six.文件传输
SQL> create pfile='/tmp/initoracle01.ora' fromspfile; 生成参数文件 拷贝参数文件与密码文件 scp orapworacle01 192.168.1.143:/u01/app/oracle/product/11.2.0/db_1/dbs/ scp /tmp/initoracle01.ora 192.168.1.143:/u01/app/oracle/product/11.2.0/db_1/dbs/
二,DG搭建实例--从库配置
one.配置文件修改
01,配置文件重命名
重命名文件
[root@standby dbs]# mv initoracle01.ora initstandby.ora
[root@standby dbs]# mv orapworacle01 orapwstandby
02,改配置文件
1 [root@standby dbs]# pwd 2 /u01/app/oracle/product/11.2.0/db_1/dbs 3 [root@standby dbs]# cat initstandby.ora 4 *.audit_file_dest='/u01/app/oracle/admin/standby/adump' 5 *.audit_trail='db' 6 *.compatible='11.2.0.4.0' 7 *.control_files='/u01/oracle/standby.ctl' 8 *.db_block_size=8192 9 *.db_domain='localdomain' 10 *.db_file_name_convert='/u01/oracle/datafile','/u01/oracle/datafile' 11 *.db_name='oracle01' 12 *.db_recovery_file_dest='/u01/oracle' 13 *.db_recovery_file_dest_size=5368709120 14 *.db_unique_name='standby' 15 *.diagnostic_dest='/u01/app/oracle' 16 *.dispatchers='(PROTOCOL=TCP) (SERVICE=oracle01XDB)' 17 *.fal_server='oracle01' 18 *.fal_client='standby' 19 *.log_archive_config='DG_CONFIG=(oracle01,standby)' 20 *.log_archive_dest_1='location=/u01/oracle/archivelog' 21 *.log_archive_dest_2='SERVICE=oracle01 VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=oracle01' 22 *.log_archive_dest_state_1='enable' 23 *.log_archive_dest_state_2='enable' 24 *.log_file_name_convert='/u01/oracle/onlinelog','/u01/oracle/onlinelog' 25 *.open_cursors=300 26 *.pga_aggregate_target=836763648 27 *.processes=150 28 *.remote_login_passwordfile='EXCLUSIVE' 29 *.sga_target=2510290944 30 *.standby_file_management='AUTO' 31 *.undo_tablespace='UNDOTBS1'
03,创建必要的目录
mkdir -p /u01/app/oracle/admin/standby/adump
mkdir -p /u01/oracle/onlinelog/
mkdir -p /u01/oracle/datafile
mkdir -p /u01/oracle/archivelog
mkdir -p /u01/oracle/controlfile
two.从库配置文件更新
01, listener.ora
02, tnsnames.ora
03, 重启监听服务器