暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle搭建rac到单库的adg

原创 2022-03-18
1380

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;

结束

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论