記一次db2 備份 恢復過程中遇到的使用者許可權問題

2022-01-24 11:25:03 字數 1069 閱讀 2504

今天在備份windows上db2資料的時候用的以下命令(原db2 dba使用者為a)

db2 backup db db2demo

執行成功

然後再另一台同環境機器上執行

db2 create db db2demo

成功db2 connect to db2demo

成功db2 create schema db2rcs

成功db2 grant dbadm on database to user b (因為恢復電腦使用者名稱與備份機器使用者名稱不同)

成功,(此時使用者b對db2demo 有完全管理許可權)

然後執行資料庫恢復,命令

db2 restore db db2demo from e:\ taken at 20180531132230

成功然後出現問題 ,使用者b失去了資料庫db2demo除了connect外的任何許可權!

當再次執行剛剛執行成功過的命令

db2 grant dbadm on database to user b

時,依舊報錯,沒有grant許可權。

換任何使用者再使用grant命令,提示未授權,甚至不可以執行select 檢視表。

經過多次反覆試驗後(此處省略試驗了多少次:joy:),發現問題原因:備份時,資料庫的有效dba使用者是a,在另一台電腦執行db2 restore 命令恢復資料庫db2demo後,db2demo 只有使用者a才有dba許可權。

解決辦法:在恢復電腦上,建立使用者a,並加入administrators組(有的win10系統沒有使用者和組這個管理選單了,而是被控制面板中的賬戶管理所代替,但是經我測試,控制面板中的賬戶管理沒有找到管理使用者和組的功能 - -!有人知道怎麼弄請回帖告知)。

然後先刪掉當前這個無法管理的庫

db2 drop db db2demo

成功重新建這個庫,步驟同上,不同的是,在恢復備份之前,給a使用者grant dbadm許可權。恢復完成後,只有a使用者有該庫的dba許可權。

發現這個問題的關鍵在於測試過程中,剛建立db2demo這個庫時,未恢復備份之前,許可權是沒問題的。故懷疑是恢復備份檔案後導致的許可權問題。

在蛛絲馬跡中尋找線索,過程很痛苦,結果很感人。

在DB2中利用離線備份恢復資料。

在db2中利用離線備份恢復資料。先模擬表中資料被破壞,刪除資料或清除表。db2 connect to mydb 資料庫連線資訊 資料庫伺服器 db2 nt64 9.7.4 sql 授權標識 db2admin 本地資料庫別名 mydb db2 select from testid 1 條記錄已選擇。d...

DB2資料庫備份與恢復實驗全過程

db2資料庫備份實驗準備工作 1 建立測試資料庫testdb db2 create db testdb on e db2back using codeset gbk territory cn 2 建立表tbtest 並插入資料 db2 create table tbtest in int not n...

一次公升級動易文章過程中遇到的問題

幫朋友公升級動易文章系統,他原來的版本已經很舊了,聽說是3.6,不過我對動易和動網都不熟悉,沒有辦法判斷。上網找3.6的原系統,找不到,只找到3.5的,在asp163.net上找到的資料庫公升級程式也只有3.5 to 4.0x的,看來要公升級到2005sp2還不能直接。朋友的資料庫不知道怎麼與我在官...