1:查看當前用戶的環境設置:
SQL> define DEFINE _DATE = "21-JAN-14" (CHAR) DEFINE _CONNECT_IDENTIFIER = "updb" (CHAR) DEFINE _USER = "SCOTT" (CHAR) DEFINE _PRIVILEGE = "" (CHAR) DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR) DEFINE _EDITOR = "ed" (CHAR) DEFINE _O_VERSION = "Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR) DEFINE _O_RELEASE = "1102000300" (CHAR) SQL>
2:當前用戶設置環境:
SQL> define_editor = 'VI'; SQL> define DEFINE _DATE = "21-JAN-14" (CHAR) DEFINE _CONNECT_IDENTIFIER = "updb" (CHAR) DEFINE _USER = "SCOTT" (CHAR) DEFINE _PRIVILEGE = "" (CHAR) DEFINE _SQLPLUS_RELEASE = "1102000300" (CHAR) DEFINE _EDITOR = "VI" (CHAR) DEFINE _O_VERSION = "Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options" (CHAR) DEFINE _O_RELEASE = "1102000300" (CHAR) SQL>
3:編輯login.sql
當退出當前用戶的時候,所設置的環境就自動恢復成默認值,可以在login.sql文件中做設置,就不用每次都手動修改:
[oracle@steven ~]$ cat login.sql define_editor=vi set serveroutput on size 1000000 set trimspool on set long 5000 set linesize 100 set pagesize 9999 column plan_plus_exp format a80 column global_name new_value gname set termout off define gname=idle column global_name new_value gname select lower(user) || '@' || substr(global_name,1,decode( dot,0,length(global_name),dot-1))global_name from (select global_name,instr(global_name,'.') dot from global_name); set sqlprompt '&gname> ' set termout on
4:對login.sql腳本進行說明
define_editor=vi:設置SQL*Plus 使用的默認編輯器。可以把它設置為你中意的文本編輯器。
set serveroutput on size unlimited:默認的打開DBMA_OUTPUT,設置緩沖區的大寫盡可能大。
set trimspool on:假脫機輸出文件時,會去除問本行兩端的空格,而且行寬不定,如果設置為OFF,假脫機輸出文件寬度則等於所設置的linesize。
set long 5000:設置選擇LONG和CLUB列時顯示的默認字節數。
set linesize 100:設置SQL*Plus顯示的文本行寬為100個字符。
set pagesize 9999:pagesize可以控制SQL*Plus多久打印一次標題。
column paln_plus_exp format a80:設置由AUTOTRACE得到的解釋計划輸出的默認寬度。a80通常足以放下整個計划。
select lower(user) || '@' || substr(global_name,1,decode( dot,0,length(global_name),dot-1))global_name from (select global_name,instr(global_name,'.') dot from global_name); set sqlprompt '&gname> ':這部分用於簡歷SQL*Plus的提示符,告訴SQL*Plus取得global_name列中的最后一個值,並將這個值賦給變量gname.