部署中遇到的错误。
RMAN> repair archivelog database '/dm8/data/DM01/dm.ini';
repair archivelog database '/dm8/data/DM01/dm.ini';
repair archive log successfully.
repair time used: 942.027(ms)
time used: 943.067(ms)
归档修复完成后,就可以成功完成数据库备份了。
总结:归档日志不完整存在多个原因,一般来说是自己的误操作引发的。好的一点是达梦数据库提供了相应的归档日志修复方法,可以快速对归档日志进行修复。
备份报错。
没有启动DMAP服务。
启动后备份成功。
Mount启动时报错
检查发现原来是dm.ini文件中配置的INSTANCE_NAME与dmmal.ini文件中的MAL_INST_NAME不一致。
修改后启动成功。
1.数据守护服务器
192.168.17.2
192.168.17.3
数据库名 实例名 PORT_NUM MAL_INST_DW_PORT MAL_HOST MAL_PORT MAL_DW_PORT
DM01 DMSVR01 5236 45101 192.168.17.2 55101 65101
DM01 DMSVR02 5236 45121 192.168.17.3 55121 65121
停止主库
DmServiceDMSERVER stop
备份主库
dmrman CTLSTMT="BACKUP DATABASE '/dm8/data/DM01/dm.ini' FULL TO BACKUP_FILE1 BACKUPSET '/dm8/backup/BACKUP_FILE_01'"
将备份文件scp到 192.168.17.3 的备份路径下
scp -r BACKUP_FILE_01 192.168.17.3:/dm8/backup/
初始化备库
./dminit db_name=DM01 instance_name=DMSVR02 path=/dm8/data SYSDBA_PWD=DM01SYSDBA SYSAUDITOR_PWD=DM01SYSDBA
还原备库
dmrman CTLSTMT="RESTORE DATABASE '/dm8/data/DM01/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'"
dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM01/dm.ini' FROM BACKUPSET '/dm8/backup/BACKUP_FILE_01'"
dmrman CTLSTMT="RECOVER DATABASE '/dm8/data/DM01/dm.ini' UPDATE DB_MAGIC"
INSTANCE_NAME = DMSVR01
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = DMSVR01
MAL_HOST = 192.168.17.2
MAL_PORT = 55101
MAL_INST_HOST = 192.168.17.2
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = DMSVR02
MAL_HOST = 192.168.17.3
MAL_PORT = 55121
MAL_INST_HOST = 192.168.17.3
MAL_INST_PORT = 5236
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSVR02
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/dm_arch/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 0
dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453331
INST_INI = /dm8/data/DM01/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_SEND_THRESHOLD = 0
RLOG_APPLY_THRESHOLD = 0
启动主库(必须mount启动)
dmserver /dm8/data/DM01/dm.ini mount
修改数据库OGUID
SQL>sp_set_oguid(453331);
SQL>alter database primary;
备库修改参数。其中dmmal.ini和dmwatcher.ini参数与主库一致,dmarch.ini中ARCH_DEST 配置主库的实例名
standby
dm.ini
INSTANCE_NAME = DMSVR02
PORT_NUM = 5236
DW_INACTIVE_INTERVAL = 60
ALTER_MODE_STATUS = 0
ENABLE_OFFLINE_TS = 2
MAL_INI = 1
ARCH_INI = 1
RLOG_SEND_APPLY_MON = 64
dmmal.ini
MAL_CHECK_INTERVAL = 5
MAL_CONN_FAIL_INTERVAL = 5
[MAL_INST1]
MAL_INST_NAME = DMSVR01
MAL_HOST = 192.168.17.2
MAL_PORT = 55101
MAL_INST_HOST = 192.168.17.2
MAL_INST_PORT = 5236
MAL_DW_PORT = 65101
MAL_INST_DW_PORT = 45101
[MAL_INST2]
MAL_INST_NAME = DMSVR02
MAL_HOST = 192.168.17.3
MAL_PORT = 55121
MAL_INST_HOST = 192.168.17.3
MAL_INST_PORT = 5236
MAL_DW_PORT = 65121
MAL_INST_DW_PORT = 45121
dmarch.ini
[ARCHIVE_REALTIME]
ARCH_TYPE = REALTIME
ARCH_DEST = DMSVR01
[ARCHIVE_LOCAL1]
ARCH_TYPE = LOCAL
ARCH_DEST = /dm8/dm_arch/arch
ARCH_FILE_SIZE = 1024
ARCH_SPACE_LIMIT = 0
dmwatcher.ini
[GRP1]
DW_TYPE = GLOBAL
DW_MODE = AUTO
DW_ERROR_TIME = 10
INST_RECOVER_TIME = 60
INST_ERROR_TIME = 10
INST_OGUID = 453331
INST_INI = /dm8/data/DM01/dm.ini
INST_AUTO_RESTART = 1
INST_STARTUP_CMD = /dm8/bin/dmserver
RLOG_APPLY_THRESHOLD = 0
以 Mount 方式启动备库
dmserver /dm8/data/DM01/dm.ini mount
SQL>sp_set_oguid(453331);
SQL>alter database standby;
分别启动主备的监视器
dmwatcher dmwatcher.ini
disql SYSDBA/DM01SYSDBA:5236
在主机上创建表,并插入数据提交,在备机上查询数据是否可以正常查询,如果正常说明主备同步正常。查看主机的归档状态,VALID 也说明主备同步正常。
select * from v$arch_status;
dmmonitor.ini
MON_DW_CONFIRM = 1
MON_LOG_PATH = /dm8/log
MON_LOG_INTERVAL = 60
MON_LOG_FILE_SIZE = 32
MON_LOG_SPACE_LIMIT = 0
[GRP1]
MON_INST_OGUID = 453331
MON_DW_IP = 192.168.17.2:65101
MON_DW_IP = 192.168.17.3:65121
dmmonitor /dm8/data/DM01/dmmonitor.ini
监视器上可以查看集群的状态
Show 命令查看集群状态
login 登录
choose switchover 查看选择可切换为 PRIMARY 库的备库列表
switchover 切换主库
主备库注册数据库守护、实例为 linux 系统服务
/dm8/script/root/dm_service_installer.sh -t dmwatcher -p DM01 -watcher_ini /dm8/data/DM01/dmwatcher.ini
/dm8/script/root/dm_service_installer.sh -t dmserver -p DM01 -dm_ini /dm8/data/DM01/dm.ini
/dm8/script/root/dm_service_installer.sh -t dmwatcher -p DM01 -watcher_ini /dm8/data/DM01/dmwatcher.ini
文章
阅读量
获赞