SQLPLUS 使用的一些技巧

2021-09-05 20:15:36 字數 3486 閱讀 8494

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模板...