重新發現Oracle太美之glogin.sql
剛開始接觸Oracle的時候,有時候一登陸一個生產環境,經常會出現下面的情況:
[oracle@rh64 app]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Thu May 15 03:17:34 2014
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SP2-0103: Nothing in SQL buffer to run.
Session altered.
Elapsed: 00:00:00.00
sys@ora11g(34)>
----->>>上面會顯示你是用哪個用戶登錄的,登陸數據庫的實例名,還有操作的時間日志等信息。其實這樣也能提高用戶的警惕性,時刻提醒自己是以
什麼用戶執行操作的,要細心,不要產生誤操作。其實這個定義非常簡單,只要仔細看過Oracle官方文檔的人就知道怎麼設置了。下面是官方文檔的位置
我使用的11.2.0.4的官方文檔,但是位置都是一樣的。
Database Administration
--->>>UNIX and Windows Database Administration
--->>>Administrator's Reference for Linux and UNIX-Based Operating Systems
--->>>4 Administering SQL*Plus
這是SQLPLUS的設置文件有兩個,一個是在$ORACLE_HOME/sqlplus/admin/glogin.sql
這個叫做Site Profile File,每次以sqlplus進去的時候,sqlplus都會第一先讀取這個文件,所以如果你想在全局設置,讓所有登錄數據庫的用戶都能使用,那就在這裡定義就OK了。
還有一個是叫做User Profile File , 顧名思義就是個人的profile文件,可以定義成login.sql,其實這個放在哪裡都可以,他會遍歷你當前這個目錄的文件看看有沒有login.sql,如果有,就會讀取並進行設置,然後覆蓋glogin.sql裡面的東西。我個人習慣是放在我登錄用戶的家目錄下面,直接在家目錄下面定義一個login.sql,寫上我喜歡設置的一些SQL變量,符合我個人的要求。為了個性化的要求及安全起見,我個人還是建議在自己家目錄下定義自己系統的變量吧。下面是我的變量
設置供大家參考:
[oracle@rh64 ~]$ pwd
/home/oracle
[oracle@rh64 ~]$ cat login.sql
define _editor=vi
set serveroutput on size 1000000
set trimspool on
set timing on
set long 5000
set pagesize 5000
set linesize 1024
column plan_plus_exp format a80
column global_name new_value gname
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
set termout off
define gname=idle
column global_name new_value gname
select lower(user)||'@'||lower(instance_name)||'('||(select distinct sid from v$mystat)||')' global_name from v$instance;
set sqlprompt '&gname> '
set termout on
[oracle@rh64 ~]$
當然軟件安裝是固定了,人是活的,想怎麼玩,看你了~~~~