由于本人喜歡DM遷移DM使用備份還原的方式進行全庫遷移,所遇到的問題進行分析,
問題描述:使用脫機備份B資料庫,在A資料上進行還原,還原后登錄資料庫提示用戶名/密碼錯誤,
達夢資料庫可通過聯機備份(熱)或脫機備份(冷)的備份集進行全庫還原,通過全庫還原有兩種方法:一種是備份資料庫實體物理檔案方法進行恢復,一種是通過達夢自帶的脫機還原工具(dmrman工具和console工具)進行備份恢復,
測驗環境:
| 資料庫 | 作業系統版本 | 資料庫安裝包版本 | IP地址 |
|---|---|---|---|
| 資料庫A | NeoKylin Liux General Server 6.0 (Dhaulagiri) | dm8_setup_rh6_64_ent_8.1 | 192.168.1.20 |
| 資料庫B | CentOS Linux release 7.7.1908 (Core) | dm8_setup_rh7_64_ent_8.1 | 192.168.1.60 |
通過dmrman工具對資料庫A進行脫機備份
1、停止資料庫服務
[dmdba@localhost bin]$ cd /home/dmdba/dmdbms/bin
[dmdba@localhost bin]$ ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[dmdba@localhost bin]$
2、通過dmrman工具備份資料庫備份集在/home/dmdba/dmdbms/data/DAMENG/bak路徑下
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> BACKUP DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini'FULL;
BACKUP DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FULL;
file dm.key not found, use default license!
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[46015]
BACKUP DATABASE [DAMENG],execute......
CMD CHECK LSN......
BACKUP DATABASE [DAMENG],collect dbf......
CMD CHECK ......
DBF BACKUP SUBS......
total 1 packages processed...
total 3 packages processed...
total 4 packages processed...
total 5 packages processed...
total 6 packages processed...
DBF BACKUP MAIN......
BACKUPSET [/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_20200909_120148_000394] END, CODE [0]......
META GENERATING......
total 10 packages processed...
total 10 packages processed...
total 10 packages processed!
CMD END.CODE:[0]
backup successfully!
time used: 00:00:01.187
RMAN>
3、通過SCP命令發送備份集到B服務器上
[dmdba@localhost ~]$ cd dmdbms/data/DAMENG/bak
[dmdba@localhost bak]$ ll
總用量 4
drwxr-xr-x 2 dmdba dminstall 4096 9月 9 12:28 DB_DAMENG_FULL_20200909_122802_975951
[dmdba@localhost bak]$ scp -r DB_DAMENG_FULL_20200909_122802_975951/ [email protected]:/home/dmdba/dmdbms/data/DAMENG/bak
The authenticity of host '192.168.1.21 (192.168.1.21)' can't be established.
RSA key fingerprint is 7d:96:94:45:6a:61:a4:be:5f:fb:83:f9:01:a7:61:89.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '192.168.1.21' (RSA) to the list of known hosts.
[email protected]'s password:
DB_DAMENG_FULL_20200909_122802_975951.meta 100% 73KB 72.5KB/s 00:00
DB_DAMENG_FULL_20200909_122802_975951.bak 100% 5990KB 5.9MB/s 00:00
[dmdba@localhost bak]$
4、登錄B服務進行查看備份集并進行還原,
[C:\~]$ ssh 192.168.1.60
Connecting to 192.168.1.60:22...
Connection established.
To escape to local shell, press 'Ctrl+Alt+]'.
Last login: Wed Sep 9 10:26:34 2020 from 192.168.1.163
[dmdba@localhost ~]$
[dmdba@localhost ~]$
[dmdba@localhost ~]$
[dmdba@localhost ~]$ cd /home/dmdba/dmdbms/data/DAMENG/bak
[dmdba@localhost bak]$ ll
總用量 4
drwxr-xr-x 2 dmdba dminstall 4096 9月 9 12:02 DB_DAMENG_FULL_20200909_122802_975951
[dmdba@localhost bak]$
[dmdba@localhost bin]$ cd /etc/init.d/
[dmdba@localhost init.d]$ ./DmServiceDMSERVER stop
Stopping DmServiceDMSERVER: [ OK ]
[dmdba@localhost init.d]$ cd /home/dmdba/dmdbms/bin
[dmdba@localhost bin]$ ./dmrman
dmrman V8
RMAN> RESTORE DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET'/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_20200909_122802_975951';
RESTORE DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_20200909_122802_975951';
file dm.key not found, use default license!
RESTORE DATABASE CHECK......
RESTORE DATABASE,dbf collect......
RESTORE DATABASE,dbf refresh ......
RESTORE BACKUPSET [/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_20200909_122802_975951] START......
total 3 packages processed...
total 7 packages processed...
RESTORE DATABASE,UPDATE ctl file......
RESTORE DATABASE,REBUILD key file......
RESTORE DATABASE,CHECK db info......
RESTORE DATABASE,UPDATE db info......
total 7 packages processed...
total 7 packages processed!
CMD END.CODE:[0]
restore successfully.
time used: 284.771(ms)
5、對資料庫進行恢復
RMAN> RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET'/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_20200909_122802_975951';
RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' FROM BACKUPSET '/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_20200909_122802_975951';
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[34896]
RESTORE RLOG CHECK......
CMD END.CODE:[603],DESC:[備份集[/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_20200909_122802_975951]備份程序中未產生日志]
備份集[/home/dmdba/dmdbms/data/DAMENG/bak/DB_DAMENG_FULL_20200909_122802_975951]備份程序中未產生日志
recover successfully!
time used: 233.906(ms)
6、更新DB_MAGIC值
RMAN> RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC;
RECOVER DATABASE '/home/dmdba/dmdbms/data/DAMENG/dm.ini' UPDATE DB_MAGIC;
Database mode = 0, oguid = 0
EP[0]'s cur_lsn[34896]
EP[0]'s apply_lsn[34896] >= end_lsn[34896]
recover successfully!
time used: 990.579(ms)
RMAN>
7、啟動達夢資料庫資料庫實體服務
[dmdba@localhost bin]$ ./DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ FAILED ]
file dm.key not found, use default license!
version info: develop
Use normal os_malloc instead of HugeTLB
Use normal os_malloc instead of HugeTLB
DM Database Server x64 V8 1-1-45-19.11.21-116030-ENT startup...
Database mode = 0, oguid = 0
License will expire on 2020-11-21
file lsn: 34896
ndct db load finished
ndct fill fast pool finished
iid page's trxid[3006]
NEXT TRX ID = 3007
pseg_collect_items, collect 0 active_trxs, 0 cmt_trxs, 0 pre_cmt_trxs, 0 active_pages, 0 cmt_pages, 0 pre_cmt_pages
pseg_process_collect_items end, 0 active trx, 0 active pages, 0 committed trx, 0 committed pages
total 0 active crash trx, pseg_crash_trx_rollback begin ...
pseg_crash_trx_rollback end
purg2_crash_cmt_trx end, total 0 page purged
set EP[0]'s pseg state to inactive
pseg recv finished
nsvr_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.
Server DM7_DCT_VERSION mismatch, version of data is 7, server version is 5.
Server DM8_DCT_VERSION mismatch, version of data is 18, server version is 16.
Please use the correct version of server or set the CHECK_SVR_VERSION=0 in dm.ini
[dmdba@localhost bin]$
發現資料庫服務無法啟動,提示服務器版本不對,需要修改CHECK_SVR_VERSION=0
vi /home/dmdba/dmdbms/data/DAMENG/dm.ini
CHECK_SVR_VERSION = 0 #Whether to check server version
再去啟動資料庫實體服務
[dmdba@localhost bin]$ ./DmServiceDMSERVER start
Starting DmServiceDMSERVER: [ OK ]
[dmdba@localhost bin]$
發現服務啟動成功,現在開始登錄資料庫看是否正常,
[dmdba@localhost bin]$ ./disql
disql V8
用戶名:
密碼:
[-2501]:用戶名或密碼錯誤.
用戶名:
本地登錄,資料庫賬號密碼錯誤,經過一些列的檢查,發現兩個資料庫的小版本不對,
發現192.168.1.60使用的達夢資料庫版本是:dm8_setup_rh7_64_ent_8.1.1.45_20191121.iso
發現192.168.1.21使用的達夢資料庫版本是:dm8_setup_rh6_64_ent_8.1.1.88_20200629.iso
這次把備份集拷貝到本地windows資料庫上進行恢復,本地資料版本是:dm8_setup_win64_ent_8.1.1.88_20200708.iso

停止資料庫實體服務

windows使用dmrman工具最好使用管理員運行,

啟動實體服務,查看資料庫是否正常,



資料庫正常,
總結:如果使用備份還原方式進行遷移庫的話,最好使用相同版本,小版本必須要一樣,
192.168.1.60使用的達夢資料庫版本是:dm8_setup_rh7_64_ent_8.1.1.45_20191121.iso
192.168.1.21使用的達夢資料庫版本是:dm8_setup_rh6_64_ent_8.1.1.88_20200629.iso
192.168.1.163使用的達夢資料庫版本是:dm8_setup_win64_ent_8.1.1.88_20200708.iso
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/3385.html
標籤:其他
上一篇:MSQL資料庫的編碼格式
