C oracle還原imp例項

2022-05-26 01:24:14 字數 2654 閱讀 6497

c#來做oracle還原,呼叫oracle自帶函式imp.exe時,需要注意的是:

1、imp.exe 中fromuser 和touser兩個關鍵字; fromuser與exp.exe中的owner對應,為表的所有者,都可以是多個引數,如:fromuser=(a,b,c)

2、imp.exe 進行恢復資料庫時,要確定一下恢復使用者(方案)的表空間,一般預設為users空間

3、在獲取到表空間許可權後,要對使用者進行恢復許可權設定,主要是對錶空間的限制,一般處理:grant unlimited tablespace to user(自己的使用者)

4、程式中設定了oracle服務端的exp和imp的路徑

注意:在c#做備份和還原的時候,都是呼叫的oracle伺服器的自帶函式

在用程序來呼叫備份和還原時,備份完成和結束後,要進行程序釋放。

//開始恢復資料庫

private

void button1_click(object

sender, eventargs e)

if (backusers.length > 0

)

stringuserarr=backusers.split(','

);

string sqluser=""

; string marks;

string newtables = ""

;

using (oracleconnection oracon =orclconnection())

catch

(exception ex)

using (oracletransaction tran =oracon.begintransaction())

newuser = newuser.substring(0, newuser.length - 1

); newtables += newuser + ","

; }

com.commandtext = "

select count(*) from all_users where username='

" + newuser + "'"

;

int i =convert.toint32(com.executescalar());

//如果存在,刪除後還原

if (i > 0

)

catch

(exception ex)

}if (i == 0

)

catch

(exception ex)

}sqluser = "

grant connect,resource,dba to

" +newuser;

com.commandtext =sqluser;

com.executenonquery();

sqluser = "

alter user system quota unlimited on users";

com.commandtext =sqluser;

com.executenonquery();

//指定還原的方案為還原預設的表空間

sqluser = "

grant unlimited tablespace to

"+newuser ;

com.commandtext =sqluser;

com.executenonquery();

}if (!checkbox1.checked)

tran.commit();}}

}//}

string filename = textbox5.text;//

恢復檔案路徑

//匯入程式路徑

process p = new

process();

//pathrestroe

"].tostring();

p.startinfo.useshellexecute = true

; p.startinfo.createnowindow = false

; p.startinfo.arguments = "

system/system@orcl file=

" + filename + "

fromuser=(

"+backusers+"

) touser=(

" +tables+ "

) ignore=y";

= "system/system@orcl file=" + filename + " fromuser=hygistk_controlline_zl2 touser=hygistk_controlline_zl ignore=y";

p.start();

p.waitforexit();

p.dispose();

}

oracle 還原資料庫 imp

imp c nvs 111111 file e 專案 ishow web buckup database oracle初始資料庫匯入 20170714 expdata 20170714.dump log e 專案 ishow web buckup database oracle初始資料庫匯入 201...

Oracle學習筆記 imp還原資料庫

1.建立使用者及指定使用者名稱密碼 create user 使用者名稱 identified by 密碼 create user fskxjsxy identified by fskxjsxy 2.使用者授權 grant connect,resource,dbato 使用者名稱 grant conn...

頁面實現資料庫備份(還原)例項

資料庫名稱為 cynosuredb 專案中用來存備份檔案的資料夾 backupfile sql 語句 backup database cynosurebd todisk filepath 資料訪問方法 public bool copydata string filepath 頁面按鈕事件 備份資料 ...