首先建立一個bat檔案,起名叫setupDB.bat,裡邊寫上 Sql代碼
- sqlplus scott/tiger@zhpt @createUser.sql
-
- imp dzjc/hldgajjzd file="dzjc.dmp" ignore=y fromuser=dzjc
-
- imp drv_admin/oracleadmin file="drv_admin.dmp" ignore=y fromuser=drv_admin
-
- imp veh_admin/oracleadmin file="veh_admin.dmp" ignore=y fromuser=veh_admin
-
- pause
sqlplus scott/tiger@zhpt @createUser.sqlimp dzjc/hldgajjzd file="dzjc.dmp" ignore=y fromuser=dzjcimp drv_admin/oracleadmin file="drv_admin.dmp" ignore=y fromuser=drv_adminimp veh_admin/oracleadmin file="veh_admin.dmp" ignore=y fromuser=veh_adminpause
說明:
1:sqlplus scott/tiger@zhpt @createUser.sql這句的意思是串連oracle並且調用createUser.sql這個檔案
2:執行完createUser.sql這個檔案後再執行imp dzjc/hldgajjzd file="dzjc.dmp" ignore=y fromuser=dzjc句話
3:pause 可以讓語句執行完停止在黑色視窗介面
下面是createUser.sql的內容
Sql代碼
- --把sys和zlkj改為具有sysdba許可權的使用者名稱和密碼(如sys使用者)
- conn sys/zlkj@dzjc_2005 as sysdba
-
- --刪除原DZJC使用者
- --DROP USER DZJC CASCADE
- --/
- --建立使用者DZJC,密碼為 hldgajjzd
- CREATE USER DZJC IDENTIFIED BY "hldgajjzd"
- /
- --給DZJC使用者DBA許可權
- GRANT DBA TO DZJC
- /
- --用DZJC使用者串連資料庫
- CONN DZJC/hldgajjzd@zhpt
-
- commit;
-
- INSERT INTO "DZJC"."DZJC_YHMC"(userid,pwd,username,glbm) VALUES ('0','admin888','admin888','admin');
-
- commit;
-
- --建立使用者DRV_DZJC,密碼為 oracleadmin
- CREATE USER DRV_DZJC IDENTIFIED BY "oracleadmin"
- /
- --給DRV_DZJC使用者DBA許可權
- GRANT DBA TO DRV_DZJC
- /
- --用DRV_DZJC使用者串連資料庫
- CONN DRV_DZJC/oracleadmin@zhpt
- /
-
- commit;
-
- --建立使用者VEH_DZJC,密碼為 oracleadmin
- CREATE USER VEH_DZJC IDENTIFIED BY "oracleadmin"
- /
- --給VEH_DZJC使用者DBA許可權
- GRANT DBA TO VEH_DZJC
- /
- --用VEH_DZJC使用者串連資料庫
- CONN VEH_DZJC/oracleadmin@zhpt
- /
-
- commit;
-
- exit
--把sys和zlkj改為具有sysdba許可權的使用者名稱和密碼(如sys使用者)conn sys/zlkj@dzjc_2005 as sysdba --刪除原DZJC使用者--DROP USER DZJC CASCADE--/--建立使用者DZJC,密碼為 hldgajjzdCREATE USER DZJC IDENTIFIED BY "hldgajjzd"/--給DZJC使用者DBA許可權GRANT DBA TO DZJC/--用DZJC使用者串連資料庫CONN DZJC/hldgajjzd@zhptcommit;INSERT INTO "DZJC"."DZJC_YHMC"(userid,pwd,username,glbm) VALUES ('0','admin888','admin888','admin');commit;--建立使用者DRV_DZJC,密碼為 oracleadminCREATE USER DRV_DZJC IDENTIFIED BY "oracleadmin"/--給DRV_DZJC使用者DBA許可權GRANT DBA TO DRV_DZJC/--用DRV_DZJC使用者串連資料庫CONN DRV_DZJC/oracleadmin@zhpt/commit;--建立使用者VEH_DZJC,密碼為 oracleadminCREATE USER VEH_DZJC IDENTIFIED BY "oracleadmin"/--給VEH_DZJC使用者DBA許可權GRANT DBA TO VEH_DZJC/--用VEH_DZJC使用者串連資料庫CONN VEH_DZJC/oracleadmin@zhpt/commit;exit
這個檔案注釋寫的很清楚了
最後說下這個批處理的流程
首先是串連Oracle,調用createUser.sql檔案,createUser.sql檔案建立了3個新使用者並且都賦了DBA許可權,然後回到批處理,執行了3次imp語句,就是匯入了3個表給建立的3個使用者
imp dzjc/hldgajjzd file="dzjc.dmp" ignore=y fromuser=dzjc
imp後跟的使用者名稱和密碼,指的是用哪個使用者匯出的就用哪個使用者去匯入
file是備份的檔案的路徑
ignore是指追加,使用者裡存在的資料就把資料追加到表裡
fromuser指的是匯入到哪個使用者裡