oracle bat 批处理 调用 .sql 文件 创建 删除 用户 dba 权限 导入 导出 用户 imp exp

首先创建一个bat文件,起名叫setupDB.bat,里边写上

Sql代码 复制代码
  1. sqlplus scott/tiger@zhpt @createUser.sql   
  2.   
  3. imp dzjc/hldgajjzd file="dzjc.dmp" ignore=y fromuser=dzjc   
  4.   
  5. imp drv_admin/oracleadmin file="drv_admin.dmp" ignore=y fromuser=drv_admin   
  6.   
  7. imp veh_admin/oracleadmin file="veh_admin.dmp" ignore=y fromuser=veh_admin   
  8.   
  9. pause  
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



说明:
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代码 复制代码
  1. --把sys和zlkj改为具有sysdba权限的用户名和密码(如sys用户)   
  2. conn sys/zlkj@dzjc_2005 as sysdba    
  3.   
  4. --删除原DZJC用户   
  5. --DROP USER DZJC CASCADE   
  6. --/   
  7. --创建用户DZJC,密码为 hldgajjzd   
  8. CREATE USER DZJC IDENTIFIED BY "hldgajjzd"  
  9. /   
  10. --给DZJC用户DBA权限   
  11. GRANT DBA TO DZJC   
  12. /   
  13. --用DZJC用户连接数据库   
  14. CONN DZJC/hldgajjzd@zhpt   
  15.   
  16. commit;   
  17.   
  18. INSERT INTO "DZJC"."DZJC_YHMC"(userid,pwd,username,glbm) VALUES ('0','admin888','admin888','admin');   
  19.   
  20. commit;   
  21.   
  22. --创建用户DRV_DZJC,密码为 oracleadmin   
  23. CREATE USER DRV_DZJC IDENTIFIED BY "oracleadmin"  
  24. /   
  25. --给DRV_DZJC用户DBA权限   
  26. GRANT DBA TO DRV_DZJC   
  27. /   
  28. --用DRV_DZJC用户连接数据库   
  29. CONN DRV_DZJC/oracleadmin@zhpt   
  30. /   
  31.   
  32. commit;   
  33.   
  34. --创建用户VEH_DZJC,密码为 oracleadmin   
  35. CREATE USER VEH_DZJC IDENTIFIED BY "oracleadmin"  
  36. /   
  37. --给VEH_DZJC用户DBA权限   
  38. GRANT DBA TO VEH_DZJC   
  39. /   
  40. --用VEH_DZJC用户连接数据库   
  41. CONN VEH_DZJC/oracleadmin@zhpt   
  42. /   
  43.   
  44. commit;   
  45.   
  46. exit  
--把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



这个文件注释写的很清楚了

最后说下这个批处理的流程
首先是连接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指的是导入到哪个用户里

你可能感兴趣的:(oracle,sql,idea)