大佬教程收集整理的这篇文章主要介绍了Oracle 11g R2 ADG 搭建,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
--============Oracle aDG搭建==============
--==========准备阶段=========
1.检查pri@R_944_11035@为archivelog模式。
SELEct log_mode from v$database;
如果为noarchivelog模式,切换到archivelog模式。
shutdown immediate;
startup mount;
alter database archivelog;
alter database open;
执行forced logging:
alter database force logging;
2.服务配置。
primay和standby根据tnsname来在DG中解析成员,在服务器中都要配置"$OracLE_HOME/network/admin/tnsnames.ora"。
可以使用Netca或者手工创建。
SICILY =
(DESCRIPTION =
(ADDRESS_List =
(ADDRESS = (PROTOCol = TCp)(HOST = 10.198.195.163)(PORT = 1521))
)
(CONNECT_DATA =
(@R_874_2412@ = sicily)
)
)
SICILYBAK =
(DESCRIPTION =
(ADDRESS_List =
(ADDRESS = (PROTOCol = TCp)(HOST = 10.198.195.164)(PORT = 1521))
)
(CONNECT_DATA =
(@R_874_2412@ = sicilybak)
)
)
3.记录pri@R_944_11035@和standby的@R_801_5341@和db_unique_name。
show parameter @R_801_5341@
show parameter db_unique_name
角色 @R_801_5341@ db_unique_name
pri@R_944_11035@ sicily sicily
standby sicily sicilybak
standby和pri@R_944_11035@的@R_801_5341@相同,但是db_unique_name不同。
pri@R_944_11035@和standby的db_unique_name被用在配置log_archive_config的dg_config参数。
在pri@R_944_11035@和standby上执行,参数值为pri@R_944_11035@和所有standby成员的db_unique_name。
alter system set log_archive_config='dg_config=(sicily,sicilybak)';
4.设置远程归档路径。
默认的local LOCATIOn归档路径在fast recovery area,应该将闪回区的大小设置得足够大。(建议不用)
一般,修改log_archive_dest_1
1) 查看归档文件路径位置
show parameter log_archive_dest_1
2) 关闭数据库
alter database chenkpoint;
shutdown immediate
3) 挂载数据库
start mount
4) 修改归档路径
alter system set log_archive_dest_1='LOCATION=/Oracle/archive';
5) 启动数据库
alter database open;
6) 查看是否生效
SELEct archiver from v$instance;
alter system switch logfile;
ls /Oracle/archive
注意,远程归档路径中与standby相关的service和db_unique_name。
ALTER SYstem SET log_archive_dest_2='serviCE=sicilybak NOAFFIRM ASYNC compression=enable VALID_FOR=(ONliNE_LOGfileS,PRI@R_944_11035@_RolE) DB_UNIQUE_name=sicilybak';
ALTER SYstem SET LOG_ARCHIVE_DEST_STATE_2=ENABLE;
ALTER SYstem SET LOG_ARCHIVE_FORMAT='%t_%s_%r.arc' ScopE=SPfile;
ALTER SYstem SET LOG_ARCHIVE_MAX_PROCESSES=30;
ALTER SYstem SET REMOTE_LOGIN_passwordfile=EXCLUSIVE ScopE=SPfile;
如果,需要pri@R_944_11035@和standby之间来回switchover,让pri@R_944_11035@切换为standby角色,需要设置*_convert参数来保证服务器之间的文件名和路径不同。
--这里配置的是服务名,表示日志出现GAP时,去哪里去取。
ALTER SYstem SET fal_SERVER=sicilybak;
--这里是将前面的字符串替换为后面的字符串
--ALTER SYstem SET DB_file_name_CONVERT='sicilybak','sicily' ScopE=SPfile;
--ALTER SYstem SET LOG_file_name_CONVERT='sicilybak','sicily' ScopE=SPfile;
ALTER SYstem SET STANDBY_file_MANAGEMENT=auto;
注意,有些参数不能修改,数据库重启后生效。
--==========备份==========
1.pri@R_944_11035@备份
$ RMAN target /
RMAN> BACkup database as compressed BACkupset format '/Oracle/RMAN/full_%D_%u.bak';
2.创建standby控制文件
--在pri@R_944_11035@上执行
ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/Oracle/RMAN/standby.ctl';
3.创建standby参数文件Pfile
CREATE Pfile='/Oracle/RMAN/pfile' FROM SPfile;
4.修改Pfile与standby相关的配置。由于是源服务器的副本,只需要修改如下参数。
*.db_unique_name='sicilybak'
*.fal_server='sicily'
*.log_archive_dest_2='serviCE=sicily ASYNC VALID_FOR=(ONliNE_LOGfileS,PRI@R_944_11035@_RolE) DB_UNIQUE_name=sicily'
--==========拷贝=========
1.在standby上创建数据文件目录、归档日志文件目录、审计目录及其他参数文件中列出的目录
$ mkdir -p /Oracle/RMAN
$ mkdir -p /Oracle/archive
$ mkdir -p /Oracle/oradata/sicily
2.从pri@R_944_11035@拷贝文件到standby
$ # Standby CONTROLFILE to all LOCATIOns.
$ scp Oracle@10.198.195.163:/Oracle/RMAN/standby.ctl /Oracle/RMAN/control01.ctl
$ cp /Oracle/RMAN/control01.ctl /Oracle/fast_recovery_area/sicily/control02.ctl
$ # Archivelogs
$ scp -r Oracle@10.198.195.163:/Oracle/archive /Oracle/archive
$ # Parameter file.
$ scp Oracle@10.198.195.163:/Oracle/RMAN/pfile /Oracle/RMAN/pfile
$ # Remote login password file.
$ scp Oracle@10.198.195.163:$OracLE_HOME/dbs/orapw$oracle_sid $OracLE_HOME/dbs
注意,如果你的备份放在闪回区,那么需要将闪回区备份拷贝到standby;
如果你的备份不在闪回区,那么必须确保将备份拷贝到与pri@R_944_11035@相同目录下。
--==========恢复===========
1.以Pfile创建SPfile
create spfile from pfile='/Oracle/RMAN/pfile';
2.恢复控制文件
RMAN> restore CONTROLFILE from '/Oracle/RMAN/standby.ctl';
3.恢复备份
RMAN> startup mount;
RMAN> restore database;
--===========创建online redo logs和standby redo logs==========
1.创建standby的online redo logs,最好与pri@R_944_11035@一致
ALTER SYstem SET STANDBY_file_MANAGEMENT=MANUAL;
ALTER DATABASE ADD LOGfile ('/Oracle/oradata/sicily/redo01.log') SIZE 50M;
ALTER DATABASE ADD LOGfile ('/Oracle/oradata/sicily/redo02.log') SIZE 50M;
ALTER DATABASE ADD LOGfile ('/Oracle/oradata/sicily/redo03.log') SIZE 50M;
ALTER SYstem SET STANDBY_file_MANAGEMENT=auto;
2.创建standby的standby redo logs,如果pri@R_944_11035@要被切换为standby角色,那在pri@R_944_11035@上也要建。
standby redo logs应该至少和最大的online redo log一样大,比online redo logs多一个。
ALTER DATABASE ADD STANDBY LOGfile ('/Oracle/oradata/sicily/standby_redo01.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGfile ('/Oracle/oradata/sicily/standby_redo02.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGfile ('/Oracle/oradata/sicily/standby_redo03.log') SIZE 50M;
ALTER DATABASE ADD STANDBY LOGfile ('/Oracle/oradata/sicily/standby_redo04.log') SIZE 50M;
--=============启动应用进程==============
# BACkground redo apply. Control is returned to the session once the apply process is started.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE disCONNECT FROM SESSION;
#you need to cancel the apply process,issue the following command.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
ALTER DATABASE OPEN READ ONLY;
#you have configured standby redo logs,you can start real-time apply using the following command.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGfile disCONNECT;
--============检查===========
SELEct database_role,LOG_MODE,protection_mode,PROTECTION_LEVEL from v$database;
以上是大佬教程为你收集整理的Oracle 11g R2 ADG 搭建全部内容,希望文章能够帮你解决Oracle 11g R2 ADG 搭建所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。