用数据库术语来说,批处理作业由多个程序、PL/SQL 过程或 SQL 脚本组成,它们按顺序一起运行,可选择针对多个数据库。 单个作业与您在 SQL 编辑器或工作表中运行的 SQL 片段没有太大区别; 它具有其他功能,例如可以根据需要保存和运行,或基于另一个事件运行,并计划在特定时间运行,如果需要可重复运行。 Toad ® for Oracle by Quest 提供 多种内置功能,例如用于运行批处理作业的脚本管理器、Toad 脚本运行程序和调度程序作业。 在本文中,我们将讨论使用这些功能在 Toad for Oracle 中创建和运行批处理作业。
设置环境
在运行任何批处理作业之前,请设置以下先决条件:
下载并安装 Toad for Oracle 14 DBA 版,其中包括 DB Admin 模块,如何下载 Toad for Oracle 中所述。
在 Toad for Oracle 中创建 Oracle 自治数据库实例并创建与 Oracle 数据库的连接,如 如何将 Toad® for Oracle 与 Oracle 自治数据库一起使用中 所述。
什么时候需要批处理作业?
虽然大多数任务可以通过运行单个脚本的单个作业来完成,但有时需要将多个脚本作为批处理作业一起运行。 我们将用一个例子来演示。 Oracle 自治数据库服务中的连接提供三个后缀为 _high 、 _medium 和 _low 的数据库。 假设您需要连接到这些数据库中的每一个,并按列出的顺序执行以下数据库任务:
以用户 ADMIN 连接到数据库实例
创建一个名为 test的新用户
分配默认表空间 为测试
将临时表空间的配额授予 测试 用户
授予 CREATE SESSION 和 CREATE TABLE权限 向 测试 用户
连接数据库 以新用户test
创建表
将数据添加到新表
查询表数据
放下桌子
断开与数据库的连接 作为用户测试
再次连接到数据库 以用户ADMIN
放弃用户 测试
要执行一系列任务,请创建一个名为 script1.sql 的 SQL 脚本并将其保存在目录 C:UsersdvohraAppDataRoamingQuest SoftwareToad for Oracle.0 trialUser Files 中。 对于不同的用户,用户目录会有所不同。 列出了要在一个数据库上运行的 SQL 脚本 ( script1.sql )(替换连接凭据,例如密码 Admin___23 和数据库名称 db202105212159_high 以使用脚本):
连接管理员/管理员___23@db202105212159_high;
创建用户 test1 由管理员识别___23 默认表空间数据配额 10M ON DATA TEMPORARY TABLESPACE temp;
授予创建会话,创建表到 test1;
连接 test1/Admin___23@db202105212159_high;
创建表 t1 (i INTEGER);
插入 t1(i) 值(1);
从 t1 中选择 *;
删除表 t1;
断开;
连接管理员/管理员___23@db202105212159_high;
删除用户测试1级联;
创建第二个脚本 ( script2.sql ) 以针对第二个数据库实例执行相同的任务序列。 列出了第二个脚本:
连接管理员/ADW___23@db202105212159_medium;
CREATE USER test2 IDENTIFIED BY ADW___23 DEFAULT TABLESPACE DATA QUOTA 10M ON DATA TEMPORARY TABLESPACE temp;
授予创建会话,创建表到 test2;
连接测试2/ADW___23@db202105212159_medium;
创建表 t2 (i 整数);
插入 t2(i) 值(1);
从 t2 中选择 *;
删除表 t2;
断开;
连接管理员/ADW___23@db202105212159_medium;
DROP USER test2 级联;
同样,创建第三个脚本 ( script3.sql ) 以针对第三个数据库实例执行相同的任务序列。 列出了第三个脚本:
连接管理员/ADW___23@db202105212159_low;
CREATE USER test3 IDENTIFIED BY ADW___23 DEFAULT TABLESPACE DATA QUOTA 10M ON DATA TEMPORARY TABLESPACE temp;
授予创建会话,创建表到 test3;
连接测试3/ADW___23@db202105212159_low;
创建表 t3 (i 整数);
插入 t3(i) 值(1);
从 t3 中选择 *;
删除表 t3;
断开;
连接管理员/ADW___23@db202105212159_low;
DROP USER test3 级联;
脚本之间的唯一区别是数据库名称、示例用户名和示例表名。
接下来,我们将从这些脚本创建一个批处理脚本,以便我们可以运行批处理作业。
创建批处理脚本
要创建可运行的 PL/SQL 批处理脚本,请在 Toad for Oracle 中选择 Utilities>Script Manager (图 1)。
在 Script Manager 中,单击 New datafile... (图 2)。 数据文件是由一个或多个脚本组成的批处理脚本。
将打开一个 新脚本数据文件 对话框,提示用户保存新数据文件。 指定文件名( datafile1 ),然后单击 Save 。
接下来,将打开一个对话框,提示用户打开并将脚本添加到数据文件。 选择我们之前创建的三个脚本 script1.sql 、 script2.sql 和 script3.sql ,然后单击 Open 。
对于现有数据文件,可以使用 Add scripts... 添加脚本 ,这会打开图 3 中所示的相同对话框。
在 Add Scripts 对话框(图 4)中列出了三个脚本。 其他脚本 可以使用Add... 添加 ,并且可以使用 Remove... 删除 脚本。 指定一个 组 (Batch1)并单击 OK。
脚本管理器显示添加的新一批脚本(图 5)。
接下来,我们将运行这批脚本。
运行批处理作业
要运行批处理作业,请选择脚本。 要选择脚本,请单击第一个脚本以突出显示它,将光标移动到列表中的最后一个脚本并单击 Ctrl+左键。 选择三个脚本后,单击 Run selected scripts (图 6)。
一个接一个的脚本将运行。 处理 脚本... 脚本运行时应显示 选项卡 对话框。 输出 (图 7)列出了输出。
这些脚本在 SQL * Plus 中运行。 列出了一个脚本的输出:
SQL> 连接管理员/ADW___23@db202105212159_high
连接为 ADMIN@DB202105212159_HIGH
SQL> CREATE USER test1 IDENTIFIED BY ADW___23 DEFAULT TABLESPACE DATA QUOTA 10M ON DATA TEMPORARY TABLESPACE temp
用户创建。
SQL> GRANT CREATE SESSION, CREATE TABLE TO test1
授予完成。
SQL> CONNECT test1/ADW___23@db202105212159_high
连接为 TEST1@DB202105212159_HIGH
SQL> 创建表 t1 (i 整数)
表已创建。
SQL> 插入 t1(i) 值(1)
创建了 1 行。
SQL> SELECT * 从 t1
我
----------
1
已选择 1 行。
SQL> 删除表 t1
桌子掉了。
SQL> 断开连接
从 Oracle Database 19c 企业版版本 19.0.0.0.0 断开连接 - 生产
SQL> 连接管理员/ADW___23@db202105212159_high
连接为 ADMIN@DB202105212159_HIGH
SQL> DROP USER test1 级联
用户掉线了。
选项卡列出了消息, 消息 包括每个脚本的错误数。 这些消息表明三个脚本在一个连接中完成。
**************************************************************************
连接:ADMIN@DB202105212159_HIGH
**************************************************************************
脚本:C:UsersdvohraAppDataRoamingQuest SoftwareToad for Oracle.0 trialUser Filesscript1.sql 完成。 0 个错误。
脚本:C:UsersdvohraAppDataRoamingQuest SoftwareToad for Oracle.0 trialUser Filesscript2.sql 完成。 0 个错误。
脚本:C:UsersdvohraAppDataRoamingQuest SoftwareToad for Oracle.0 trialUser Filesscript3.sql 完成。 0 个错误。
一次连接完成 3 个脚本
上一条:Toad怎么导出数据?
下一条:怎么使用Toad for Oracle Pro DB Admin 更改和删除数据库对象