set用法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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时将会报错: