Oracle數據庫的自動導入與導出,在許多地方有廣泛的應用。例如:一個Oracle數據庫應用系統開發結束後,如果要將系統安裝到客戶電腦上,就需要將初始數據導入到用戶的Oracle數據庫中。
最近項目中也需要實現以上功能,花了點時間搜索實驗,整理如下:
先把要安裝的初始資料檔案導出為initial.dmp,然後在客戶計算上安裝好Oracle,接著執行批處理文件impInitialData.bat(與該批處理文件同一目錄還有createuser.sql,initial.dmp兩個文件)。
impInitialData.bat中內容如下:
@echo off
sqlplus system/manager @createuser
imp system/manager file=initial.dmp fromuser=initialuser
touser=initialuser ignore = y
|
上面的createuser是一個擴展名為sql的文件.與批處理文件放在同一目錄下.其內容為:
create user initialuser identified by test;
grant dba,resource,connect to initialuser;
exit;
|
補充:刪除用戶時用:drop user powercc cascade; 其中powercc為用戶名。
簡要解釋一下:@echo off表示其之後的命令不在命令提示符窗口顯示出來。sqlplus為Oracle的一個工具程式,須先安裝Oracle後才能使用。system/manager為Oracle的一個默認管理員帳戶,如果被鎖定或更改密碼了就不能用了,可以用其他的帳戶/密碼來替換。@createuser表示執行createuser.sql文件。該sql文件中, create user xx identified by yy;表示創建一個密碼為yy的用戶xx。grant dba,resource,connect to xx;表示授權給用戶xx dba,resource,connect 許可權。imp為導入數據命令,後面的參數中 file表示要導入的數據庫文件;fromuser表示原導出的數據庫文件的用戶名;touser表示要導入的數據庫的用戶名;ignore表示忽略錯誤。
大致的方法就是這樣,可以再增添其他命令來執行更複雜的操作。
(T004)