關於設定SQLPLUS提示符樣式的方法

2021-09-04 12:16:13 字數 2553 閱讀 9875

摘要:大家在日常工作中,我想99%都會用到sqlplus工具來登陸你的資料庫,對資料庫進行管理、調優、配置、運維。那麼如果有n多台資料庫的時候,我們在連線後全部是統一的sql>提示符,就有可能發生目前不知道連線到

哪個庫上,當我們切換使用者很頻繁的時候也有可能不清楚當前在使用的是哪個使用者,下面我就給大家介紹一下,如何配置sqlplus工具的登陸配置檔案,來動態載入我們提示符的樣子。

系統:redhat linux 5.4

資料庫:oracle 10g

工具:sqlplus

一、全域性模式

什麼叫全域性模式呢:當我們配置完sqlplus工具載入配置檔案後,無論在哪個目錄下登陸資料庫,您設定【sqlplus提示符樣子,在任何目錄下進入sqlplus工具都會載入此提示符樣子】的效果都可以呈現出來

1.glogin.sql 配置檔案的位置

答:$oracle_home/sqlplus/admin/glogin.sql

vim $oracle_home/sqlplus/admin/glogin.sql

2.新增的字串,取預設變數

定位到這個檔案的最後一行,回車另起一行的開頭新增如下字串

set sqlprompt "_user'@'_connect_identifier> "

或者 set sqlprompt '_user@&_connect_identifier> '

含義:_user 代表當前登陸使用者名稱,_connect_identifier 代表當前資料庫連線串名,在glogin.sql中設定全域性sqlplus提示符樣子user和connect identifier是sqlplus的預設變數

注:此時設定的是在所有目錄下登陸sqlplus工具都會生效,@替換成【¥/#/&都可以】,從別的目錄進入sqlplus也載入提示符變數

3.儲存&退出

4.sqlplus / as sysdba

看現在的sqlplus提示符已經變化了,sys表示當前登入的是管理員使用者,mdsoss是我的資料庫連線串名,這樣的話我們就可以在登入若干個資料庫的時候不會發生混淆的情況了。

sys@mdsoss>

二、區域性模式

什麼叫區域性模式呢:只在當前目錄有效,例如我們在當前目錄下配置login.sql檔案,那麼就在當前目錄下進入sqlplus工具會載入login.sql檔案提示符會生效,其他目錄下登陸不生效

1.在當前目錄下建立login.sql檔案

例子 vim /home/oracle/login.sql

2.編輯login.sql檔案,新增一行字串

set sqlprompt "_user'@'_connect_identifier> "

或者 set sqlprompt '_user@&_connect_identifier> '

含義:_user 代表當前登陸使用者名稱,_connect_identifier 代表當前資料庫連線串名,在glogin.sql中設定全域性sqlplus提示符樣子user和connect identifier是sqlplus的預設變數

注:此時設定的是在當前目錄下登陸sqlplus工具提示符生效,@替換成【¥/#/&都可以】,從別的目錄進入sqlplus不載入提示符變數

3.儲存&退出

4.sqlplus / as sysdba

sys@mdsoss>

5.區域性生效測試版

如果我們在其他目錄下登入sqlplus,這是我們已經發現了不同點,恢復到原始狀態

sqlplus / as sysdba

sql>

三、指定使用者名稱和例項名方法

1.編輯glogin.sql和login.sql檔案,在最後面新增如下內容

set term off

define user_name=""

define instance_name=""

column user_name new_value user_name

column instance_name new_value instance_name

select lower(user) user_name, instance_name instance_name from v$instance;

set sqlprompt '&user_name@&instance_name>'    

注釋:--user_name 代表當前登陸的使用者名稱,instance_name 代表當前登陸的例項名

sys@mdsoss> @可替換【¥/#/&都可以】

2.使用sqlplus登入資料庫

這種方式在登陸和切換使用者的時候,可指定使用者名稱和例項名

enter value for user: liusheng

enter value for instance_name:leonarding

liusheng@leonarding>

小結:使用上述方法可以讓我們在資料庫海洋裡游刃有餘,平時練習的時候也可以加上,形成習慣,這樣在連線不同的資料庫時就不會導致不知道連線的是哪個庫了。

leonarding 劉盛

2012.03.28

天津&spring

分享技術~成就夢想

blog:www.leonarding.com

關於設定SQLPLUS提示符樣式的方法

摘要 大家在日常工作中,我想99 都會用到sqlplus工具來登陸你的資料庫,對資料庫進行管理 調優 配置 運維。那麼如果有n多台資料庫的時候,我們在連線後全部是統一的sql 提示符,就有可能發生目前不知道連線到哪個庫上,當我們切換使用者很頻繁的時候也有可能不清楚當前在使用的是哪個使用者,下面我就給...

獲取SQL Plus 提示符

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 sel...

bash 命令提示符設定

不知道這個要怎麼寫開頭,隨便寫一下吧!目的是想提提神!所以開頭並不重要看圖!bash命令提示符的顯示格式 是通過乙個系統變數ps1控制的 我們改變命令提示符的格式其實就是改變ps1 的值。下面是一些ps1 變數的值 從上面的可以看出 每個不同的變數值都會帶了命令提示符顯示效果的不同,但是這些字元又代...