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