oracle常用命令

2021-06-26 12:56:09 字數 1476 閱讀 5868



1、查詢字符集

資料庫伺服器字符集

select * from nls_database_parameters

select userenv('language') from dual;

還分客戶端字符集、會話字符集,不常用。客戶端的字符集要求與伺服器一致,才能正確顯示資料庫的非ascii字元(未測試)。

2、查資料庫版本

select * from v$version

3、查資料庫sid

select name from v$database;

4、查詢當前連線使用者,並刪除

select username,sid,serial# fromv$session;

alter system kill session '151,3840';

5、set define off關閉替代變數功能

在sql*plus中預設的"&"表示替代變數,也就是說,只要在命令中出現該符號,sql*plus就會要你輸入替代值。這就意味著你無法將乙個含有該符號的字串輸入資料庫或賦給變數,如字串「sql&plus」系統會理解為以「sql」打頭的字串,它會提示你輸入替代變數 plus的值,如果你輸入abc,則最終字串轉化為「sqlabc」。

set define off 則關閉該功能,「&」將作為普通字元,如上例,最終字元就為「sql&plus」

set define off關閉替代變數功能

set define on 開啟替代變數功能

set define *  將預設替代變數標誌符該為「*」(也可以設為其它字元)

6、oracle分頁查詢

1.根據rowid來分

select * from t_xiaoxi where rowid in(select rid from (select rownum rn,rid from(select rowid rid,cid from t_xiaoxi order by cid desc) where rownum<10000) where rn>9980) order by cid desc;

執行時間0.03秒

2.按分析函式來分

select * from (select t.*,row_number() over(order by cid desc) rk from t_xiaoxi t) where rk<10000 and rk>9980;

執行時間1.01秒

3.按rownum來分

select * from(select t.*,rownum rn from(select * from t_xiaoxi order by cid desc) t where rownum<10000) wherern>9980;

執行時間0.1秒

其中t_xiaoxi為表名稱,cid為表的關鍵字段,取按cid降序排序後的第9981-9999條記錄,t_xiaoxi表有70000多條記錄

個人感覺1的效率最好,3次之,2最差



Oracle 常用命令

1 檢視當前所有物件 sql select from tab 2 建乙個和a表結構一樣的空表 sql create table b as select from a where 1 2 sql create table b b1,b2,b3 as select a1,a2,a3 from a whe...

oracle常用命令

create insert delete select 建立使用者必須在sys超級管理員下 連線到超級管理員 conn sys as sysdba sys zhuangyan system zhuangyan scott tiger 查出所有 clerk 辦事員 的姓名及其部門名稱,部門的人數.找出...

oracle 常用命令

建立臨時表空間 02createtemporarytablespace os temp 03tempfile c oracle product 10.2.0 oradata os temp.dbf 04size100m 05autoextendon 06next100m maxsize 1024m ...