1、创建扩展备库
##初始化扩展备库
[dmdba@localhost bin]$ ./dminit path=/data db_name=DW port_num=5237
##正常启停数据库
[dmdba@localhost bin]$ ./dmserver /data/DW/dm.ini
exit
2、从源主库进行备份
[dmdba@localhost bin]$ ./disql SYSDBA/SYSDBA:5237
SQL> backup database full backupset '/home/dmdba/fullbak0603';
[dmdba@localhost bin]$ scp -r /home/dmdba/fullbak0603/ dmdba@192.168.10.10:/home/dmdba/
3、恢复扩展备库
RMAN> restore database '/data/DW/dm.ini' from backupset '/home/dmdba/fullbak0603';
RMAN> recover database '/data/DW/dm.ini' from backupset '/home/dmdba/fullbak0603';
RMAN> recover database '/data/DW/dm.ini' update db_magic;
4、修改扩展备库配置文件
##dm.ini文件
[dmdba@localhost bin]$ vi /data/DW/dm.ini
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
INSTANCE_NAME = DW03
##dmarch.ini文件
[dmdba@localhost bin]$ vi /data/DW/dmarch.ini
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL # 本地归档类型
ARCH_DEST = /opt/hzq/dmdbms/arch # 本地归档文件存放路径
ARCH_FILE_SIZE = 128 # 单位MB, 本地单个归档文件最大值
ARCH_SPACE_LIMIT = 1024 # 单位MB, 0表示无限制范围1024~2147483647M
[ARCHIVE_REALTIME1]
ARCH_TYPE = REALTIME # 实时归档类型
ARCH_DEST = DW01 # 实时归档目标实例名, 对应备库的数据库实例名
[ARCHIVE_REALTIME2]
ARCH_TYPE = REALTIME # 实时归档类型
ARCH_DEST = DW02 # 实时归档目标实例名, 对应备库的数据库实例名
##dmmal.ini文件
[dmdba@localhost bin]$ vi /data/DW/dmmal.ini
MAL_CHECK_INTERVAL = 10 #MAL链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 10 #判定MAL链路断开的时间
MAL_BUF_SIZE = 512 #单个MAL缓存大小,单位MB
MAL_SYS_BUF_SIZE = 2048 #MAL总大小限制,单位MB
MAL_COMPRESS_LEVEL = 0 #MAL消息压缩等级,0表示不压缩
[MAL_INST1]
MAL_INST_NAME = DW01 #实例名,和 dm.ini的INSTANCE_NAME一致
MAL_HOST = 192.168.10.100 #MAL系统监听TCP连接的IP地址
MAL_PORT = 5336 #MAL系统监听TCP连接的端口
MAL_INST_HOST = 192.168.10.100 #实例的对外服务IP地址
MAL_INST_PORT = 5237 #实例对外服务端口,和dm.ini的PORT_NUM一致
MAL_DW_PORT = 5436 #实例对应的守护进程监听TCP连接的端口
MAL_INST_DW_PORT = 5536 #实例监听守护进程TCP连接的端口
[MAL_INST2]
MAL_INST_NAME = DW02
MAL_HOST = 192.168.10.101
MAL_PORT = 5336
MAL_INST_HOST = 192.168.10.101
MAL_INST_PORT = 5237
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536
[MAL_INST3]
MAL_INST_NAME = DW03
MAL_HOST = 192.168.10.10
MAL_PORT = 5336
MAL_INST_HOST = 192.168.10.10
MAL_INST_PORT = 5237
MAL_DW_PORT = 5436
MAL_INST_DW_PORT = 5536
##dmwatcher.ini文件
[dmdba@localhost bin]$ vi /data/DW/dmwatcher.ini
[GDW1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = MANUAL #故障手动切换模式
DW_ERROR_TIME = 20 #远程守护进程故障认定时间
INST_ERROR_TIME = 20 #本地实例故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_OGUID = 45331 #守护系统唯一OGUID值
INST_INI = /data/DW/dm.ini #dm.ini文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /opt/hzq/dmdbms/bin/DmServiceDW restart
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阈值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
5、启动扩展备库
Mount方式启动扩展备库
[dmdba@localhost bin]$ ./dmserver /data/DW/dm.ini mount
设置模式和oguid
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',1);
DMSQL 过程已成功完成
已用时间: 10.750(毫秒). 执行号:1.
SQL> sp_set_oguid(45331);
DMSQL 过程已成功完成
已用时间: 2.473(毫秒). 执行号:2.
SQL> alter database standby;
操作已执行
已用时间: 5.479(毫秒). 执行号:0.
SQL> SP_SET_PARA_VALUE(1,'ALTER_MODE_STATUS',0);
DMSQL 过程已成功完成
已用时间: 9.089(毫秒). 执行号:3.
SQL> SELECT instance_name, host_name, status$, mode$, oguid FROM v$instance;
行号 INSTANCE_NAME HOST_NAME STATUS$ MODE$ OGUID
---------- ------------- --------------------- ------- ------- -----------
1 DW03 localhost.localdomain MOUNT STANDBY 45331
6、动态修改源主备配置
登录原主备库节点添加新备库mal和归档信息
SQL> SF_MAL_CONFIG(1,0);
DMSQL 过程已成功完成
已用时间: 0.893(毫秒). 执行号:702.
SQL> SF_MAL_INST_ADD('MAL_INST3','DW03','192.168.10.10',5336,'192.168.10.10',5237,5436,0,5536);
DMSQL 过程已成功完成
已用时间: 0.822(毫秒). 执行号:703.
SQL> SF_MAL_CONFIG_APPLY();
DMSQL 过程已成功完成
已用时间: 0.650(毫秒). 执行号:704.
SQL> SF_MAL_CONFIG(0,0);
DMSQL 过程已成功完成
已用时间: 0.417(毫秒). 执行号:705.
SQL> ALTER DATABASE ADD ARCHIVELOG 'DEST=DW03, TYPE=REALTIME';
操作已执行
已用时间: 0.757(毫秒). 执行号:0.
7、启动watcher服务
三个节点均重启下watcher服务
[dmdba@localhost bin]$ ./DmWatcherServiceWatcher restart
监视器添加扩展备库节点后启动观察,扩展备库已加入数据库集群。
文章
阅读量
获赞