我想写一个powershell脚本来帮助跨多个数据库的一些用户维护任务。如何从powershell执行PL/SQL包?
- 数据库1包含了用户ID和用户类型(例如:员工,分包商等)
- 数据库2包含有许多PL/SQL程序包和程序,我可以执行更新信息数据库这个分贝。
这里基本上是我想要在伪代码中完成的工作,但是我对PL/SQL程序包和程序没有太多经验,特别是从PowerShell中。
是否有可能从powershell执行wwsec_api.set_defaultgroup过程?
SELECT userID FROM Database2.users
while (userID){
SELECT employeeType FROM Database1.users WHERE Database2.users.userID = Database1.users.userID
If employeeType = 'Employee' then
run Database2 PL/SQL package procedure wwsec_api.set_defaultgroup(ID, USER)
end if
}
这种方法可行,但有几个问题(可能有解决方法?)我需要能够安排它每天运行,并且能够随意运行它。此外,我需要能够更新脚本/ SQL /程序和我们的DBA的保持数据库锁定(他们应该)相当不错。如果我找不到从我的电脑上运行此操作的方法,我一定会走这条路。 – ProfessionalAmateur 2011-04-01 19:40:59
@专业业余爱好者:您可以创建一个过程而不是匿名块。然后,您可以随时从SQL * Plus调用它,也可以使用DBMS_SCHEDULER进行调度。这正是PL/SQL所做的。如果您可以将代码保存在服务器上,它可能会更快,更易于管理并且更安全。 – 2011-04-02 02:57:40