失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > DM数据库实例迁移教程

DM数据库实例迁移教程

时间:2019-11-05 06:20:23

相关推荐

DM数据库实例迁移教程

在数据库的使用过程中,因为初期的规划不合理,导致后期数据库的磁盘空间不足,磁盘又未作LVM管理,这是就需要将数据库整个迁移至空间更大的磁盘空间,又要保证数据的完整。下面我们介绍一种方法可以快速将DM数据库整个实例进行迁移,如下:

1、原始数据库实例信息查询

[dmdba@localhost ~]$ ps -ef|grep dmsdmdba 2381 1 17 17:47 pts/0 00:00:10 /dm8/bin/dmserver /dm8/data/DAMENG/dm.ini -noconsoledmdba 2451 2311 0 17:48 pts/0 00:00:00 grep dms

2、确定后窗口期后,应用停止服务,数据库端口在网络层做好限制,防止其他客户端登录数据库,先逻辑备份整个数据库;

[dmdba@localhost bin]$ ./dexp userid=SYSDBA/SYSDBA@127.0.0.1:5236 FILE=/dm8/FULL.dmp FULL=Ydexp V8模式[SYSDBA]导出结束.....成功导出 第1 个SCHEMA :SYSDBA共导出 1 个SCHEMA整个导出过程共花费 0.471 s成功终止导出, 没有出现警告[dmdba@localhost bin]$核查备份文件:[dmdba@localhost dm8]$ ls | grep *.dmpFULL.dmp

3、保险起见,再物理备份整个数据库,首先停止数据库服务,之后利用dmrman备份数据库;

[dmdba@localhost bin]$ ./DmServiceDMSERVER stopStopping DmServiceDMSERVER: [ OK ][dmdba@localhost bin]$ ./dmrmandmrman V8RMAN> backup database '/dm8/data/DAMENG/dm.ini' full backupset '/dm8/backup';backup database '/dm8/data/DAMENG/dm.ini' full backupset '/dm8/backup';Database mode = 0, oguid = 0Normal of FASTNormal of DEFAULTNormal of RECYCLENormal of KEEPNormal of ROLLEP[0]'s cur_lsn[24482], file_lsn[24482]Processing backupset /dm8/backup[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]backup successfully!time used: 00:00:01.246RMAN>

4、再空间大的磁盘新建目录

[root@localhost ~]# df -h文件系统容量 已用 可用 已用% 挂载点devtmpfs1.4G0 1.4G 0% /devtmpfs 1.5G0 1.5G 0% /dev/shmtmpfs 1.5G 9.5M 1.5G 1% /runtmpfs 1.5G0 1.5G 0% /sys/fs/cgroup/dev/mapper/klas-root 46G 12G 34G 25% /tmpfs 1.5G 88K 1.5G 1% /tmptmpfs 289M0 289M 0% /run/user/993tmpfs 289M0 289M 0% /run/user/0/dev/sdb1 9.8G 37M 9.3G 1% /data[root@localhost ~]# chown dmdba:dinstall /data/ -R[root@localhost ~]# chmod 775 /data/ -R

5、实例迁移,分5个步骤,具体操作如下:

