從網上看到的一份很詳細的文章,講的也是一些常用的sql可是覺得有的東西別人適用的也不一定適合我,所以打算從頭到尾看看,整理出自己需要的貼出來以備後用.已經整理完了.[@more@]1.一個table佔用的空間
SQL> select owner ,table_name,num_rows,blocks*8192/1024/1024 "size M" ,empty_blocks,
2 last_analyzed from dba_tables where table_name='WVLS';
2. 最大的session數目
SQL> select * from v$license;
SESSIONS_MAX SESSIONS_WARNING SESSIONS_CURRENT SESSIONS_HIGHWATER USERS_MAX
3.database 創建的時間
SQL> select created from v$database ;
4.database 名稱
SQL> select name from v$database ;
5. 通過sql plus 查找本機IP
select sys_context('userenv','ip_address') from dual;
6.查詢表空間信息
SELECT * FROM dba_data_files;
7.查看各個表空間佔用磁盤的情況
SQL> select
b.file_id 文件ID號,
b.tablespace_name 表空間名,
b.bytes 字節數,
(b.bytes-sum(nvl(a.bytes,0))) 已使用,
sum(nvl(a.bytes,0)) 剩餘空間,
sum(nvl(a.bytes,0))/(b.bytes)*100 剩餘百分比
from dba_free_space a,dba_data_files b
where a.file_id=b.file_id
group by b.tablespace_name,b.file_id,b.bytes
order by b.file_id;
注意:nvl表示如果a.bytes欄位的值為空(null)則返回0,如果不為空則返回a.bytes 的值
8.查看系統當前的SCN 號
select max(ktuxescnw * power(2, 32) + ktuxescnb) from x$ktuxe;
9.用中文排序
Oracle9i之前,中文是按照二進制編碼進行排序的。
在oracle9i中新增了按照拼音,部首,筆劃排序的功能,通過設置NLS_SORT值 可以達到效果
SQL> alter session set NLS_SORT=SCHINESE_PINYIN_M;
Session altered
SQL> SELECT * FROM TEST ORDER BY A;
其中:NLS_SORT=SCHINESE_RADICAL_M 表示按照部首(第一順序),筆劃(第二順序)排序
NLS_SORT=SCHINESE_STROKE_M 表示按照筆劃(第一順序),部首(第二順序)排序
NLS_SORT=SCHINESE_PINYIN_M 表示按照拼音排序
10. sql plus 選項的設定(之前從來沒有碰到過,是一個新知識)
SQL*PLUS自身的選項設置可以在$ORACLE_HOME/sqlplus/admin/glogin.sql中設置。
11.將小表放入keep 池中
alter table xxx storage(buffer_pool keep);
12.使select 語句的查詢結果自動生成序號
select rownum,COL from table;
13.查看哪些user 有sysdba,sysoper權限
select * from V$PWFILE_USERS;
14.查看數據文件放置的路徑
select tablespace_name,file_id,bytes/1024/1024,file_name from dba_data_files order by
file_id;
15.查看數據庫有多少個instance and instance 的狀態等信息
select * from v$instance;
16.查看數據庫裡面所有的table
select * from all_tables;
17.查看sql 語句執行的時間
sql>set timing on;
sql>select .....
sql>set timing off;
18.查詢後table 欄位的連接起來的書寫
select concat(col1,col2) from table;
這種只適用與兩個欄位的連接
select col1 || col2 ||col3 from table ;
這種適用與多個欄位的連接
19.在sqlplus 下面改變字段的大小(只能改大不能改小)
alter table table_name modify (field_name varchar2(100));
20.如何在table 裡面插入全年的日期(真的很不錯的sql)
create table BSYEAR (d date);
insert into BSYEAR
select to_date('20030101','yyyymmdd')+rownum-1
from all_objects
where rownum
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/202861/viewspace-785606/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/202861/viewspace-785606/
5853

被折叠的 条评论
为什么被折叠?



