cd /dm/samples/ini_script/UTF-8 配置文件样例路径
关闭防火墙: [root@localhost /]# systemctl stop firewalld.service
禁止防火墙开机自启动: [root@localhost /]# systemctl disable firewalld.service
[dmdba@localhost bin]$ ./DmServiceDMSERVER stop 关闭数据库
冷备部署数据守护
1.备份数据库
[dmdba@localhost bin]$ ./disql SYSDBA/Dameng123
SQL> shutdown immediate; 停数据库
[dmdba@localhost bin]$ ./dmrman
RMAN> backup database '/dm/data/DAMENG/dm.ini' backupset '/dm/backup/FULLDB'; 数据库备份
2.主库配置dm.ini
[dmdba@localhost ~]$ vim /dm/data/DAMENG/dm.ini
INSTANCE_NAME = DM01 #实例名
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
3.配置dmmal.ini
[dmdba@localhost ~]$ vim /dm/data/DAMENG/dmmal.ini
MAL_CHECK_INTERVAL = 5 #MAL 链路检测时间间隔
MAL_CONN_FAIL_INTERVAL = 5 #判定 MAL 链路断开的时间
[MAL_INST1]
MAL_INST_NAME = DM01 #实例名,和 dm.ini 中的 INSTANCE_NAME 一致
MAL_HOST = 192.168.130.10 #MAL 系统监听 TCP 连接的 IP 地址 主库
MAL_PORT = 5240 #MAL 系统监听 TCP 连接的端口
#MAL_INST_HOST = 192.168.130.10 #实例的对外服务 IP 地址
MAL_INST_PORT = 5236 # 实例的对外服务端口,和 dm.ini 中的PORT_NUM 一致
MAL_DW_PORT = 5239#实例本地的守护进程监听 TCP 连接的端口
MAL_INST_DW_PORT = 5238 #实例监听守护进程 TCP 连接的端口
[MAL_INST2]
MAL_INST_NAME = DM02
MAL_HOST = 192.168.130.11 备库IP
MAL_PORT = 5240
#MAL_INST_HOST = 192.168.130.11
MAL_INST_PORT = 5236
MAL_DW_PORT = 5239
MAL_INST_DW_PORT = 5238
4.配置dmwatcher.ini
[dmdba@localhost ~]$ vim /dm/data/DAMENG/dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL #全局守护类型
DW_MODE = AUTO #自动切换模式
DW_ERROR_TIME = 10 #远程守护进程故障认定时间
INST_RECOVER_TIME = 60 #主库守护进程启动恢复的间隔时间
INST_ERROR_TIME = 10 #本地实例故障认定时间
INST_OGUID =99999#守护系统唯一 OGUID 值(这里要和数据库的 OGUID 一致,OGUID 是写入控制文件的)
INST_INI = /dm/data/DAMENG/dm.ini #dm.ini 配置文件路径
INST_AUTO_RESTART = 1 #打开实例的自动启动功能
INST_STARTUP_CMD = /dm/bin/dmserver start#命令行方式启动
RLOG_SEND_THRESHOLD = 0 #指定主库发送日志到备库的时间阀值,默认关闭
RLOG_APPLY_THRESHOLD = 0 #指定备库重演日志的时间阈值,默认关闭
5.配置归档
[dmdba@localhost ~]$ vim /dm/data/DAMENG/dmarch.ini
ARCH_WAIT_APPLY = 1
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME#实时归档类型
ARCH_DEST = DM02 #实时归档目标实例名(主机和备份配置不同,配置向备机同步)备库的实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm/data/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 256#单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
6.把备份的数据库拷贝到备库上边
[dmdba@localhost ~]$ scp -r /dm/backup/FULLDB dmdba@192.168.130.11:/dm/backup
7.备库上边还原数据库
[dmdba@localhost ~]$su - dmdba
[dmdba@localhost ~]$cd /dm/bin
[dmdba@localhost ~]$./dmrman
RMAN> restore database '/dm/data/DAMENG/dm.ini' from backupset '/dm/backup/'; 指定目录还原
RMAN> recover database '/dm/data/DAMENG/dm.ini' from backupset '/dm/backup/';
RMAN> recover database '/dm/data/DAMENG/dm.ini' update db_magic; 更新数据库魔数
8.拷贝配置文件 把 dmmal.ini dmwatcher.ini dmarch.ini
[dmdba@localhost ~]$ scp -r /dm/data/DAMENG/dmmal.ini dmdba@192.168.130.11:/dm/data/DAMENG
9.修改备库配置文件
①修改dm.ini
[dmdba@localhost ~]$ vim /dm/data/DAMENG/dm.ini
INSTANCE_NAME = DM02 #实例名
ALTER_MODE_STATUS = 0 #不允许手工方式修改实例模式/状态/OGUID
ENABLE_OFFLINE_TS = 2 #不允许备库 OFFLINE 表空间
MAL_INI = 1 #打开 MAL 系统
ARCH_INI = 1 #打开归档配置
②修改归档
[dmdba@localhost ~]$ vim /dm/data/DAMENG/dmarch.ini
ARCH_WAIT_APPLY = 1
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME#实时归档类型
ARCH_DEST = DM02 #实时归档目标实例名(主机和备份配置不同,配置向备机同步)备库的实例名
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL #本地归档类型
ARCH_DEST = /dm/data/DAMENG/arch #本地归档文件存放路径
ARCH_FILE_SIZE = 256#单位 Mb,本地单个归档文件最大值
ARCH_SPACE_LIMIT = 0 #单位 Mb,0 表示无限制,范围 1024~4294967294M
10.启动数据库到mount状态 设置数据库主库
[dmdba@localhost ~]$cd /dm/data/DAMENG
[dmdba@localhost DEMENG]$/dm/bin/dmserver dm.ini mount
[dmdba@localhost bin]$ ./disql SYSDBA/Dameng123
SQL>alter database primary;
SQL> alter system set 'ALTER_MODE_STATUS'=1; 1允许修改sp_set_oguid;0不允许修改sp_set_oguid;
SQL>sp_set_oguid(99999);
11.启动备库数据库到mount模式,设置数据库为备库模式,
[dmdba@localhost DEMENG]$/dm/bin/dmserver dm.ini mount #启动备库数据库到mount模式
[dmdba@localhost ~]$ su - dmdba
[dmdba@localhost bin]$ ./disql SYSDBA/Dameng123
SQL>alter database standby; #设置数据库为备库模式
SQL> alter system set 'ALTER_MODE_STATUS'=1; 1允许修改sp_set_oguid;0不允许修改sp_set_oguid;
SQL>sp_set_oguid(99999);
12.启动主库数据守护
[dmdba@localhost ~]$ /dm/bin/dmwatcher /dm/data/DAMENG/dmwatcher.ini
show 查看状态
启动备库的数据守护
[dmdba@localhost ~]$ /dm/bin/dmwatcher /dm/data/DAMENG/dmwatcher.ini
关闭防火墙
SQL>select status$ from v$database;查看数据库状态
SQL>select status$ from v$instance;查看数据库状态
13配置监视器
[dmdba@localhost ~]$vim /dm/dmmonitor_con.ini #确认监视器
MON_DW_CONFIRM = 1 # 0是非确认监视器 1是确认监视器
MON_LOG_PATH = /dm/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 99999
MON_DW_IP = 192.168.130.10:5239
MON_DW_IP = 192.168.130.11.5239
[dmdba@localhost ~]/dm/bin/dmmonitor dmmonitor_con.ini 启动监视器
show查看状态
switchover DM02 #主备数据库手动切换
Yes
login 登录监视器
14.注册服务
[dmdba@localhost ]#.cd /dm/script/root
[dmdba@localhost root]#./dm_service_installer.sh -t dmwatcher -watcher_ini /dm/data/DAMENG/dmwatcher.ini -p DMW01
[dmdba@localhost root]#systemctl start DmWatcherServiceDMW01 #启动服务
备库注册
[dmdba@localhost root]#./dm_service_installer.sh -t dmserver -p DM02 -dm.ini /dm/data/DAMENG
/dm.ini
[dmdba@localhost root]#./dm_service_installer.sh -t dmwatcher -watcher_ini
/dm/data/DAMENG/dmwatcher.ini -p DMW02
监视器monitor注册服务
[dmdba@localhost ]#.cd /dm/script/root
[dmdba@localhost root]#./dm_service_installer.sh -t dmmonitor -monitor_ini
/dm/data/DAMENG/dmmonitor.ini -p DMmt
[dmdba@localhost root]#systemctl start DmMonnitorServiceDMmt #启动服务
如果使用手动方式关闭数据守护系统,请严格按照以下顺序执行:
文章
阅读量
获赞