sqlplus 使用的一些技巧
在oracle的維護過程中,目前oracle有很多易用的客戶端
工具,如pl
sql、delveloer、toad,但作為
資料庫管理員也需要經常和sqlplus 打交道,一些常用的操作往往需要在sqlplus完成,如果sqlplus不熟悉也在很大程度上降低我們的維護效率,本文主要介紹一些在
管理資料庫過程中比較有用的的sqlplus技巧。
技巧一:修改sqlplus的提示符
1 問題描述:
oracle的sqlplus預設情況下是沒有
系統提示符的,由於在日常維護操作中經常要在sqlplus下做一些高危險的操作如shutdown之類的操作,如果操作的物件錯誤將導致裝置事故。
2 解決辦法:
通過修改sqlplus提示符號,可以明確地標識所要操作的資料庫,避免操作錯誤;
3 處理過程:
sqlplus
程式在啟動情況下可以通過
設定相關引數,讓其執行login.sql,然後通過修改login.sql指令碼可以定義一些語句,達到修改sqlplus的提示符的目的,便於識別,login.sql的
檔案路徑需要通過作業系統環境變數sqlpath進行
設定:windows環境下,通過修改
登錄檔專案在sqlpath(位置一般在oracle-home下)在
登錄檔中,可以設定為d:/oracle/ora92/dbs
unix的可以直接在oracle
column old_name new_value pname
set termout off
select lower(user) || '@' ||instance_name old_name from v$instance;
set sqlprompt '&pname> '
set termout on
通過這樣修改每次通過sqlplus登陸系統的時候會顯示username@instancname>更好地識別所要連線的資料庫。注意:連線使用者必須要有檢視v$instance的
許可權。技巧二:在sqlplus 下執行作業系統
命令在使用sqlplus的過程中,經常要執行一些作業系統方面的命令,可以通過兩種方法:
1)在sqlplus命令列下執行host命令,可以切換到作業系統命令列下,執行完後exit可以切換回sqlplus命令列下。
2)直接在sqlplus 下執行敲乙個」!」後面跟上具體的命令列(但在windows下不支援)。
技巧三:在sqlplus修改sql語句:
使用sqlplus的過程中也經常需要修改sql語句,但是sqlplus下的修改sql語句的命令過於煩瑣不好記憶,可以通過定義相關變數達到很好的效果。
1)在unix 下可以定義define_editor=vi,如果需要修改sql語句,直接在命令列下用edit就可以進入vi環境,和vi操作
功能一樣,方便操作,設定辦法直接在sqlplus的命令列下敲:
define_editor=vi;
在windows下可以定義define_editor=notepad,如果需要修改sql語句,直接在命令列下用edit就可以進入notepad編寫環境,windows下操作就方便多了;
技巧四:在sqlplus下檢視sql語句的執行時間情況
1)可以通過直接在sqlplus命令列下執行命令set time on(開啟sql語句的執行時間顯示);
2)在sqlplus命令列下執行命令 set timing on(統計sql語句的執行時間);
技巧五:在sqlplus 下檢視sql語句的執行計畫
在業務維護過程中,經常需要檢視某個sql語句執行計畫,看是否使用到合適的索引等,可以通過下操作來完成 set autotrace traceonly exp
select * from cncdlp114.t_unit where unitcode='hwjsgs';
set autotrace off
執行完成後可以看到語句的執行計畫:
注意:執行操作前的前提該使用者下有plan_table表(一般都有),如果沒有可以通
過語句來建立 -- create table
create table plan_table (
statement_id varchar2(30),
plan_id number,
timestamp date,
remarks varchar2(4000),
operation varchar2(30),
options varchar2(255),
object_node varchar2(128),
object_owner varchar2(30),
object_name varchar2(30),
object_alias varchar2(65),
object_instance integer,
object_type varchar2(30),
optimizer varchar2(255),
search_columns number,
id integer,
parent_id integer,
depth integer,
position integer,
cost integer,
cardinality integer,
bytes integer,
other_tag varchar2(255),
partition_start varchar2(255),
partition_stop varchar2(255),
partition_id integer,
other long,
distribution varchar2(30),
cpu_cost integer,
io_cost integer,
temp_space integer,
access_predicates varchar2(4000),
filter_predicates varchar2(4000),
projection varchar2(4000),
time integer,
qblock_name varchar2(30)
) 結束語:
其實oracle的sqlplus功能是很強大的,如果想研究其它的一些功能可以參考
oracle的相關文件,提高維護技能
from:
SlickEdit 一些使用技巧
slickedit 使用了幾天以後,發現不僅僅是自動提示,瀏覽,它提供的編輯功能也非常強大。如果說 sourceinsight 和 slickedit 在瀏覽 上面各有所長,那麼編輯這方面 se 和 si 就不是乙個級別了。下面是我知道的一些使用技巧,老鳥就不用看了,哈哈.1.如果發現路徑的 顯示成...
mysql 一些使用技巧
1.忘記root密碼,解決辦法 usr local mysql share mysql mysql.server stop mysql4 usr local mysql support files mysql.server stop mysql5 usr local mysql bin mysqld...
latex一些使用技巧
1.如何使連續的參考文獻能夠中間用破折號連起來?比如 6,7,8,9 變成 6 9 方法 在文件開始前加上下面的語句命令 usepackage numbers,sort compress 不但可以壓縮參考文獻標號,還可以進行排序,即無論正文裡面的順序怎樣,顯示出來都是先後順序。在elsevier模板...