監視Oracle系統狀態以及查詢死鎖的用例語句

2021-04-06 20:57:22 字數 3960 閱讀 1386

以下為在優化過程中需要監視的一些sql和檢視一些資料庫狀態的用例語句.

1:資料庫鏈結的備份指令碼.

select '--'||chr(10)||'-- owner is ' || u.name||chr(10)||'-- db link is'|| l.name||chr(10)||'--'||chr(10)||'create '||decode(u.name,'public','public')||' database link '||chr(10)||decode(u.name,'public',null, u.name||'.')|| l.name||chr(10)||'connect to ' || l.userid || ' identified by'''||l.password||''' using ''' || l.host || ''''||chr(10)||';' text from sys.link$ l,sys.user$ u where l.owner# = u.user#;

2:監控表空間的i/o 比例:

select df.tablespace_name name,df.file_name "file",f.phyrds pyr,f.phyblkrd pbr,f.phywrts pyw,

f.phyblkwrt pbw

from v$filestat f,dba_data_files df

where f.file#=df.file_id

3.在某個使用者下找所有的索引:

select user_indexes.table_name, user_indexes.index_name,uniqueness, column_name

from user_ind_columns, user_indexes

where user_ind_columns.index_name = user_indexes.index_name

and user_ind_columns.table_name = user_indexes.table_name

order by user_indexes.table_type, user_indexes.table_name,

user_indexes.index_name, column_position;

4. 監控 sga 中字典緩衝區的命中率

select parameter, gets,getmisses , getmisses/(gets+getmisses)*100 "miss ratio",

(1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 "hit ratio"

from v$rowcache

where gets+getmisses <>0

group by parameter, gets, getmisses;

5. 監控 sga 中共享快取區的命中率,應該小於1%

select sum(pins) "total pins", sum(reloads) "total reloads",

sum(reloads)/sum(pins) *100 libcache

from v$librarycache;

select sum(pinhits-reloads)/sum(pins) "hit radio",sum(reloads)/sum(pins) "reload percent"

from v$librarycache;

6: 監控 sga 中重做日誌快取區的命中率,應該小於1%

select name, gets, misses, immediate_gets, immediate_misses,

decode(gets,0,0,misses/gets*100) ratio1,

decode(immediate_gets+immediate_misses,0,0,

immediate_misses/(immediate_gets+immediate_misses)*100) ratio2

from v$latch where name in ('redo allocation', 'redo copy');

7. 監控當前資料庫誰在執行什麼sql語句

select osuser, username, sql_text from v$session a, v$sqltext b

where a.sql_address =b.address order by address, piece;

8:獲得客戶端主機資訊

select

sys_context('userenv','terminal') terminal,

sys_context('userenv','host') host,

sys_context('userenv','os_user') os_user,

sys_context('userenv','ip_address') ip_address

from dual

9:通過這個查詢語句來判斷, 還需要多久, 該session才能夠be killed(斷開).

select a.sid sessionid,d.spid os_id,a.username,a.terminal,c.name,b.xidslot,b.xidsqn,b.used_ublk,b.used_urec,b.log_io,b.phy_io,b.cr_get,b.cr_change

from v$session a,v$transaction b,v$rollname c,v$process d

where a.taddr = b.addr

and b.xidusn = c.usn

and a.paddr = d.addr;

10:用v$session_longops跟蹤ddl語句;

select * from v$session_longops來檢視執行時間很長的ddl和dml語句的會話或乙個特定的ddl語句已

經完成了多少以及任何執行時間很長的操作使用了多長的時間。

11、查詢有無死鎖

select username,lockwait,status,machine,program from v$session where sid in

(select session_id from v$locked_object);

12、查詢被死鎖語句

select sql_text from v$sql where hash_value in

(select sql_hash_value from v$session where sid in

(select session_id from v$locked_object));

13、查詢死鎖程序

select s.username,l.object_id,l.session_id,s.serial#,

l.oracle_username,l.os_user_name,l.process

from v$locked_object l,v$session s where l.session_id=s.sid;

14、kill程序

alter system kill session 'sid,serial#';---(其中sid=l.session_id)

15、查詢 scn , time對應關係:

select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss'), to_char(dbms_flashback.get_system_change_number) as  scn   from dual;

16、通過時間flashback query資料:

select * from xzsp.t_wf_eng_ins as of timestamp to_timestamp('2010-09-30 13:55:55', 'yyyy-mm-dd hh24:mi:ss');

17、通過scn 閃回資料: 

select * from xzsp.t_wf_eng_ins as of scn   11321795018821; 

Oracle建立表空間 建立使用者以及授權 檢視許可權

建立臨時表空間 建立使用者表空間 建立使用者並制定表空間 create user tzz identified by tzz default tablespace tzz test data temporary tablespace tzz test temp 給使用者授予許可權 grant cre...

Oracle建立表空間 建立使用者以及授權 檢視許可權

建立臨時表空間 create temporary tablespace test temp tempfile c oracle product 10.1.0 oradata orcl test temp01.dbf size 32m autoextend on next 32m maxsize 20...

Oracle建立表空間 建立使用者以及授權 檢視許可權

建立臨時表空間 create temporary tablespace test temp tempfile c oracle product 10.1.0 oradata orcl test temp01.dbf size 32m autoextend onnext 32m maxsize 204...