❶ 資料庫運維服務具體有哪些
資料庫運維服務是指:針對用戶資料庫開展的軟體安裝、配置優化、備份策略選擇及實施、數據恢復、數據遷移、故障排除、預防性巡檢等一系列服務。
主要服務內容如下:
1、資料庫安裝與配置;主要指定製資料庫安裝配置方案,檢查軟體安裝環境,安裝資料庫軟體,完成資料庫配置,並測試之;
2、資料庫性能優化: 主要是指核心參數調優,sql語句調優,性能評估方案的提供。
3、資料庫備份與恢復;主要是指本地、異地、同步、實時的分級備份與恢復方案及實施;
4、數據遷移:不同版本、不同廠商、不同結構資料庫間的數據遷移;
5、故障排除;通過遠程、上門等方式按服務級別實施故障排除
6、預防性巡檢;定期提供預防性巡檢,並完成系統參數、配置調優,及補丁分發、安裝服務。
❷ 如何檢查oracle資料庫性能
這種問題要回答好要求知識比較全面。
1 從操作系統層次上看
看CPU 內存 swqp(交換分區)等使用率
2 從磁碟上看
主要看磁碟讀寫。可以用dd測磁碟讀寫的速度 也可以在業務高峰期檢測磁碟的速率。
3 從資料庫本身來看。
先要看資料庫各個參數的值 。 如sga的大小,process的大小,redo日誌的個數與大小等這些關繫到性能的參數是否設置合理。
長期觀察的方式就是看各個時期的AWR報告。裡面有各種性能指標,以及按執行時間或資源排列的sql ,以及各種等待時間的排名。從這裡面可以掌握資料庫的長期的性能變化。
即時觀察的方式就是利用各種sql 查詢 資料庫在當前時間的各個性能指標(AWR報告裡面的各種指標也都是通過sql查詢出來的)
還有對資料庫整體的一個檢查:
如 表的大小,表是否需要分區而沒有分區,索引是否創建,索引是否失效,開發人員寫的sql是否正確使用到了索引,頻繁使用的sql是否有綁定變數,有頻繁大批量增刪改的表是否存在高水位。。。
額 總之,這個話題涉及的知識非常多,盡可能多的學習一些東西,祝你好運。
❸ Oracle資料庫檢查點問題
不能說是有哪些類型的checkpoint,應該說在什麼情況下會發生checkpoinnt這個動作。
以下情況會觸發checkpoinnt動作:
1.當發生日誌組切換的時候
2.當符合LOG_CHECKPOINT_TIMEOUT,LOG_CHECKPOINT_INTERVAL,fast_start_io_target,fast_start_mttr_target參數設置的時候
3.當運行ALTER SYSTEM SWITCH LOGFILE的時候
4.當運行ALTER SYSTEM CHECKPOINT的時候
5.當運行alter tablespace XXX begin backup,end backup的時候
6.當運行alter tablespace ,datafile offline的時候;
需要注意的是:
1.CKPT一定是是在checkpoint發生的時候將資料庫當前的SCN更新入資料庫文件頭和控制文件當中,同時DBWn進程將buffer cache中的臟數據塊(dirty block)寫到數據文件當中(這個臟數據也一定是當前online redo log保護的那一部分)。
2.同時CKPT進程還會在控制文件當中記錄(redo block address)RBA,這個地址用來標志恢復的時候需要從日誌中的那個位置開始。
❹ Oracle資料庫一些維護性文檔怎麼寫
你說的這個是資料庫開發,和DBA的事情。
1,安裝配置文檔 ----DBA或者運維人員
2,web系統操作手冊---測試人員編寫
3,數據字典文檔---開發提供詳細內容,DBA整理標准文檔
4,故障處理----一般是記錄發生過的故障
5,巡檢文檔----DBA
6,操作記錄文檔---- DBA or 運維人員,記錄伺服器所有的操作。
7,備份定時任務。。。。等等
❺ 如何巡檢帶asm的oracle資料庫
ASM全稱為Automated Storage Management,即自動存儲管理,它是自Oracle10g這個版本Oracle推出的新功能。這是Oracle提供的一個卷管理器,用於替代操作操作系統所提供的LVM,它不僅支持單實例配置,也支持RAC這樣的多實例配置。將給Oracle資料庫管理員帶來極大的方便,ASM可以自動管理磁碟組,並提供數據冗餘和優化。特別是對於企業極的大型資料庫管理員來說,可以使
❻ 如何對Oracle進行健康檢查
看 oracle監聽是否啟動 在CMD下運行如下命令就可以
lsnrctl status
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:無監聽器
TNS-12560: TNS: 協議適配器錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 61: Unknown error
LSNRCTL> start listener1
啟動tnslsnr:請稍候...
這表示沒有啟動。。
方法2:
如果是LINUX系統可以通過如下命令看進程在不在
ps -ef|grep lsn
看 oracle監聽是否啟動 在CMD下運行如下命令就可以
lsnrctl status
正在連接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=spcc)(PORT=1525)))
TNS-12541: TNS:無監聽器
TNS-12560: TNS: 協議適配器錯誤
TNS-00511: 無監聽器
32-bit Windows Error: 61: Unknown error
LSNRCTL> start listener1
啟動tnslsnr:請稍候...
這表示沒有啟動。。
方法2:
如果是LINUX系統可以通過如下命令看進程在不在
ps -ef|grep lsn
啟動步驟:注意$代表shell命令提示符,這里的oracle是9.0以上版本。
1.$ su - oracle
2.$ sqlplus / nolog
3.sql> conn / as sysdba
4.sql> startup (一般不需要加參數,只要設置好環境變數)
5.sql> quit (退出sql模式)
6.$ lsnrctl start (啟動監聽器)
關閉oracle
1.$ lsnrctl stop(關閉監聽器,在這之前,應該先關閉應用程序)
2.$ sqlplus /nolog
啟動步驟:注意$代表shell命令提示符,這里的oracle是9.0以上版本。
1.$ su - oracle
2.$ sqlplus / nolog
3.sql> conn / as sysdba
4.sql> startup (一般不需要加參數,只要設置好環境變數)
5.sql> quit (退出sql模式)
6.$ lsnrctl start (啟動監聽器)
關閉oracle
1.$ lsnrctl stop(關閉監聽器,在這之前,應該先關閉應用程序)
2.$ sqlplus /nolog
3.sql>shutdown 其參數 :shutdown有四個參數,四個參數的含義如下:
Normal 需要等待所有的用戶斷開連接
Immediate 等待用戶完成當前的語句
Transactional 等待用戶完成當前的事務
Abort 不做任何等待,直接關閉資料庫
normal需要在所有連接用戶斷開後才執行關閉資料庫任務,所以有的時候看起來好象命令沒有運行一樣!在執行這個命令後不允許新的連接
immediate在用戶執行完正在執行的語句後就斷開用戶連接,並不允許新用戶連接。
transactional 在擁護執行完當前事物後斷開連接,並不允許新的用戶連接資料庫。
abort 執行強行斷開連接並直接關閉資料庫。
前三種方式不回丟失用戶數據。第四種在不的已的情況下,不建議採用!
2經常遇到的問題:
1)許可權問題,解決方法,切換到oracle用戶;
2)沒有關閉監聽器 ,解決方法:關閉監聽器
3)有oracle實例沒有關閉,解決辦法:關閉oracle實例
4)環境變數設置不全,解決辦法:修改環境變數
❼ oracle資料庫日常健康檢查會檢查哪些內容使用哪些命令
oracle檢測壞塊的方式:
1、利用oracle的RMAN工具
2、利用dbv工具檢測
3、利用 exp/imp工具檢測
其中2、3的方式無法徹底檢測所有壞塊,所以重點介紹下RMAN方式
RMAN>backup check logical validate datafile n ;
可以檢查數據文件是否包含壞塊,同時並不產生實際的備份輸出。
而且當使用Recovery Manager進行實際的資料庫備份時,同時也就進行了壞塊
檢查。但要注意的是,在線使用Recovery Manager掃描壞塊和備份時,需要數
據庫運行在歸檔模式(archive log),否則只能在資料庫未打開的情況下進行。
❽ oracle 檢查資料庫設置哪些event
如何查詢會話 event
很多時候,我們在資料庫中設置了event,如何確認設置的event生效或者如何確認你的庫中設置了什麼event.下面的文章測試了在11g中比較方便的方法資料庫版本
[sql] view plain 在CODE上查看代碼片派生到我的代碼片SQL>select*fromv$version;
BANNER
--------------------------------------------------------------------------------OracleDatabase11g Enterprise Edition Release 11.2.0.3.0 - 64bit ProctionPL/SQL Release 11.2.0.3.0 - Proction
CORE 11.2.0.3.0 Proction
TNSforSolaris: Version 11.2.0.3.0 - ProctionNLSRTL Version 11.2.0.3.0 - Proction
設置測試event
[sql] view plain 在CODE上查看代碼片派生到我的代碼片SQL>alter session set events '10510 trace name context forever,level 1';Session altered.
SQL>alter session set events '10046 trace name context forever,level 4';Session altered.
SQL>alter system set events '60025 trace name context forever';System altered.
SQL>alter system set events '10513 trace name context forever,level 2';System altered.
測試spfile參數中是否有event
[sql] view plain 在CODE上查看代碼片派生到我的代碼片SQL>create pfile='/tmp/pfile'fromspfile;
File created.
solaris*orcl-/home/oracle$ grep -i event /tmp/pfile--無記錄
SQL> show parameter event;
NAME TYPE VALUE------------------------------------ ----------- -----------------event stringxml_db_events string enable證明設置event不會在spfile中記錄
查詢會話event
[sql] view plain 在CODE上查看代碼片派生到我的代碼片--dbms_system實現
SQL> set serveroutput on size 1000000
SQL> declare
2 event_level number;
3 begin
4 for i in 1..100000 loop
5 sys.dbms_system.read_ev(i,event_level);6 if (event_level > 0) then
7 dbms_output.put_line('Event '||to_char(i)||' set at level '||8 to_char(event_level));
9 end if;
10 end loop;
11 end;
12 /
Event 10510 set at level 1
Event 10513 set at level 2
Event 60025 set at level 1
PL/SQL procere successfully completed.
--oradebug實現
SQL> oradebug SETMYPID
Statement processed.
SQL> oradebug eventmp session
10510 trace name context forever,level 1
10513 trace name context forever,level 2
60025 trace name context forever
sql_trace level=4
測試證明使用dbms_system可以捕獲到event,oradebug可以捕獲到本身會話,還可以通過setospid/setorapid來跟蹤其他會話的event設置情況.event 10046對應的本質是sql_trace所以使用dbms_system不能捕獲到10046經過學習和測試,總結可以使用oradebug來實現:
[sql] view plain 在CODE上查看代碼片派生到我的代碼片SQL> oradebug SETMYPID
Statement processed.
SQL> oradebug eventmp session
或
SQL> oradebug eventmp system
就可以查看系統級或會話級的事件設置了
❾ 做oracle資料庫運維的,主要工作的內容是什麼。
最主要的工作就是1、監控oracle系統是否正常。2、數據備份,並監控數據備份是否正常。
❿ 如何實現定時檢查oracle資料庫中的表是否被改動
其實你可以在user_tables表上建立觸發器,當這個表的數據發生變化時,你用觸發器往記錄表裡插入數據。