ITPub博客

首页 > 数据库 > Oracle > Oracle搭建rac到单库的adg

Oracle搭建rac到单库的adg

原创 Oracle 作者:邪丶坏人 时间:2022-03-18 14:33:46 0 删除 编辑

ip
db_name
db_uniquename
SID
servername
主库节点1
10.10.33.115
uencordb
uencordb
uencordb1
uencordb
主库节点2
10.10.33.115
uencordb
uencordb
uencordb2
uencordb
北京备库
10.10.61.52
uencordb
bjcordb
uencordb
bjcordb
上海主库rac的数据目录全放在ASM下面
北京备库的数据目录存放在/data/uencordb/下面
主库:
1、把密码文件拷贝过去
2、创建备库控制文件,拷贝到备库
alter database create standby controlfile as '/home/oracle/stdctl.ctl';
3、把redo改成合适的大小和组数
4、创建standby redo log  --主库创建这个是为了转换为备库,不转备库的话没必要建
alter system set standby_file_management='manual';
alter database add standby logfile thread 1 group 41 ('+DATA/uencordb/onlinelog/standby41.log') size 1g;
alter database add standby logfile thread 1 group 42 ('+DATA/uencordb/onlinelog/standby42.log') size 1g;
alter database add standby logfile thread 1 group 43 ('+DATA/uencordb/onlinelog/standby43.log') size 1g;
alter database add standby logfile thread 1 group 44 ('+DATA/uencordb/onlinelog/standby44.log') size 1g;
alter database add standby logfile thread 1 group 45 ('+DATA/uencordb/onlinelog/standby45.log') size 1g;
alter database add standby logfile thread 1 group 46 ('+DATA/uencordb/onlinelog/standby46.log') size 1g;
alter database add standby logfile thread 1 group 47 ('+DATA/uencordb/onlinelog/standby47.log') size 1g;
alter database add standby logfile thread 2 group 51 ('+DATA/uencordb/onlinelog/standby51.log') size 1g;
alter database add standby logfile thread 2 group 52 ('+DATA/uencordb/onlinelog/standby52.log') size 1g;
alter database add standby logfile thread 2 group 53 ('+DATA/uencordb/onlinelog/standby53.log') size 1g;
alter database add standby logfile thread 2 group 54 ('+DATA/uencordb/onlinelog/standby54.log') size 1g;
alter database add standby logfile thread 2 group 55 ('+DATA/uencordb/onlinelog/standby55.log') size 1g;
alter database add standby logfile thread 2 group 56 ('+DATA/uencordb/onlinelog/standby56.log') size 1g;
alter database add standby logfile thread 2 group 57 ('+DATA/uencordb/onlinelog/standby57.log') size 1g;
alter system set standby_file_management='auto';
5、修改主库数据库参数
ALTER SYSTEM SET LOG_ARCHIVE_CONFIG='DG_CONFIG=(uencordb,bjcordb)' scope=both  sid='*';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=+ARCH  VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=uencordb' scope=both  sid='*';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_3='SERVICE=bjcordb LGWR ASYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=bjcordb' scope=both  sid='*';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_1=ENABLE scope=both  sid='*';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE scope=both  sid='*';
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_3=ENABLE scope=both  sid='*';
ALTER SYSTEM SET FAL_CLIENT = 'uencordb' scope=both  sid='*';
ALTER SYSTEM SET FAL_SERVER ='bjcordb' scope=both  sid='*';
ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT =AUTO scope=both  sid='*';
如果rac主库要被切换为备库的话,就配置下面的参数,需要重启数据库
SQL> alter system set db_file_name_convert ='/data/uencordb/','+DATA/uencordb/datafile/','/data/uencordb/','+DATA/uencordb/tempfile/' scope=spfile sid='*';
SQL> alter system set log_file_name_convert='/data/uencordb/','+DATA/uencordb/onlinelog/' scope=spfile sid='*';



6、配置北京备库参数


*.audit_file_dest='/u01/app/oracle/admin/uencordb/adump'
*.audit_trail='db'
*.compatible='11.2.0.4.0'
*.control_files='/data/uencordb/control01.ctl','/data/uencordb/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_name='uencordb'
*.db_unique_name='bjcordb'
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=uencordbXDB)'
*.fal_client='bjcordb'
*.fal_server='uencordb'
*.log_archive_config='dg_config=(uencordb,bjcordb)'
*.log_archive_dest_1='LOCATION=/data/arch/coradg VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=bjcordb'
*.log_archive_dest_2='SERVICE=uencordb LGWR ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=uencordb'
*.db_file_name_convert='+DATA/uencordb/datafile/','/data/uencordb/','+DATA/uencordb/tempfile/','/data/uencordb/'
*.log_file_name_convert='+DATA/uencordb/onlinelog/','/data/uencordb/'
*.standby_file_management='auto'
*.log_archive_format='%t_%s_%r.dbf'
*.open_cursors=300
*.pga_aggregate_target=16135487488
*.processes=5000
*.remote_login_passwordfile='EXCLUSIVE'
*.sessions=5505
*.sga_max_size=85899345920
*.sga_target=48407511040
*.undo_tablespace='UNDOTBS1'


7、配置静态监听:

主库配置静态监听是为了配置dgbroker
主库节点1
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME = uencordb_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = uencordb1)
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME = uencordb_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
(SID_NAME = uencordb2)
)
)
北京备库
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(GLOBAL_DBNAME = uencordb_DGMGRL)
(ORACLE_HOME = /u01/app/oracle/product/11.2.0/ dbhome_1)
(SID_NAME = uencordb)
)
)


8、配置好监听后,主备互相验证:

sqlplus sys/xxx@uencordb as sysdba
然后进去rman还原控制文件:
restore controlfile from '/home/oracle/stdctl.ctl';
然后重新进来做dumplicate
[oracle@adg admin]$ rman target sys/xxx@uencordb auxiliary sys/xxx@bjcordb


RMAN> duplicate target database for standby from active database;
恢复好后,进去sql模式(当前是mount),开启进程追下归档
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
等日志追平后,再开到readonly
select thread#,sequence#, applied from v$archived_log order by 3 desc,2;
select THREAD#,max(SEQUENCE#) from v$archived_log group by THREAD#;
select process,status from v$managed_standby;
SQL>  alter database recover managed standby database cancel;
SQL> ALTER DATABASE OPEN READ ONLY;
结束


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31098809/viewspace-2872490/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
多年的DBA从业经验,有扎实的linux和Oracle运维和故障处理的能力; 对oracle rac,adg,ogg,rman备份恢复,异机恢复,分区表,数据迁移,sql优化,版本升级,数据库架构设计,故障处理都较为熟练

注册时间:2016-04-01

  • 博文量
    53
  • 访问量
    124327