1. 程式人生 > >oracle查詢類

oracle查詢類

1.檢視Oracle字符集 --資料庫伺服器 select * from nls_database_parameters; --客戶端字符集 select * from nls_instance_parameters; --會話(例項字符集) select * from nls_session_parameters; --oracle server端的字符集 select userenv('language') from dual;   --dmp檔案(oracel server端的字符集、oracle client端的字符集、dmp檔案的字符集都一致才能正確匯入) 用oracle的exp工具匯出的dmp檔案也包含了字符集資訊,dmp檔案的第2和第3個位元組記錄了dmp檔案的字符集。如果dmp檔案不大,比如只有幾M或幾十M,可以用UltraEdit開啟(16進位制方式),看第2第3個位元組的內容,如0354,然後用以下SQL查出它對應的字符集: SQL> select nls_charset_name(to_number('0354','xxxx')) from dual; ZHS16GBK 如果dmp檔案很大,比如有2G以上(這也是最常見的情況),用文字編輯器開啟很慢或者完全打不開,可以用以下命令(在unix主機上): cat exp.dmp |od -x|head -1|awk '{print $2 $3}'|cut -c 3-6 然後用上述SQL也可以得到它對應的字符集。   2.相關檢視
v$parameter:oracle引數   select value from v$parameter where name ='processes';  --資料庫允許的最大連線數   alter system set processes = 1000 scope = spfile;  --修改最大連線數:   select value from v$parameter where name ='sessions';  --資料庫允許的最大會話數   alter system set sessions= 1528 scope = spfile;  --修改最大連線數:   v$process:oracle服務程序(服務端)   資料庫相關程序 不常用 v$session:oracle連線資訊(client端)   select count(*) from v$session;  --當前的session連線數   select count(*) from v$session v where v.STATUS='ACTIVE' --併發連線數   3.分析表與索引
analyze table tablename compute statistics;   4.表記錄被另一個使用者鎖住

select Distinct 'alter system kill session '||chr(39)||b.sid||','||b.serial#||chr(39)||';'
As cmd,b.username,b.logon_time
from v$locked_object a,v$session b
where a.session_id=b.sid;