oracle11g數(shù)據(jù)庫常見故障處理PPT課件_第1頁
oracle11g數(shù)據(jù)庫常見故障處理PPT課件_第2頁
oracle11g數(shù)據(jù)庫常見故障處理PPT課件_第3頁
oracle11g數(shù)據(jù)庫常見故障處理PPT課件_第4頁
oracle11g數(shù)據(jù)庫常見故障處理PPT課件_第5頁
已閱讀5頁,還剩82頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、2021/2/3,TSD配套產(chǎn)品服務(wù)部2009年6月27日,Oracle 11g 數(shù)據(jù)庫常見故障處理,Page 2,目標(biāo),通過本課程的學(xué)習(xí),您將了解以下內(nèi)容: Oracle 11g數(shù)據(jù)庫常見故障及處理 安裝和配置類問題 實(shí)例管理類問題 數(shù)據(jù)管理類管理 數(shù)據(jù)庫恢復(fù)類問題 管理工具類問題 ORA-00600介紹和案例分析 ORA-07445介紹和案例分析,Page 3,目錄,安裝配置類 實(shí)例管理類 數(shù)據(jù)管理類 數(shù)據(jù)恢復(fù)類 管理工具類 ORA-00600 ORA-07445,Page 4,目標(biāo),通過本章節(jié)的學(xué)習(xí),您將了解以下內(nèi)容: ORACLE 11g常見的安裝類問題 這些問題的分析和解決,Page

2、 5,如何在客戶端啟動(dòng)圖形界面,問題 用客戶端連接到Unix或者Linux平臺(tái)上安裝數(shù)據(jù)庫軟件時(shí),常常無法啟動(dòng)圖形界面,因此無法進(jìn)行安裝 解決 以root用戶執(zhí)行: xhost + 客戶端需要安裝xmanager,并且通過Xbrowser登陸到主機(jī) 以oracle用戶執(zhí)行: export DISPLAY=客戶端IP:0.0 xclock (測(cè)試能否顯示圖形界面) 如果圖形界面還出不來,可以嘗試export DISPLAY=客戶端IP:1.0,Page 6,如何在服務(wù)器端啟動(dòng)圖形界面,問題 如果直接在服務(wù)器上安裝數(shù)據(jù)庫軟件時(shí),有時(shí)也會(huì)碰到不能啟動(dòng)圖形界面的問題 解決 以root用戶執(zhí)行: xho