[dmdba@localhost bin]$ cd /dm8/data/DAMENG/①、查看原始实例路径[dmdba@localhost DAMENG]$ cat dm.ini |grep pathCTL_PATH = /dm8/data/DAMENG/dm.ctl#ctl file pathCTL_BAK_PATH= /dm8/data/DAMENG/ctl_bak #dm.ctl backup pathSYSTEM_PATH = /dm8/data/DAMENG #system pathCONFIG_PATH = /dm8/data/DAMENG #config pathTEMP_PATH = /dm8/data/DAMENG #temporary file pathBAK_PATH = /dm8/data/DAMENG/bak #backup file pathDFS_PATH = #path of db_file in dfsUNIX_SOCKET_PATHNAME =#Unix socket pathname.TRACE_PATH = #System trace path name②、经原始路径替换为新实例路径[dmdba@localhost DAMENG]$ sed -i "s#/dm8/data/DAMENG#/data/DM01#g" dm.ini[dmdba@localhost DAMENG]$ cat dm.ini |grep pathCTL_PATH = /data/DM01/dm.ctl#ctl file pathCTL_BAK_PATH= /data/DM01/ctl_bak #dm.ctl backup pathSYSTEM_PATH = /data/DM01 #system pathCONFIG_PATH = /data/DM01 #config pathTEMP_PATH = /data/DM01 #temporary file pathBAK_PATH = /data/DM01/bak #backup file pathDFS_PATH = #path of db_file in dfsUNIX_SOCKET_PATHNAME =#Unix socket pathname.TRACE_PATH = #System trace path name③、修改控制文件内容[dmdba@localhost DAMENG]$ cd /dm8/bin[dmdba@localhost bin]$ ./dmctlcvt type=1 src=/dm8/data/DAMENG/dm.ctl dest=/dm8/data/dmctl.txtDMCTLCVT V8convert ctl to txt success![dmdba@localhost data]$ cat dmctl.txt |grep path# file pathfil_path=/dm8/data/DAMENG/SYSTEM.DBF# mirror pathmirror_path=# file pathfil_path=/dm8/data/DAMENG/ROLL.DBF# mirror pathmirror_path=# file pathfil_path=/dm8/data/DAMENG/DAMENG01.log# mirror pathmirror_path=# file pathfil_path=/dm8/data/DAMENG/DAMENG02.log# mirror pathmirror_path=# file pathfil_path=/dm8/data/DAMENG/MAIN.DBF# mirror pathmirror_path=# HUGE table space pathhtspath=/dm8/data/DAMENG/HMAIN[dmdba@localhost data]$ sed -i "s#/dm8/data/DAMENG#/data/DM01#g" dmctl.txt[dmdba@localhost data]$ cat dmctl.txt |grep path# file pathfil_path=/data/DM01/SYSTEM.DBF# mirror pathmirror_path=# file pathfil_path=/data/DM01/ROLL.DBF# mirror pathmirror_path=# file pathfil_path=/data/DM01/DAMENG01.log# mirror pathmirror_path=# file pathfil_path=/data/DM01/DAMENG02.log# mirror pathmirror_path=# file pathfil_path=/data/DM01/MAIN.DBF# mirror pathmirror_path=# HUGE table space pathhtspath=/data/DM01/HMAIN④、控制文件转换[dmdba@localhost bin]$ ./dmctlcvt type=2 src=/dm8/data/dmctl.txt dest=/dm8/data/dm.ctlDMCTLCVT V8convert txt to ctl success!⑤、替换原来的dm.ctl文件,拷贝实例[dmdba@localhost data]$ cd DAMENG/[dmdba@localhost DAMENG]$ mv dm.ctl dm.ctl.bak[dmdba@localhost DAMENG]$ mv ../dm.ctl ./[dmdba@localhost DAMENG]$ ll总用量 820312drwxr-xr-x 2 dmdba dinstall 6 3月 25 17:45 bakdrwxr-xr-x 2 dmdba dinstall 114 3月 25 18:02 ctl_bak-rw-r--r-- 1 dmdba dinstall 268435456 3月 25 22:56 DAMENG01.log-rw-r--r-- 1 dmdba dinstall 268435456 3月 25 22:56 DAMENG02.log-rw-r--r-- 1 dmdba dinstall5120 3月 25 23:09 dm.ctl-rw-r--r-- 1 dmdba dinstall5120 3月 25 18:02 dm.ctl.bak-rw-r--r-- 1 dmdba dinstall51142 3月 25 23:00 dm.ini-rw-r--r-- 1 dmdba dinstall 847 3月 25 17:45 dminit0325174549.log-rw-r--r-- 1 dmdba dinstall 633 3月 25 17:45 dm_service.prikeydrwxr-xr-x 2 dmdba dinstall 6 3月 25 17:45 HMAIN-rw-r--r-- 1 dmdba dinstall 134217728 3月 25 17:45 MAIN.DBF-rw-r--r-- 1 dmdba dinstall 12 3月 25 17:47 rep_conflict.log-rw-r--r-- 1 dmdba dinstall 134217728 3月 25 22:56 ROLL.DBF-rw-r--r-- 1 dmdba dinstall 481 3月 25 17:45 sqllog.ini-rw-r--r-- 1 dmdba dinstall 24117248 3月 25 22:56 SYSTEM.DBF-rw-r--r-- 1 dmdba dinstall 10485760 3月 25 18:02 TEMP.DBFdrwxr-xr-x 2 dmdba dinstall 6 3月 25 17:47 trace[dmdba@localhost DAMENG]$ mv * /data/DM01/

6、注册服务,启动数据库实例,登录数据库

①、先前台启动,测试服务是否正常[dmdba@localhost bin]$ ./dmserver /data/DM01/dm.inifile dm.key not found, use default license!version info: developDM Database Server x64 V8 4-2-18-21.08.20-146029-10013-ENT startup...Normal of FASTNormal of DEFAULTNormal of RECYCLENormal of KEEPNormal of ROLLDatabase mode = 0, oguid = 0License will expire on -08-20file lsn: 25970ndct db load finishedndct fill fast pool finishediid page's trxid[4008]NEXT TRX ID = 4009pseg_collect_mgr_items, total collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages, 0 mgr pages, 0 mgr recs!total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.pseg_crash_trx_rollback endpseg recv finishednsvr_startup end.aud sys init success.aud rt sys init success.systables desc init success.ndct_db_load_info success.nsvr_process_before_open begin.nsvr_process_before_open success.total 0 active crash trx, pseg_crash_trx_rollback sys_only(0) begin ...pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.pseg_crash_trx_rollback endSYSTEM IS READY.②、关闭前台启动,注册服务,启动实例先删除原来注册的服务[root@localhost ~]# cd /dm8/script/root/[root@localhost root]# ./dm_service_uninstaller.sh -n DmServiceDMSERVER是否删除服务(DmServiceDMSERVER)?(Y/y:是 N/n:否): yRemoved /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service.删除服务文件(/usr/lib/systemd/system/DmServiceDMSERVER.service)完成删除服务(DmServiceDMSERVER)完成注册新服务[root@localhost root]# ./dm_service_installer.sh -t dmserver -p DMSERVER -dm_ini /data/DM01/dm.iniCreated symlink /etc/systemd/system/multi-user.target.wants/DmServiceDMSERVER.service → /usr/lib/systemd/system/DmServiceDMSERVER.service.创建服务(DmServiceDMSERVER)完成启动数据库服务,登录数据库[dmdba@localhost ~]$ cd /dm8/bin[dmdba@localhost bin]$ ./DmServiceDMSERVER startStarting DmServiceDMSERVER: [ OK ][dmdba@localhost bin]$ ./disqldisql V8用户名:密码:服务器[LOCALHOST:5236]:处于普通打开状态登录使用时间 : 1.932(ms)[dmdba@localhost bin]$ ps -ef|grep dmsdmdba 4699 1 0 23:27 pts/0 00:00:00 /dm8/bin/dmserver /data/DM01/dm.ini -noconsole

至次,数据库实例迁移完成。

更多资讯请上达梦技术社区了解:

如果觉得《DM数据库实例迁移教程》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。