達夢數據庫入門之:常見故障處理(持續更新)

在達夢DCA培訓的這段時間裏也遇到了很多的問題,如今將本人目前遇到的一些問題記錄以下:後續若是再遇到新的問題再進行記錄及分享。數據庫


  1. [-104]:INI參數文件錯誤

本人在開啓數據庫歸檔日誌的過程當中,執行如下命令時遇到了這個錯誤bash

ALTER DATABASE ADD ARCHIVELOG 'DEST=/home/dmdba/dmdbms/data/DMLAB/arch,TYPE=LOCAL,FILE_SIZE=64,SPACE_LIMIT=0';
ALTER DATABASE ADD ARCHIVELOG 'DEST=/home/dmdba/dmdbms/data/DMLAB/arch,TYPE=LOCAL,FILE_SIZE=64,SPACE_LIMIT=0';
第1 行附近出現錯誤[-104]:INI參數文件錯誤.
已用時間: 0.751(毫秒). 執行號:0.
複製代碼

經過排查,確認爲dmarc.ini文件權限被修改成了root用戶,致使使用dmdba用戶進行歸檔文件添加時沒有相應權限修改dmarc.ini文件。工具

解決辦法:ui

chown dmdba.dinstall dmarc.inispa

  1. CMD END.CODE:[-7109],DESC:[管道鏈接失敗]

在使用dmrman進行脫機備份時遇到該錯誤:日誌

RMAN> BACKUP DATABASE '/dm7/dmdbs/DMDCM/dm.ini';
BACKUP DATABASE '/dm7/dmdbs/DMDCM/dm.ini';
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[4].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[3].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[2].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[1].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[0].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running, write dmrman info.
EP[0] max_lsn: 130255
BACKUP DATABASE [DMDCM],execute......
os_pipe2_conn_server open failed, name:[/home/dmdba/DM_PIPE_DMAP_LSNR_WR], errno:2
CMD END.CODE:[-7109],DESC:[管道鏈接失敗]
[-7109]:管道鏈接失敗
複製代碼

經過分析,發現該命令會讀取當前目錄下的DM_PIPE_DMAP_LSNR_WR文件,但該文件並不在當前的目錄下,實際該文件位於$DM_HOME/bin 目錄下,因而切換到該目錄下執行dmrmancode

[dmdba@dmlab ~]$ cd $DM_HOME/bin
[dmdba@dmlab bin]$ dmrman
dmrman V7.6.0.142-Build(2019.03.12-103811)ENT 
RMAN> BACKUP DATABASE '/dm7/dmdbs/DMDCM/dm.ini';
BACKUP DATABASE '/dm7/dmdbs/DMDCM/dm.ini';
file dm.key not found, use default license!
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[4].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[3].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[2].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[1].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running...[0].
checking if the database under system path [/dm7/dmdbs/DMDCM] is running, write dmrman info.
EP[0] max_lsn: 130255
BACKUP DATABASE [DMDCM],execute......
CMD CHECK LSN......
BACKUP DATABASE [DMDCM],collect dbf......
CMD CHECK ......
DBF BACKUP SUBS......
total 1 packages processed...
total 3 packages processed...
total 4 packages processed...
total 5 packages processed...
DBF BACKUP MAIN......
BACKUPSET [/dm7/dmdbs/DMDCM/bak/DB_DMDCM_FULL_20190922_232931_000868] END, CODE [0]......
META GENERATING......
total 6 packages processed...
total 6 packages processed!
CMD END.CODE:[0]
backup successfully!
time used: 7019.548(ms)
複製代碼

脫機備份執行成功,這樣看來環境變量的設置對於dmrman並無任何意義,反而還成爲了一個坑。server

  1. 錯誤號:-7105 錯誤消息:管道鏈接超時

在使用DM控制檯工具進行脫機備份時遇到了該錯誤,官方給的說法是沒有啓用DMAP服務,但實際狀況是DMAP服務是正常啓用的,以下:對象

[root@dmlab init.d]# service DmAPService status
DmAPService (pid 2292) is running...
複製代碼

多方嘗試解決未果,最後將DM控制檯工具有份還原的 備份還原執行策略:使用DMAP方式取消掉之後便可正常進行備份,目前還不知道具體是什麼緣由致使的,待後續進一步覈實。ip

  1. [-7041]:數據庫對象[SALARY_UPDATE]已存在

在建立名爲:SALARY_UPDATE的觸發器過程當中產生該錯誤。

錯誤緣由:觸發器名稱不能和表名稱相同

解決辦法:修改表名或者觸發器名稱

  1. DMAP INIT FAILED, CODE:[-7157]:管道文件已存在

在啓動DmAPService服務過程當中遇到該錯誤

緣由:$DM_HOME/bin/目錄下已經存在DM_PIPE_DMAP_LSNR_RD,DM_PIPE_DMAP_LSNR_WR文件,初步懷疑多是上次非正常關機形成

解決辦法:刪除$DM_HOME/bin/下DM_PIPE_DMAP_LSNR_RD及DM_PIPE_DMAP_LSNR_WR文件便可


以上爲目前爲止遇到的部分問題

相關文章
相關標籤/搜索