oracle 用bat批处理调用.sql文件,创建或删除用户,给用户赋DBA权限,导入导出用户表...

it2022-05-31  79

首先创建一个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.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代码 --把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,密码为 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指的是导入到哪个用户里

转载于:https://www.cnblogs.com/goodyao/archive/2009/11/26/1611481.html


最新回复(0)