oracle日常維護語句

2022-07-26 23:30:12 字數 4027 閱讀 5017

1.如何檢視資料庫的狀態 

unix下 

ps -ef | grep ora 

windows下 

看服務是否起來 

是否可以連上資料庫 

sql> select status, instance_role from v$instance; 

通過此語句可以核查資料庫是否出於open狀態 

2.如何查有多少個資料庫例項 

sql>select * from v$instance; 

3.怎樣查得資料庫的sid 

select name from v$database; 

也可以直接檢視 init.ora檔案 

4.檢視表空間占用情況 

select  b.file_id  file_id,  b.tablespace_name  tablespace_name, b.bytes  bytes,  (b.bytes-sum(nvl(a.bytes,0)))  used, sum(nvl(a.bytes,0))  free, sum(nvl(a.bytes,0))/(b.bytes)*100         percent   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; 

5如何.獲取表空間資訊 

select * from dba_tablespaces(或者v$tablespace); 

6.如何改變表空間的大小 

通過手動改變資料檔案大小來改變表空間大小: 

alter database datafile 『/opt/oracle/data/datafilename.dbf』 resize 500m; 

通過在表空間中增加資料檔案來改變表空間大小: 

alter tablespace tablespace_name add datafile 『opt/oracle/data/newdatafile.dbf』 size 300m; 

7.如何增加臨時表空間大小 

如果原來的使用者預設臨時表空間大小不夠,此時首先用如下語句建立一足夠大的臨時表空間: 

create temporary tablespace temp 

tempfile '/u01/oradata/temp01.dbf' size 500m 

extent management local uniform size 10m; 

然後用如下語句改變使用者的預設臨時表空間: 

alter user username temporary tablespace new_temporary_tablespace_name; 

8. 如何檢視資料檔案的資訊 

資料檔案資訊: 

select * from dba_data_files(v$datafile); 

臨時資料檔案資訊: 

select * from dba_temp_files(v$tempfile) 

9.如何將表移動之表空間 

alter table table_name move tablespace_name; 

10.如何檢視回滾段名稱及大小 

select segment_name, tablespace_name, r.status, 

(initial_extent/1024) initialextent,(next_extent/1024) nextextent, 

max_extents, v.curext curextent 

from dba_rollback_segs r, v$rollstat v 

where r.segment_id = v.usn(+) 

order by segment_name ; 

11.如何察看回滾段競爭情況 

select * from v$undostat; 

返回結果中nospaceerrcnt欄位的值應該為0,如果持續出現非0,建議增加回滾段表空間大小. 

12.如何檢視控制檔案. 

select name from v$controlfile; 

13.如何檢視日誌檔案 

select member from v$logfile; 

14.如何檢視日誌檔案的切換時間 

sql>select to_char(first_time,'yyyy-mm-dd hh24:mi:ss') change_time from v$log_history; 

15.檢視資料庫版本 

select * from v$version 

16.檢視會話情況 

select machine,terminal from v$session; 

17.如何檢視系統最大會話數 

select * from v$parameter where name like 『proc%』 

show parameter processes 

select * from v$license 

18. 如何檢視系統被鎖的事務時間 

select * from v$locked_object 

19.檢視資料庫的建立日期和歸檔方式 

select created,log_mode,log_mode from v$database 

20.如何以archivelog的方式執行oracle 

init.ora 

log_archive_start = true 

restart database 

21.如何獲取有哪些使用者在使用資料庫 

select username from v$session; 

22.如何顯示當前連線使用者 

show  user 

23.如何獲取使用者相關資訊 

select * from dba_users(dba_ts_quotas); 

從結果中可以檢視使用者的預設臨時表空間等資訊. 

24.如何檢視每個使用者的許可權 

select *  from dba_sys_privs; 

25. 如何知道使用cpu多的使用者session 

11是cpu used by this session 

select a.sid,spid,status,substr(a.program,1,40)prog,a.terminal,osuser,value/60/100 value from v$session a,v$process b,v$sesstat c where c.statistic#=11 and c.sid=a.sid and a.paddr=b.addr order by value desc; 

26.unix 下怎麼調整資料庫的時間? 

su -root 

date -u 08010000 

27.如何檢視當前資料庫裡鎖的情況 

以dba角色, 檢視當前資料庫裡鎖的情況可以用如下sql語句: 

select object_id,session_id,locked_mode from v$locked_object; 

select t2.username,t2.sid,t2.serial#,t2.logon_time 

from v$locked_object t1,v$session t2 

where t1.session_id=t2.sid order by t2.logon_time;如果有長期出現的一列,可能是沒有釋放的鎖。我們可以用下面sql語句殺掉長期沒有釋放非正常的鎖: 

alter system kill session 'sid,serial#'; 

如果出現了鎖的問題, 某個dml操作可能等待很久沒有反應。 

28.如何解鎖 

alter system kill session  『sid,serir#』; 

29.如何獲取錯誤資訊 

select *  from  user_errors; 

30.如何獲取連線狀況 

select  * from  dba_db_links; 

Oracle 資料庫日常維護 1

七 資料庫壞塊的處理 當 oracle資料庫出現壞塊時,oracle會在警告日誌檔案 alert sid.log 中記錄壞塊的資訊 ora 01578 oracle data block corrupted file 7,block ora 01110 data file oracle1 orada...

HBASE日常維護

一,基本命令 建表 create testtable coulmn1 coulmn2 也可以建表時加coulmn的屬性如 create testtable 其中的屬性有versions 設定歷史版本數,ttl 過期時間,compression 壓縮方式,當配置lzo的情況 刪除表 drop test...

HBASE日常維護

一,基本命令 建表 create testtable coulmn1 coulmn2 也可以建表時加coulmn的屬性如 create testtable 其中的屬性有versions 設定歷史版本數,ttl 過期時間,compression 壓縮方式,當配置lzo的情況 刪除表 drop test...