3、st + 以oracle用戶執(zhí)行: export DISPLAY=:0.0 xclock (測(cè)試能否顯示圖形界面,Page 7,安裝CRS時(shí),無法添加節(jié)點(diǎn),故障現(xiàn)象 AIX或HPUX上安裝CRS的過程中,有一步是添加節(jié)點(diǎn),正常情況下,應(yīng)該可以添加本地節(jié)點(diǎn)和遠(yuǎn)程節(jié)點(diǎn),但添加遠(yuǎn)程節(jié)點(diǎn)時(shí)失敗。 解決方法 如果要安裝的CRS需要依賴操作系統(tǒng)雙機(jī)管理共享文件,那么安裝CRS時(shí),必須保證操作系統(tǒng)雙機(jī)服務(wù)啟動(dòng) 如果不需要操作系統(tǒng)雙機(jī)軟件,而只需要ASM管理共享存儲(chǔ),那么必須在操作系統(tǒng)上刪除雙機(jī)軟件,對(duì)于HACMP,要保證沒有安裝rsct.basic.hacmp包,對(duì)于HPUX,要保證沒有安裝Serviceg

4、uard包,Page 8,AIX上安裝CRS時(shí)提示bos.cifs_fs.rte檢查不通過,故障現(xiàn)象 在AIX5L上安裝CRS時(shí),當(dāng)安裝程序自動(dòng)檢查操作系統(tǒng)補(bǔ)丁時(shí),提示bos.cifs_fs_rte未安裝 解決辦法 安裝所需AIX程序包 smitty installp 重啟操作系統(tǒng) shutdown -Fr,Page 9,CRS安裝最后階段在第二個(gè)節(jié)點(diǎn)運(yùn)行root.sh報(bào)錯(cuò),故障現(xiàn)象 安裝CRS最后階段,在第二個(gè)節(jié)點(diǎn)執(zhí)行root.sh時(shí),報(bào)錯(cuò): The given interface(s), eth2 is not public.Public interfaces should be used

5、 to configure virtual IPs 解決辦法 以root身份手工在第二個(gè)節(jié)點(diǎn)執(zhí)行vipca cd /bin ./vipca,Page 10,安裝RAC時(shí)報(bào)ORA-00603,ORA-29702,故障現(xiàn)象 在安裝RAC時(shí),出現(xiàn)下列錯(cuò)誤: ORA-00603:ORACLE server session terminated by fatal error或 ORA-29702:error occurred in Cluster Group Service operation 原因分析 RAC的節(jié)點(diǎn)名出現(xiàn)在了/etc/hosts文件中的回送地址中xxxx 解決方法 如果機(jī)器名出現(xiàn)在回送

6、地址條目中,如下所示: 127.0.0.1 rac1 localhost.localdomain localhost 需要災(zāi)回送地址中刪除掉機(jī)器名,如下: 127.0.0.1 localhost.localdomain localhost,Page 11,無法連接數(shù)據(jù)庫ORA-12521,ORA-12505,故障現(xiàn)象 連接數(shù)據(jù)庫時(shí)報(bào)錯(cuò): 原因分析 客戶端tnsnames.ora配置的連接串中,關(guān)于instance_name的設(shè)置不正確,這個(gè)錯(cuò)誤類似ORA-12505: TNS:listener could not resolve SID given in connect descriptor

7、解決方法 檢查數(shù)據(jù)庫的instance_name: select instance_name from v$instance; 修改客戶端tnsnames.ora文件,設(shè)置正確的instance_name或SID,ERROR: ORA-12521: TNS:listener could not resolve INSTANCE_NAME given in connect descriptor,Page 12,無法連接數(shù)據(jù)庫ORA-12541,故障現(xiàn)象 連接數(shù)據(jù)庫時(shí)報(bào)錯(cuò): ERROR: ORA-12541: TNS:no listener 原因分析 可能原因一:客戶端tnsnames.ora配置

8、的連接串中,監(jiān)聽端口號(hào)設(shè)置不正確 可能原因二:數(shù)據(jù)庫服務(wù)器監(jiān)聽沒有啟動(dòng) 解決方法 檢查客戶端tnsnames.ora文件,設(shè)置正確的監(jiān)聽端口號(hào) 檢查服務(wù)器上的監(jiān)聽是否正常啟動(dòng),Page 13,無法連接數(shù)據(jù)庫ORA-12535,故障現(xiàn)象 連接數(shù)據(jù)庫時(shí)報(bào)錯(cuò): ERROR: ORA-12535: TNS:operation timed out 原因分析 可能原因:客戶端tnsnames.ora中,服務(wù)器IP地址設(shè)置錯(cuò)誤 可能原因:防火墻阻斷了連接 解決方法 正確配置tnsnames.ora中的服務(wù)器IP地址 利用Tnsping connectstring,測(cè)試配置是否正確,如果不通,檢查網(wǎng)絡(luò),Pag

9、e 14,連接RAC數(shù)據(jù)庫報(bào)ORA-12545,故障現(xiàn)象 當(dāng)兩個(gè)節(jié)點(diǎn)的RAC實(shí)例都起來的時(shí)候,使用RAC的TAF方式的連接數(shù)據(jù)庫時(shí),報(bào)ORA-12545的錯(cuò)誤。 ora-12545:連接因?qū)ο笾鳈C(jī)或?qū)ο蟛淮嬖诙?解決 檢查客戶端的hosts文件(C:WINDOWSsystem32driversetchosts文件配置,將數(shù)據(jù)服務(wù)器各個(gè)節(jié)點(diǎn)的VIP都配置進(jìn)去,例如: 10.10.10.30 node1-vip 10.10.10.31 node2-vip,Page 15,檢查客戶端的tnsnames.ora和hosts(C:WINDOWSsystem32driversetc)文件配置,正確配置

10、例子如下:,rac = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip)(PORT = 1528) (ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip)(PORT = 1528) (LOAD_BALANCE = yes) (FAILOVER=ON) ) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =11grac) (FAILOVER_MODE= (TYPE = SELECT) (METHOD =

11、BASIC) (RETRIES=20) (DELAY=15) ),Page 16,檢查數(shù)據(jù)庫各節(jié)點(diǎn)的local_listener設(shè)置,確保其對(duì)應(yīng)的IP地址是當(dāng)前節(jié)點(diǎn)的VIP,如果不是,請(qǐng)按下面的方式修改: alter system set local_listener=(ADDRESS = (PROTOCOL = TCP)(HOST = node1-vip) (PORT = 1521) scope=spfile sid=; alter system local_listener=(ADDRESS = (PROTOCOL = TCP)(HOST = node2-vip) (PORT = 1521

12、) scope=spfile sid,Page 17,目錄,安裝配置類 實(shí)例管理類 數(shù)據(jù)管理類 數(shù)據(jù)恢復(fù)類 管理工具類 ORA-00600 ORA-07445,Page 18,目標(biāo),通過本章節(jié)的學(xué)習(xí),您將了解以下內(nèi)容: ORACLE 11g實(shí)例的常見問題或故障; 這些問題或故障的診斷分析和解決方法,Page 19,怎么查看數(shù)據(jù)庫是32位還是64位,問題 怎么查看數(shù)據(jù)庫當(dāng)前運(yùn)行的是32位還是64位的? 解決 方法一: 用sqlplus “/ as sysdba”登陸數(shù)據(jù)庫,連接信息中有“64bit”出現(xiàn)的,表示是64位數(shù)據(jù)庫,如果沒有出現(xiàn),則表示是32bit數(shù)據(jù)庫: Connected to:

13、Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production 方法二: 以oracle用戶執(zhí)行: file $ORACLE_HOME/bin/oracle,輸出結(jié)果會(huì)顯示32bit或64bit,Page 20,怎么殺掉特定的會(huì)話,問題 發(fā)現(xiàn)某個(gè)會(huì)話占用資源很大,怎么殺掉該會(huì)話? 解決 方法一: 查詢出會(huì)話的sid,serial# select sid,serial# from v$session where ; Alter system kill session sid,serial#; 方法二: 查詢

14、出會(huì)話的paddr Select paddr from v$session where .; 進(jìn)而找出spid Select spid from v$process where addr=上面查詢的paddr 在操作系統(tǒng)上kill掉該進(jìn)程 kill -9,Page 21,怎么查看數(shù)據(jù)庫的警告日志,問題 如何查看數(shù)據(jù)庫的警告日志? 解決 對(duì)于11g以前版本,數(shù)據(jù)庫日志alert.log默認(rèn)存放在$ORACLE_BASE/admin/bdump目錄下 對(duì)11g,數(shù)據(jù)庫日志alert.log默認(rèn)存放在$ORACLE_BASE/diag/rdbms/trace目錄下 也可以用adrci命令進(jìn)行查看。

15、可以利用show parameter background_dump_dest,得到日志文件存放的目錄位置 sqlplus “/ as sysdba” show parameter background_dump_dest,Page 22,怎么修改數(shù)據(jù)庫的歸檔模式,問題 如何修改數(shù)據(jù)庫的歸檔模式? 解決 情況1:非RAC數(shù)據(jù)庫 Sqlplus “/ as sysdba” alter system set log_archive_format=_%t_%s.arc scope=spfile;(9i) alter system set log_archive_format=_%t_%s_%r.ar

16、c scope-spfile;(10g,11g) Alter system set log_archive_start=true scope=spfile;(9i) Alter system set log_archive_dest_1=location=/xx/xxx/xxx scope=spfile; Shutdown immediate,Page 23,Startup mount Alter database archivelog; Alter database open; Archive log list; 情況2:RAC數(shù)據(jù)庫 在節(jié)點(diǎn)1 上:Sqlplus “/ as sysdba”

17、 在節(jié)點(diǎn)1 上:alter system set cluster_database=false scope=true; 在節(jié)點(diǎn)1上:alter system set log_archive_format=_%t_%s.arc scope=spfile;(9i) 在節(jié)點(diǎn)1上: alter system set log_archive_format=_%t_%s_%r.arc scope-spfile;(10g,11g) 在節(jié)點(diǎn)1上: Alter system set log_archive_start=true scope=spfile;(9i,Page 24,在節(jié)點(diǎn)1上: Alter syst

18、em set log_archive_dest_1=location=/xx/xxx/xxx scope=spfile; 在所有節(jié)點(diǎn)上:Shutdown immediate 在節(jié)點(diǎn)1上: Startup mount 在節(jié)點(diǎn)1上: Alter database archivelog; 在節(jié)點(diǎn)1上: Alter database open; 在節(jié)點(diǎn)1上: alter system set cluster_database=true scope=true; 在節(jié)點(diǎn)1上:shutdown immediate 在所有節(jié)點(diǎn)上:startup 在所有節(jié)點(diǎn)上: archive log list,Page 25

19、,連接數(shù)據(jù)庫報(bào)ORA-01031,故障現(xiàn)象 在windows平臺(tái)下,用sqlplus連接數(shù)據(jù)庫時(shí)報(bào)錯(cuò): 01031, insufficient privileges 解決方法 找到oracle安裝目錄下的./network/admin/sqlnet.ora文件 將下面的設(shè)置注釋掉: #SQLNET.AUTHENTICATION_SERVICES=(NTS,Page 26,ORA-00838和ORA-00844,故障現(xiàn)象 修改memory_target參數(shù)時(shí),報(bào)錯(cuò): ORA-00838: Specified value of MEMORY_TARGET is too small, needs t

20、o be at least 1280M 或者啟動(dòng)實(shí)例時(shí),報(bào)錯(cuò): ORA-00844: Parameter not taking MEMORY_TARGET into account, see alert log for more information 原因分析 在Oracle11g中,引入了AMM功能,并且新加了memory_target參數(shù),此參數(shù)要么或者等于0,或者要大于sga_target + pga_aggregate_target的值,否則就會(huì)出錯(cuò) 解決方法 設(shè)置合適的memory_target值,Page 27,Linux上平臺(tái)報(bào)ORA-00845,故障現(xiàn)象 啟動(dòng)實(shí)例時(shí),報(bào)錯(cuò):

21、ORA-00845: MEMORY_TARGET not supported on this system 原因分析 Oracle11g引入了AMM功能,并且在linux平臺(tái)上,使用的是/dev/shm做為oracle內(nèi)存,因此,必須保證memory_target=/dev/shm的大小 解決方法 設(shè)置合適的memory_target值,保證memory_target/dev/shm 如果/dev/shm太小,則增大/dev/shm值,設(shè)置/dev/shm的方法參加Oracle11g安裝指導(dǎo)書,Page 28,ORA-01555,故障現(xiàn)象 用戶進(jìn)程執(zhí)行一個(gè)sql失敗,后臺(tái)警告日志有報(bào)錯(cuò): OR

22、A-01555 caused by SQL statement below(Query Duration=14616 sec,SCN:0 x0000.1e5294a0): 原因分析 ORA-01555錯(cuò)誤是生產(chǎn)庫中常見的一個(gè)snapshot too old錯(cuò)誤,oracle需要用到undo信息來保證SQL查詢的一致性讀,當(dāng)一個(gè)SQL運(yùn)行時(shí)間較長(zhǎng)時(shí),它用到的undo信息有可能由于其它DML事務(wù)的空間需求而被覆蓋掉了,此時(shí)該SQL查詢就會(huì)造成 ORA-01555的錯(cuò)誤。 解決方法 方法一:最根本的解決辦法,是優(yōu)化SQL,減少SQL的邏輯和物理讀 方法二:如果undo空間確實(shí)很小,可以考慮增大UND

23、O空間 方法三:增加undo_rentention值 方法四:如果是9i以上數(shù)據(jù)庫,推薦使用Automatic undo management,Page 29,ORA-04031,故障現(xiàn)象 數(shù)據(jù)庫日志出現(xiàn)以下錯(cuò)誤: ORA-04031: unable to allocate 4096 bytes of shared memory 原因分析 當(dāng)Oracle嘗試在共享內(nèi)存池分配大的連續(xù)內(nèi)存失敗時(shí),就會(huì)報(bào)ORA-04031的錯(cuò)誤,最常見的原因是shared pool的碎片過多 解決方法 碎片過多的原因多數(shù)是因?yàn)閟ql語句沒有使用綁定變量,硬解析過多,因此調(diào)整SQL使用綁定變量是一個(gè)重要的方面 將經(jīng)常

24、使用的大SQL和PL/SQL常駐內(nèi)存: Dbms_shared_pool.keep(object_name); 推薦使用ORACLE的ASMM功能 增加shared_pool_size和shared_pool_reserved_size大小 增加large_pool_size大小,Page 30,ORA-19815,故障現(xiàn)象 10g或11g數(shù)據(jù)庫的警告日志出現(xiàn)錯(cuò)誤: ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes avail

25、able. 原因分析 閃回恢復(fù)區(qū)定義大小是2147483648,已經(jīng)被占滿了,因此數(shù)據(jù)庫報(bào)錯(cuò),如果歸檔日志也放在這里的話,數(shù)據(jù)庫就會(huì)hang住了。 解決方法 如果數(shù)據(jù)庫hang住了,這時(shí)可以先臨時(shí)增大閃回恢復(fù)區(qū)的大小,方法是: alter system set db_recovery_file_dest_size=xxx ; 接下來需要釋放recovery file area空間,有以下方法,Page 31,方法一:刪除無用的歸檔日志 $rman target / RMANCrosscheck archivelog all; RMANdelete expired archivelog all;

26、 方法二:修改你的備份保留策略 如果你的備份放在閃回恢復(fù)區(qū),修改備份保留策略,減少保留空間 方法三:調(diào)整你的歸檔保留策略 如果你使用了第三方備份軟件備份到其它介質(zhì)上,可以調(diào)整備份歸檔的策略,調(diào)整為備份完刪除歸檔 如果你配置了dataguard,可以調(diào)整歸檔刪除策略,調(diào)整為: CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON STANDBY,Page 32,目錄,安裝配置類 實(shí)例管理類 數(shù)據(jù)管理類 數(shù)據(jù)恢復(fù)類 管理工具類 ORA-00600 ORA-07445,Page 33,目標(biāo),通過本章節(jié)的學(xué)習(xí),您將了解以下內(nèi)容: ORACLE數(shù)據(jù)管理方面

27、的常見問題或故障; 這些問題或故障的診斷分析和解決方法,Page 34,如何將查詢內(nèi)容輸出到文本,問題: 在二線工程診斷問題時(shí),通常需要現(xiàn)場(chǎng)工程師收集一些信息,那么如何將查詢結(jié)果輸出到文本呢? 解決: spool 完整文件名 查詢語句 . Spool off,Page 35,表空間無法擴(kuò)展 ORA-01653,故障現(xiàn)象: 在向表插入數(shù)據(jù)時(shí),報(bào)表空間無法擴(kuò)展的錯(cuò)誤: SQL insert into t_sg1 select * from dba_objects; insert into t_sg1 select * from dba_objects * ERROR at line 1: ORA-

28、01653: unable to extend table SYS.T_SG1 by 4 in tablespace TBS_TEST 原因分析 表空間已經(jīng)沒有剩余空間可用,并且表空間對(duì)應(yīng)的數(shù)據(jù)文件不是自動(dòng)擴(kuò)展的 或者盡管數(shù)據(jù)庫文件是自動(dòng)擴(kuò)展的,但數(shù)據(jù)文件所在的文件系統(tǒng)已經(jīng)沒有剩余空間了 解決: 方法一:修改表空間的數(shù)據(jù)文件擴(kuò)展屬性(假設(shè)數(shù)據(jù)文件所在文件系統(tǒng)有剩余空間) alter database datafile 14 autoextend on; 方法二:增大已有數(shù)據(jù)文件的大小 Alter database datafile 14 resize xxxx; 方法三:為表空間增加數(shù)據(jù)文件

29、Alter tablespace tbs_test add datafile xxxx size xxxxxxx,Page 36,Exp時(shí)報(bào)ORA-00904,故障現(xiàn)象: 在執(zhí)行邏輯導(dǎo)出exp時(shí),發(fā)生錯(cuò)誤,報(bào)錯(cuò)代碼是ora-00904 原因分析 可能原因之一是導(dǎo)出客戶段的版本大于數(shù)據(jù)庫服務(wù)器的版本 Exp有以下規(guī)則需要遵守: Oracle的Export/Import工具只能連接到擁有更高或者一樣的Export/Import版本的數(shù)據(jù)庫 從Oracle 低版本的Export出來的數(shù)據(jù)可以Import到Oracle高版本中,反之則不行 解決: 用和服務(wù)器數(shù)據(jù)庫版本一樣或更低的客戶端來執(zhí)行EXP 或

30、者直接在服務(wù)器執(zhí)行導(dǎo)出,Page 37,ORA-00257,故障現(xiàn)象: 對(duì)重做日志進(jìn)行歸檔時(shí),報(bào)ORA-00257錯(cuò)誤,數(shù)據(jù)庫處于hang狀態(tài) 原因分析 該錯(cuò)誤表示歸檔目錄空間不夠,無法完成重做日志的歸檔工作,并造成數(shù)據(jù)庫hang 解決方法 擴(kuò)大歸檔目錄所在的文件系統(tǒng) 備份和清理無用的歸檔文件 如果使用了db_recovery_file,調(diào)整db_recovery_file_dest_size參數(shù),Page 38,SUSE平臺(tái)上如何創(chuàng)建ASM 磁盤組,問題 SUSE平臺(tái)上,如何創(chuàng)建ASM磁盤組? 解決 查看系統(tǒng)中有哪些裸設(shè)備 raw qa 看數(shù)據(jù)庫已經(jīng)用了哪些磁盤設(shè)備 select dg.na

31、me as dg_name, dg.free_mb as dg_freeMB, dg.state as dg_state,d.MOUNT_STATUS as d_mount_status, d.HEADER_STATUS as d_header_status,d.MODE_STATUS as d_mode_status,d.STATE as d_state, d.FREE_MB as d_freeMB,d.PATH d_path,d.os_MB d_os_MB from v$asm_diskgroup dg ,v$asm_disk d where dg.group_number(+)=d.gr

32、oup_number 顯示結(jié)果D_HEADER_STATUS =candidate, D_MOUNT_STATUS =closed, D_MODE_STATUS =online, D_STATE =normal的是數(shù)據(jù)庫沒有使用得到磁盤設(shè)備,可以用來創(chuàng)建磁盤組,Page 39,登陸ASM實(shí)例,創(chuàng)建磁盤組 export ORACLE_SID=+ASM1 Sqlplus “/ as sysdba” -建立external redundancy的磁盤組(無冗余) Create diskgroup mydg external redundancy disk /dev/raw/rawx; -建立norm

33、al redundancy磁盤組(一份冗余,至少兩個(gè)磁盤) Create diskgroup mydg normal redundancy Failgroup fg1 disk /dev/raw/rawxx Failgroup fg2 disk /dev/raw/rawxx; -建立high redundancy磁盤組(兩份冗余,至少三個(gè)磁盤) Create diskgroup mydg high redundancy Failgroup fg1 disk /dev/raw/rawxx Failgroup fg2 disk /dev/raw/rawxx Failgroup fg3 disk /

34、dev/raw/rawxx,Page 40,如何查詢ASM磁盤組的空間使用情況,問題 在日常運(yùn)行中,我們需要監(jiān)控ASM磁盤組的空間剩余情況,如何查詢ASM的磁盤組空間使用情況呢? 解決 方法一:用SQL語句 select group_number,name,type,state,total_mb,free_mb from v$asm_diskgroup; 方法二:用ASMCMD export ORACLE_SID= asmcmd ASMCMDlsdg,Page 41,如何創(chuàng)建ASM表空間,問題 如何創(chuàng)建ASM表空間? 解決 先查看系統(tǒng)中的已有哪些磁盤組,并查看是否其剩余空間, select g

35、roup_number,name,type,TOTAL_MB,FREE_MB,USABLE_FILE_MB from v$asm_diskgroup; 如果存在剩余空間滿足要求的磁盤組,可以直接創(chuàng)建ASM表空間 Create tablespace 表空間名稱 datafile +DGNAMEsize xxxM; 如果不存在剩余空間滿足要求的磁盤組,可以直接創(chuàng)建ASM表空間,Page 42,目錄,安裝配置類 實(shí)例管理類 數(shù)據(jù)管理類 數(shù)據(jù)恢復(fù)類 管理工具類 ORA-00600 ORA-07445,Page 43,目標(biāo),通過本章節(jié)的學(xué)習(xí),您將了解以下內(nèi)容: ORACLE各種常見的數(shù)據(jù)恢復(fù)的場(chǎng)景 這些

36、場(chǎng)景下的數(shù)據(jù)恢復(fù)的具體方法,Page 44,非歸檔模式的數(shù)據(jù)庫,丟失數(shù)據(jù)文件,故障現(xiàn)象 丟失某個(gè)數(shù)據(jù)庫文件,造成了數(shù)據(jù)庫無法啟動(dòng),同時(shí)數(shù)據(jù)庫處于非歸檔模式,也沒有冷備份,啟動(dòng)時(shí)的錯(cuò)誤信息如下: ORA-01157: cannot identify/lock data file 3 - see DBWR trace file ORA-01110: data file 3: D:ORACLEORADATATESTUSERS01.DBF 解決方法 將數(shù)據(jù)庫啟動(dòng)到mount狀態(tài)下: sqlplus “/ as sysdba” startup mount 從數(shù)據(jù)庫中刪除該數(shù)據(jù)文件 alter datab

37、ase datafile xx offline drop,Page 45,打開數(shù)據(jù)庫 alter database open; 備注: 該方法可正常打開數(shù)據(jù)庫,但該datafile中的數(shù)據(jù)將丟失 如果誤刪除了system表空間的datafile,則該方法不奏效 如果該表空間還包含其它數(shù)據(jù)文件,用EXP把數(shù)據(jù)備份出來,然后刪除表空間,重建表空間,將數(shù)據(jù)導(dǎo)入。如果不包含其它數(shù)據(jù)文件,則直接刪除表空間就可以了,Page 46,歸檔模式數(shù)據(jù)庫丟失某數(shù)據(jù)文件,無備份, 但有該數(shù)據(jù)文件創(chuàng)建以來的歸檔日志,故障現(xiàn)象 歸檔模式的數(shù)據(jù)庫,丟失了某個(gè)數(shù)據(jù)庫文件,造成了數(shù)據(jù)庫無法啟動(dòng),同時(shí)沒有數(shù)據(jù)庫的全備份,但有該

38、數(shù)據(jù)文件創(chuàng)建以來的歸檔日志,數(shù)據(jù)庫無法啟動(dòng): ORA-01157: cannot identify/lock data file 3 - see DBWR trace file ORA-01110: data file 3: D:ORACLEORADATATESTUSERS01.DBF 解決方法 啟動(dòng)數(shù)據(jù)庫到mount狀態(tài) startup mount 手工創(chuàng)建丟失的數(shù)據(jù)文件 alter database create datafile oldfname as newfnamesize xxx reuse,Page 47,利用歸檔日志對(duì)數(shù)據(jù)文件進(jìn)行恢復(fù) recover datafile newf

39、name;或者 recover datafile n; 打開數(shù)據(jù)庫 alter database open; 備注: 該方法可正常打開數(shù)據(jù)庫,而且不會(huì)丟失數(shù)據(jù) 該方法有兩個(gè)前提 丟失的數(shù)據(jù)文件不能是系統(tǒng)文件 不能丟失或損壞控制文件,Page 48,非current和active的redo log損壞,故障現(xiàn)象 誤刪除了redo log,或者redo log被損壞,數(shù)據(jù)庫能mount,不能open: ORA-00313: open failed for members of log group 3 of thread 1 ORA-00312: online log 3 thread 1: /or

40、acle10/oradata/ora10g/redo03.log 解決方法 查詢v$log視圖,確認(rèn)損壞的redo log group是非current和active SQLselect group#,thread#,sequence#, archived,status from v$log; GROUP# THREAD# SEQUENCE# ARCHIVED STATUS - - - - - 1 1 103 YES INACTIVE 2 1 104 NO CURRENT 3 1 102 YES INACTIVE,Page 49,如果該日志已經(jīng)歸檔,用下面的命令清除日志內(nèi)容 Alter dat

41、abase clear logfile group 3; 如果該日志沒有歸檔,用下面的命令清除日志內(nèi)容 Alter database clear unarchived logfile group 3; 打開數(shù)據(jù)庫 Alter database open; 盡快做一個(gè)數(shù)據(jù)庫全備份,Page 50,current或active的redo log損壞,故障現(xiàn)象 誤刪除了redo log,或者redo log被損壞,數(shù)據(jù)庫不能打開: ORA-00313: open failed for members of log group 2 of thread 1 ORA-00312: online log 2

42、 thread 1: /oracle10/oradata/ora10g/redo02.log 解決方法 查詢v$log視圖,確認(rèn)損壞的redo log group是current或active SQLselect group#,thread#,sequence#, archived,status from v$log; GROUP# THREAD# SEQUENCE# ARCHIVED STATUS - - - - - 1 1 2 YES INACTIVE 2 1 4 NO CURRENT 3 1 3 YES INACTIVE,Page 51,情況1:當(dāng)前日志文件還存在,只是邏輯損壞,并且當(dāng)前

43、日志沒有未決事務(wù)需要實(shí)例恢復(fù) alter database clear unarchived logfile group 2; -不會(huì)報(bào)錯(cuò) recover database until cancel; alter database open resetlogs; 一般情況下,該方法不奏效,如果clear報(bào)錯(cuò),則用其它方法. 情況2:當(dāng)前日志完全損壞,且有未決事務(wù),數(shù)據(jù)庫有備份 alter database clear unarchived logfile group 2; -會(huì)報(bào)錯(cuò) ERROR at line 1: ORA-01624: log 1 needed for crash recov

44、ery of thread 1 restore database; recover database until cancel; -選擇auto,Page 52,recover database until cancel; alter datbase open resetlogs; 盡快做一個(gè)數(shù)據(jù)庫全備份 情況3:當(dāng)前日志完全損壞,且有未決事務(wù),數(shù)據(jù)庫無備份 shutdown immediate; _allow_resetlogs_corruption=true; startup mount pfile=xxx; recover database until cancel; alter dat

45、base open resetlogs; shutdown immediate _allow_resetlogs_corruption=true; Startup 盡快做一個(gè)數(shù)據(jù)庫全備份,Page 53,臨時(shí)表空間的數(shù)據(jù)文件損壞,故障現(xiàn)象 臨時(shí)表空間的數(shù)據(jù)文件發(fā)生損壞,系統(tǒng)出現(xiàn)故障,如何恢復(fù) 解決方法 在10g及以上版本數(shù)據(jù)庫,啟動(dòng)數(shù)據(jù)庫時(shí),如果發(fā)現(xiàn)臨時(shí)數(shù)據(jù)文件損壞,會(huì)自動(dòng)創(chuàng)建,如果在數(shù)據(jù)庫運(yùn)行過程中,可以手工重建: create temporary tablespace temp1 tempfile xx size xx; alter database default temporary t

46、ablespace temp1;-系統(tǒng)默認(rèn)臨時(shí)表空間的重建需要執(zhí)行這一步,否則不需要 drop tablespace temp; alter tablespace temp1 rename to temp,Page 54,在10g以前版本數(shù)據(jù)庫,可以在數(shù)據(jù)庫打開后或運(yùn)行過程中,手工重建就可以了 alter database datafile xxx offline drop;-如果數(shù)據(jù)庫打不開,就執(zhí)行這個(gè)步驟 create temporary tablespace temp1 tempfile xx size xx; alter database default temporary table

47、space temp1;-系統(tǒng)默認(rèn)臨時(shí)表空間的重建需要執(zhí)行這一步,否則不需要,9i以前版本也不需要。 drop tablespace temp; alter tablespace temp1 rename to temp,Page 55,UNDO數(shù)據(jù)文件損壞,數(shù)據(jù)庫無法啟動(dòng),故障現(xiàn)象 Undo數(shù)據(jù)文件發(fā)生了丟失或損壞,數(shù)據(jù)庫啟動(dòng)報(bào)錯(cuò): ORA-01157: cannot identify/lock data file 2 - see DBWR trace file ORA-01110: data file 2: /oracle10/oradata/ora10g/undotbs01.dbf 解決

48、方法 如果數(shù)據(jù)庫有備份,則利用備份進(jìn)行恢復(fù) 如果數(shù)據(jù)庫沒有備份,則利用重建undo表空間的方式進(jìn)行恢復(fù) startup mount alter database datafile n offline drop;(刪除損壞的undo文件) alter database open; create undo tablespace xxx ; (創(chuàng)建一個(gè)新的undo表空間) alter system set undo_tablespace=xxx;(指向新的undo表空間) drop tablespace yyy including contents;(刪除原來的undo表空間,Page 56,控制文

49、件損壞,故障現(xiàn)象 控制文件發(fā)生了損壞,數(shù)據(jù)庫已經(jīng)無法啟動(dòng),報(bào)錯(cuò)信息如下: ORA-00202: controlfile: D:Oracleoradatachencontrol01.ctl ORA-27041: unable to open file OSD-04002: unable to open file 解決方法 情況一:控制文件有鏡像,且鏡像控制文件沒有被損壞 關(guān)閉數(shù)據(jù)庫 將沒有損壞的控制文件覆蓋掉損壞的控制文件,或者修改參數(shù)文件的control_files參數(shù),去掉損壞的控制文件 重新啟動(dòng)數(shù)據(jù)庫,Page 57,情況二:控制文件無鏡像,或者鏡像的所有控制文件都損壞了 恢復(fù)控制文件 如

50、果控制文件有備份,從備份中恢復(fù)控制文件 restore controlfile from 如果控制文件有snapshot,將snapshot控制文件替換掉原損壞控制文件 如果做過alter database backup controlfile to trace的控制文件腳本備份,可以用trace文件中的重建腳本來創(chuàng)建控制文件, 如果沒有備份,也沒有trace備份,只能手工編寫腳本創(chuàng)建控制文件,前提是你對(duì)數(shù)據(jù)庫文件結(jié)構(gòu)非常清楚,Page 58,恢復(fù)和打開數(shù)據(jù)庫 如果是用create controlfile noresetlogs 方式重建的控制文件 recover database; alte

51、r database open; alter tablespace temp add tempfile xx size xx reuse ; -對(duì)所有臨時(shí)表空間做此操作 如果是用create controlfile resetlogs方式重建的控制文件,或者通過備份或快照恢復(fù)的控制文件 recover database using backup controlfile; alter database open resetlogs; alter tablespace temp add tempfile xx size xx reuse ; -對(duì)所有臨時(shí)表空間做此操作,Page 59,目錄,安裝配

52、置類 實(shí)例管理類 數(shù)據(jù)管理類 數(shù)據(jù)恢復(fù)類 管理工具類 ORA-00600 ORA-07445,Page 60,目標(biāo),通過本章節(jié)的學(xué)習(xí),您將了解以下內(nèi)容: ORACLE工具(OEM等)的各種常見問題或故障; 這些問題或故障的診斷分析和解決方法,Page 61,Oracle Enterprise Manager出現(xiàn)亂碼,故障現(xiàn)象 啟動(dòng)oracle enterprise manager服務(wù)之后,通過IE瀏覽器使用OEM來管理數(shù)據(jù)庫時(shí),界面上的很多按鈕出現(xiàn)亂碼,無法識(shí)別 原因分析 這是因?yàn)镺EM服務(wù)的中文字符集設(shè)置不對(duì),使得中文在OEM界面中無法無法正常顯示,從而出現(xiàn)亂碼 解決方法 可以通過修改IE瀏

53、覽器的設(shè)置,讓OEM用英文環(huán)境,平時(shí)還是用英文環(huán)境比較明晰,具體操作如下,Page 62,打開IE瀏覽器 選擇工具“-”Internet選項(xiàng)“-”常規(guī)“ 選擇 ”語言“, 默認(rèn)只有 ”中文“, 選擇 ” 添加 “, 加入 ”英語(美國(guó))“ 調(diào)整順序, 把“英語(美國(guó))”移動(dòng)到最上面,確定 然后重新打開IE,登陸OEM,Page 63,故障現(xiàn)象 Windows平臺(tái)上Oracle數(shù)據(jù)庫,本機(jī)無法通過SQLplus,PLSQLDeveloper等工具訪問Oracle數(shù)據(jù)庫,連接時(shí)報(bào)錯(cuò):OracleORA-12638:Credentialretrievalfailed。但其它服務(wù)器上可通過SQLplu

54、s,PLSQLDeveloper正常訪問Oracle。 解決方法 打開SQLNET.ora文件,將SQLNET.AUTHENTICATION_SERVICES=(NTS)一行注釋,如:#SQLNET.AUTHENTICATION_SERVICES=(NTS,無法使用SQLPLUS,報(bào)ORA-12638,Page 64,rman: cant open target,故障現(xiàn)象 在執(zhí)行rman target /命令時(shí),系統(tǒng)報(bào)錯(cuò): oraclelinux: rman target / rman: cant open target 原因分析 這常常發(fā)生在linux操作系統(tǒng)上,因?yàn)閘inux上也有一個(gè)rm

55、an命令,與oracle的rman命令同名 解決方法 方法一:進(jìn)入到oracle的rman命令所在目錄下來執(zhí)行rman oraclelinux: cd $ORACLE_HOME/bin oraclelinux:/product/9ir2/bin ./rman target,Page 65,方法二:修改oracle用戶的環(huán)境變量配置文件,編輯其中的PATH變量值,將$ORACLE_HOME/bin放在最前面 export PATH=$ORACLE_HOME/bin:$PATH,Page 66,目錄,安裝配置類 實(shí)例管理類 數(shù)據(jù)管理類 數(shù)據(jù)恢復(fù)類 管理工具類 ORA-00600 ORA-07445

56、,Page 67,目標(biāo),通過本章節(jié)的學(xué)習(xí),您將了解以下內(nèi)容: ORA-00600錯(cuò)誤的總體介紹 常見的ORA-00600錯(cuò)誤及其解決方法,Page 68,ORA-00600 總體介紹,報(bào)錯(cuò)原因 Ora-00600錯(cuò)誤的發(fā)生,本質(zhì)上是因?yàn)镺racle RDBMS程序代碼在運(yùn)行過程中發(fā)生了程序意外(program exception),它屬于Oracle的內(nèi)部錯(cuò)誤。 Ora-00600錯(cuò)誤通常是由于Oracle BUG引發(fā)的,當(dāng)然,其它一些情況也有可能引發(fā),比如操作系統(tǒng)資源不夠,或者硬件出現(xiàn)問題時(shí),或者不正確的操作也有可能引起。 報(bào)錯(cuò)參數(shù) 在出現(xiàn)Ora-00600錯(cuò)誤時(shí),通常伴隨具體的報(bào)錯(cuò)參數(shù),每

57、個(gè)參數(shù)被方括號(hào)包圍,格式如下:ORA-00600 internal error code, arguments: string, string, string, string, string, string, string, string,Page 69,第一個(gè)參數(shù)表示了發(fā)生意外的ORACLE代碼的位置,它對(duì)定位問題起關(guān)鍵作用 剩下的參數(shù)提供更進(jìn)一步的報(bào)錯(cuò)信息 解決手段 通常在出現(xiàn)ORA-00600時(shí),都會(huì)在USER_DUMP_DEST或BACKGROUND_DUMP_DEST目錄下(11g的目錄結(jié)構(gòu)不同)產(chǎn)生一些trace文件,同時(shí)在alert.log文件中也會(huì)產(chǎn)生報(bào)錯(cuò)信息,這些信息和tra

58、ce文件可以用來幫助分析錯(cuò)誤原因,Page 70,還可以根據(jù)報(bào)錯(cuò)前數(shù)據(jù)庫的日志,以及詢問現(xiàn)場(chǎng)操作人員,分析數(shù)據(jù)庫在報(bào)錯(cuò)之前進(jìn)行了哪些操作,分析是不是因?yàn)椴徽_的操作引發(fā)了ORA-00600錯(cuò)誤 還可以通過Oracle Metalink來更深入的查找報(bào)錯(cuò)信息的說明,Oracle metalink還提供了ORA-600/ORA-7445 Troubleshooter功能,可以查找相同ORA-00600錯(cuò)誤的案例 如果沒有關(guān)于您的報(bào)錯(cuò)信息的說明,需向Oracle support請(qǐng)求支持,比如在metalink上開TAR,Page 71,ORA-00600 keltnfy-ldmInit,故障現(xiàn)象 當(dāng)

