set用法

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle9i SET用法简介1

设置一个系统变量来改变你当前会话的SQL*Plus环境设置,比如:

∙数据的显示宽度

∙自定义的HTML格式

∙启用或者禁用列标题的打印

∙每页行长度

你也可以在i SQL*Plus中使用系统变量屏幕来设置系统变量。

SET 系统变量值

系统变量和值都会显示在SET命令中。

用法

SQL*Plus维护系统变量(也称之为SET命令变量)来使你对一个SQL*Plus会话建立一个特定的环境。你可以使用SET命令改变这些系统变量,并使用SHOW命令列出它们的值。

SET ROLE和SET TRANSACTION是SQL命令(详情参考Oracle9i SQL Reference)。当后面不接TRANSACTION或ROLE关键字时,SET默认是一个SQL*Plus命令。SET APPI[NFO]{ON|OFF|text}

通过DBMS_APPLICATION_INFO包设置脚本的自动注册。它使得DBA能监控每个脚本的性能和资源使用情况。注册的名字显示在V$SESSION和V$SQLAREA视图中的MODULE字段。你可以使用DBMS_APPLICATION_INFO.READ_MODULE过程来获取注册的名字。

ON注册被@,@@或START命令调用的脚本。OFF禁用脚本注册。替代的,text的当前值被注册。当没有脚本在运行或者当APPINFO设为OFF(这是默认设置)时,Text指定注册text。对于text,默认是“SQL*Plus”。如果你在text中输入多个字,你必须使用引号把它们括起来。Text的最大长度受

DBMS_APPLICATION_INFO包的限制。

注册的名字有nn@xfilename的格式,其中nn是脚本的深度水平;当脚本名被截断时,x是’<’,否则它是空的;filename是脚本名,可能会被截断成

DBMS_APPLICATION_INFO包接口所允许的长度。

注意:

为了使用这个特征,你必须可以访问DBMS_APPLICATION_INFO

包。以SYS用户运行DBMSUTIL.SQL(这个名字可能根据你的操

作系统不同而不同)来创建DBMS_APPLICATION_INFO包。

DBMSUTIL.SQL是Oracle9i数据库服务器产品的一部分。

更多关于DBMS_APPLICATION_INFO包的信息,参考Oracle9i Database Performance Tuning Guide and Reference手册。

举例:

由于它的默认是SET OFF,为了显示APPINFO的设置,输入

SET APPINFO ON

SHOW APPINFO

APPINFO值为ON,并被设置给了”SQL*Plus”

为了改变默认的text值,输入

SET APPINFO 'This is SQL*Plus'

为了确信注册已经被替代,输入

VARIABLE MOD VARCHAR2(50)

VARIABLE ACT VARCHAR2(40)

EXECUTE DBMS_APPLICATION_INFO.READ_MODULE(:MOD, :ACT);

PL/SQL procedure successfully completed.

PRINT MOD

MOD

---------------------------------------------------

This is SQL*Plus

为了改变APPINFO回它的默认值,输入

SET APPI OFF

SET ARRAY[SIZE] {15|n}

设置SQL*Plus一次从数据库里获取的行数--称之为一个batch。取值范围从1到5000。取大值会增加获取多行的查询和子查询的效率,但是需要更多的内存。值大于100之后,性能变化不大。ARRAYSIZE对SQL*Plus操作的结果没有影响,出了增加效率。

SET AUTO[COMMIT]{ON|OFF|IMM[EDIATE]|n}

控制Oracle什么时候提交对数据库的挂起的改变。ON表示在数据库成功执行每一个INSERT、UPDATE、DELETE命令或者PL/SQL块之后提交对数据库的挂起的改变。OFF禁止自动提交,因而你必须手动提交改变(例如,使用SQL命令COMMIT)。IMMEDAITE方式的功能和ON选项一样。n表示在数据库成功执行n条INSERT、UPDATE、DELETE命令或者PL/SQL块之后提交对数据库的挂起的改变。n必须大于0小于2,000,000,000。在成功执行n条INSERT、UPDATE、DELETE命令或者PL/SQL块、commit、rollback、SET AUTOCOMMIT命令之后,语句的计数器会重置为0。

注意:

对于这个特征,一个PL/SQL块被当做一个事物,不管包含多少

个实际的SQL命令个数。

SET AUTOP[RINT] {ON|OFF}

设置绑定变量的自动打印。ON或OFF控制SQL*Plus是否自动显示绑定变量(参考EXECUTE命令执行PL/SQL块)。更多关于现实绑定变量的信息,参考本章的PRINT命令。

SET AUTORECOVERY [ON|OFF]

ON表示在恢复期间, RECOVER命令自动应用所需的默认归档日志文件名。当AUTORECOVERY设置为ON时,不需要交互,需要提供的文件以特定的文件名存在于特定的目录。当AUTORECOVERY为0N时所用用的文件名是由初始化参数

LOG_ARCHIVE_DEST and LOG_ARCHIVE_FORMAT的值决定的。

在i SQL*Plus中,你必须设置使用RECOVERY命令将AUTORECOVERY设置为ON。试图使用AUTORECOVERY OFF时将会报错:

相关文档
最新文档