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表示忽略錯誤 大致的方法就是這樣,可以再增添其它命令來執行更復雜的操作.