59、啟動(dòng)數(shù)據(jù)庫時(shí),發(fā)生ora-00600錯(cuò)誤: ORA-00600: internal error code, arguments: keltnfy-ldmInit, 46, 1, , , , , 原因分析 這是由于沒有正確設(shè)置操作系統(tǒng)的主機(jī)名造成的,通過hostname得到的主機(jī)名稱無法ping通時(shí),oracle認(rèn)為主機(jī)無法達(dá)到,所以啟動(dòng)數(shù)據(jù)庫報(bào)錯(cuò) 解決方法 設(shè)置正確的hostname,并將hostname添加到/etc/hosts文件中,Page 72,ORA-00600 2262,故障現(xiàn)象 警告日志中出現(xiàn)ora-00600 2262錯(cuò)誤: Thu Oct 20 10:38:27 2005 E

60、rrors in file /opt/oracle/admin/conner/udump/conner_ora_31607.trc: ORA-00600: internal error code, arguments: 2662, 0, 897694446, 0, 897695488, 8388697, , 原因分析 在使用_ALLOW_RESETLOGS_CORRUPTION參數(shù),并且以resetlogs方式打開數(shù)據(jù)庫后,可能會(huì)遇到這個(gè)錯(cuò)誤,Page 73,解決方法 方法一:通過多次重啟數(shù)據(jù)庫,觀察是否還有此報(bào)錯(cuò) 方法二:使用內(nèi)部事件屏蔽: Alter session set events=

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論