亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數據庫 > Oracle > 正文

啟動Oracle常見疑難問題分析

2024-08-29 13:48:01
字體:
來源:轉載
供稿:網友

   啟動Oracle常見疑難問題分析  (2003-10-1) 

本文出自《網管員世界》2003年第10期“故障診斷”欄目

實例和數據庫的啟動與關閉是DBA的重要職責之一。只有打開數據庫,其他用戶才能對數據庫中的數據進行操作。一旦數據庫關閉,便不能對其操作。對于DBA們來說,關閉和重新啟動數據庫以便優化、調整應用程序的運行是經常碰到的事情。假如用戶已經進入了數據庫,使用SHUTDOWN IMMEDIATE 或SHUTDOWN ABORT命令來執行關閉數據庫,則用戶將失去連接,直到數據庫重新啟動。經常關閉和啟動會對數據庫性能造成一定的影響,當然也會影響到用戶對數據庫的使用。本文從治理數據庫的角度來分析在Oracle啟動和關閉時經常碰到的問題,并總結了在啟動和關閉Oracle數據庫中應該注重的問題和事項。

啟動常見問題

(一)在一個控制文件被損壞情況下,如何正常啟動?
系統環境
操作系統:windows 2000 Advanced Server
數據庫: Oracle 8i R2 (8.1.6) for NT 企業版
安裝路徑:C:/ORACLE
錯誤現象
因硬盤有壞道,一個控制文件損壞了,或人工誤刪一個控制文件,控制面板的Oracle相關服務可以啟動成功,但用SQL*Plus無法連接。錯誤提示為“ORA-01034: ORACLE not available”。
解決方法
(1)在開始菜單中直接運行命令,進入“svrmgrl>”提示符模式。
(2)在“svrmgrl>”提示符下鍵入“connect internal”命令。
(3)在“svrmgrl>”提示符下鍵入“shutdown abort”命令關閉數據庫。
(4)找到init.ora文件,它一般位于“C:/Oracle/admin/oradb/pfile”目錄下,然后修改init.ora文件,使無法使用的控制文件不在control_files參數中定義。如“C:/Oracle/oradata/oradb/control03.ctl”,可在init.ora中將其刪除掉,或者更換成其它可啟動的控制文件。
修改前:
control_files=(“C:/Oracle/oradata/oradb/control01.ctl”.C:/Oracle/oradata/oradb/control02.ctl“,”“C:/Oracle/oradata/oradb/control03.ctl”)
修改后:
control_files=(“C:/Oracle/oradata/oradb/
control01.ctl”,“C:/Oracle/oradata/oradb/control02.ctl”)
(5)重新啟動數據庫實例,即可解決問題。
注重:在控制文件中最少要有兩個控制文件。

(二)聯機熱備份失敗后,如何打開數據庫?
系統環境:
操作系統:Windows 2000 Advanced Server
數據庫: Oracle 8i R2 (8.1.6) for NT 企業版
安裝路徑:C:/ORACLE
錯誤現象
進行聯機熱備份時,服務器發生故障(如掉電等)。重新啟動服務器后,再啟動數據庫時,無法打開數據庫,Oracle要求進行介質恢復,因為表空間還處在熱備份狀態。
解決方法
(1)先將數據庫設置為歸檔模式
C:/>svrmgrl
svrmgrl>connect internal
svrmgrl>alter tablespace 表空間名 begin backup;
說明:這是在表空間進行熱備份模式沒結束時,就強行關閉數據庫所造成的錯誤。
svrmgrl>shutdown abort
svrmgrl>startup mount
(2)將此表空間的數據文件在沒打開數據庫時,設置成“end backup”模式
svrmgrl>alter database datafile '表空間的數據文件名' end backup;
(3)執行表空間介質恢復
svrmgrl>recover tablespace 表空間名;
svrmgrl>alter database open;

(三)Oracle啟動時,監聽器不啟動或打開出錯? 
錯誤現象:
ORACLE啟動時,監聽器不啟動或打開出錯;服務器端:用username/passWord登錄正常,但用username/password@alias登錄不成功;客戶端:用username/password@alias登錄不成功
解決方法
(1)假如是因為修改了NT的機器名,則把listener.ora文件中的host參數全部改為新的NT機器名,重新啟動OracleTNSListener80服務即可。

例如:
LISTENER =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(Host = NT_Name)(Port = 1521))
(ADDRESS=(PROTOCOL=TCP)(Host=NT_Name)(Port= 1526))
  )
(2)使用監聽器實用程序:LSNRCTL80.exe。
(3)檢查監聽器參數文件:c:/orant/NET80/admin/
listener.ora。
(4)檢查監聽器日志文件:c:/orant/NET80/log/
listener.log。
(5)Tnsnames.ora文件配置錯誤,重新配置。
(6)檢查client端 Tnsnames.ora。

(四)Oracle Enterprise Manager(OEM)工具中如何以SYSOPER、SYSDBA方式登錄?
軟件環境:
Windows NT4.0+ORACLE 8.0.4
ORACLE安裝路徑為:C:/ORANT
錯誤現象
在以Oracle Enterprise Manager(OEM)工具登錄數據庫時,不論是sys用戶、system用戶,還是其他用戶,在Connect As欄中以sysdba或sysoper角色登錄均遭拒絕,報錯:Ora-01017:invalid username/password;logon denied,但以normal登錄成功。
出錯分析
在Oracle數據庫中有三種連接方式:
(1)normal正常方式,基本連接方式,級別較低。
(2)sysopr系統方式,系統連接方式,高一級。
(3)sysdba治理員方式,是數據庫治理員連接方式,級別最高。
Oracle8中,sys、system已經只是具有特權的普通用戶,而internal才是DBA。所以在DBA進行治理數據時,只能使用具有特權的“internal”連接方式才不會出錯。
解決方法
以internal/oracle方式連接即可。 

Oracle數據庫的啟動

啟動實例
啟動實例,以使Oracle Server完成如下任務:
◆ 讀參數文件init.ora文件,以決定如何初始化該實例;
◆ 根據參數文件中提供的SGA大小,來為SGA分配存貯空間;
◆ 啟動后臺進程;
◆ 打開后臺跟蹤文件。
實例啟動分正常啟動和約束啟動。所謂約束啟動,就是當數據庫打開后,只能使具有RESTRICTED session系統特權的用戶與其相連接。而正常啟動則答應所有用戶與其相連接。
實例啟動有如下三種方式:
◆ 只啟動實例;
◆ 啟動實例并安裝數據庫,但不打開數據庫;
◆ 啟動實例,并安裝和打開數據庫。

數據庫安裝
數據庫安裝就是將指定的數據庫與已啟動的實例相聯系。被安裝的數據庫在打開之前保持關閉,此時只有DBA能存取。在安裝數據庫時,實例查找參數文件中的CONTROL-Files參數所指定的控制文件,并打開它,從中取得數據庫的數據文件名和日志文件名,然后確認這些文件是否存在。假如希望多個實例并發地安裝同一個數據庫,則DBA可選擇并行方式安裝該數據庫。假如希望只有一個實例可安裝該數據庫,則選擇專用方式安裝該數據庫。假如ORACLE版本不支持并行服務器選項,則只能按專用方式安裝數據庫。當選擇并行方式安裝數據庫時,并發安裝同一個數據庫的實例個數受預定義最大值的限制,而且在參數文件中必須有命名的私用回滾段或可用的公用回滾段。

打開數據庫
在安裝的數據庫被打開之前,所有合法的用戶(除DBA)都不能對該數據庫進行連接和存取;只有被打開以后才能進行連接和存取。在打開數據庫的同時,實例也打開在線的數據文件和在線日志文件。假如數據庫是由于實例的異常而中止或電源故障而被關閉時,則下次打開它時會自動執行實例恢復。在數據庫被打開時,實例試圖獲取一個或多個回滾段。在分布事務中,若當—個數據庫因電源故障等忽然被關閉,此時若有一個或多個分布式事務還沒提交或回滾,則在該數據庫被重新打開時,繼續完成實例恢復,RECO后臺進程將自動、立即和一致地解決尚未提交或回滾的任何分布事務。

常用打開數據庫和實例命令方式
(1)startup nomount
非安裝啟動,這種啟動方式下可執行:重建控制文件、重建數據庫和啟動instance,即啟動SGA和后臺進程,這種啟動只需要init.ora文件。
(2)startup mount dbname
安裝啟動,這種啟動方式下可執行:數據庫日志歸檔、數據庫恢復和重新命名一些數據庫文件。
(3)startup open dbname
先執行“nomount”,然后執行“mount”,再打開包括Redolog文件在內的所有數據庫文件,這種方式下可訪問數據庫中的數據。
(4)startup等于以下三個命令
startup nomount
alter database mount
alter database open
(5)startup restrict
約束方式啟動,這種方式能夠啟動數據庫,但只答應具有一定特權的用戶訪問,非特權用戶訪問時,會出現以下提示:
ERROR:
ORA-01035: Oracle 只答應具有RESTRICTED SESSION權限的用戶使用。
(6)startup force
強制啟動方式,當不能關閉數據庫時,可以用startup force來完成數據庫的關閉,先關閉數據庫,再執行正常啟動數據庫命令。
(7)startup pfile=參數文件名
帶初始化參數文件的啟動方式,先讀取參數文件,再按參數文件中的設置啟動數據庫。例:startup pfile=E:/Oracle/admin/oradb/pfile/init.ora
(8)startup exclusive 
    SQL>conect internal
作為internal連接時,connect命令不需要口令,因為其授權是由操作系統隱式提供的。
Internal連接等價于sys連接,它們都是擁有Oracle數據字典的用戶。

應用
在Unix下啟動Oracle8i,其整個過程步驟如下:
(1)telnet 主機ip或者是主機名
user:***** password:*****
(2)lsnrctl start
(3)svrmgrl
(4)svrmgrl>connect internal
(5)svrmgrl>startup

實例和數據庫的關閉

關閉實例的步驟
關閉實例后,SGA從內存撤消,后臺進程被停止。關閉實例的步驟如下:
(1)啟動SQL*DBA
(2)作為INTERNAL用戶與數據庫相連接
(3)關閉實例
◆ 關閉數據庫
◆ 卸下數據庫
◆ 關閉實例

關閉數據庫
數據庫關閉時,首先將SGA中的所有數據庫數據和日志項數據寫入相應的數據文件和日志文件。然后關閉所有聯機數據文件和日志文件。在數據庫關閉后和卸下之前,控制文件仍保持打開,此時假如需要打開時,還可重新打開數據庫。

卸下數據庫
卸下數據庫就是切斷實例與數據庫的聯系,關閉數據庫控制文件,使內存僅保留實例。

常用關閉數據庫和實例命令
(1)shutdown normal(正常關閉數據庫)
在正常關閉情況下,Oracle在關閉數據庫前,等待所有與之相連接的用戶正常結束其對話。于是在下次啟動數據庫時,就不需要恢復實例。
(2)shutdown immediate(立即方式關閉數據庫)
當選擇Immediate關閉方式時,即實現直接關閉。在SVRMGRL中執行shutdown immediate,數據庫并不立即關閉, 而是在Oracle執行某些清除工作后才關閉(終止會話、釋放會話資源),當使用shutdown不能關閉數據庫時,shutdown immediate可以完成數據庫關閉的操作。
該關閉方式主要用于下列情況:
①馬上停電;
②Oracle正在非正規的運行數據庫或一個數據庫應用。
該方式關閉數據庫過程如下:
①Oracle結束當前正在處理的SQL語句;
②回滾未提交的事務;
③Oracle不等待與之相連接的用戶退出連接,就直接中斷他們,使用這種關閉方式,下次啟動數據庫時,Oracle應自動執行實例恢復。
(3)shutdown abort(撤消實例方式關閉數據庫)
這是一種最快的關閉方式,它主要用于下列情況:
①一分鐘后就要停電;
②Oracle正在非正規的運行數據庫或一個數據庫應用,并且其它的關閉方式失效;
③啟動一個數據庫實例時碰到問題。
該方式關閉數據庫的過程如下:
①Oracle不等待調用完成,直接中斷正在處理的SQL語句;
②回滾未提交事物。
使用這種關閉方式,下次啟動數據庫時,Oracle應自動執行實例恢復。啟動和關閉實例和數據庫的操作需要connect internal系統特權,安裝和打開數據庫的操作還要有alter database系統特權。直接關閉數據庫,正在訪問數據庫的會話會被忽然終止,假如數據庫中有大量操作正在執行,這時執行shutdown abort后,重新啟動數據庫需要很長時間。

應用
在Unix中關閉Oracle8i,其具體步驟如下:
svrmgrl>connect internal
svrmgrl>shutdown
svrmgrl>exit

在關閉Oracle數據庫時需注重問題

不要提前關閉SQL*NET。
當需要SHUTDOWN數據庫,不要提前關閉SQL*NET,直到確認關閉了SERVER上的所有數據庫后再關閉SQL*NET。假如關閉了SQL*NET,用戶將失去和數據庫的會話。

存檔或刪除舊的trace files和logs
當啟動Oracle的一個實例時,Oracle把關于該實例的診斷信息寫入指定的trace和log文件。每個后臺進程都增加一個TRACE文件,它被存儲在指定的目錄,該路徑由INIT.ORA或CONFIG.ORA文件中的BACKGROUND_DUMP_DEST參數指定。用戶在數據庫中碰到一個內部錯誤時也增加用戶的TRACE文件,該文件的位置由INIT.ORA或CONFIG.ORA文件中的USER_DUMP_DEST參數指定。TRACE文件的個數和名稱形式由使用數據庫的操作系統決定。
在每次啟動和關閉數據庫時,Oracle不會自動刪除TRACE文件。假如長期不刪除這些無用文件,它們將占據數據庫中大量的自由空間。數據庫治理員應該很好的治理這些文件,可以采取刪除或者存檔的策略來避免無用文件占用大量自由空間。
SQL*NET也產生LOG文件,一般叫LISTENER.LOG,LISTENER.LOG文件大小也隨著啟動的次數不斷的變大,所以通過妥善治理它也能有效的利用空間。查看該文件可以鍵入命令:
lsnrctl status
在Oracle8i中使用該命令,其顯示結果為:
o200 5% lsnrctl status
LSNRCTL for SGI IRIX64: Version 8.1.6.0.0 - ProdUCtion on 09-APR-2003 09:16:26
(c) Copyright 1998, 1999, Oracle Corporation.  All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=ipc)(KEY=PNPKEY))
STATUS of the LISTENER
Alias                     LISTENER
Version                   TNSLSNR for SGI IRIX64: Version 8.1.6.0.0 - Production
Start Date                19-MAR-2003 14:43:53
Uptime                    20 days 18 hr. 4607182418800017439 min. 56 sec
Trace Level               off
Security                  OFF
SNMP                      OFF
Listener Log File         /data/ora8i/OraHome/network/log/listener.log
The listener supports no services
The command completed successfully

改名ALERT LOG文件
ALERT LOG文件也是用來記錄INSTANCE的診斷信息的。
它的存放目錄也通過BACKGROUND_DUMP_DEST參數來指定。一般情況下ALERT LOG文件命名方式為:ALERT_ .LOG。ALTER LOG文件包括了一些數據庫主要事件信息,例如:startup和shutdown及redolog的使用、表空間的改變、文件的改變、內部錯誤信息和數據庫備份狀態的改變等。
ALTER LOG在后續數據庫的使用中,其增長速度非???。假如一段時間后,再查看它時,其文件已經變得非常大,所以查看它是非常的費勁。一般來講,為了既能留下這些有用的信息,同時不至于浪費很大的空間,最好的治理辦法就是給它改名。可以在任何時候更改ALTER LOG文件名,建議在SHUTDOWN/STARTUP數據庫時更改名字。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
91国产精品视频在线| 成人av.网址在线网站| 中国人与牲禽动交精品| 日韩av免费在线播放| 久久中文字幕国产| 成人xxxx视频| 日韩一区二区三区在线播放| 国产精品电影网| 亚洲日本中文字幕| 91超碰caoporn97人人| 亚洲视频在线播放| 国产精品高清免费在线观看| 亚洲娇小xxxx欧美娇小| 北条麻妃久久精品| 久久99青青精品免费观看| 亚洲毛片在线免费观看| 日韩暖暖在线视频| 国产不卡av在线免费观看| 2021久久精品国产99国产精品| 欧美二区在线播放| 热久久99这里有精品| 最新91在线视频| 国产精品精品视频一区二区三区| 91国自产精品中文字幕亚洲| 欧美日本在线视频中文字字幕| 日韩电影网在线| 亚洲娇小xxxx欧美娇小| 久久精品国产69国产精品亚洲| 国产精品草莓在线免费观看| 亚洲第一在线视频| 国产精品美女av| 国产97免费视| 亚洲三级av在线| 国产精品久久中文| 国产综合福利在线| 日韩欧美成人免费视频| 伊人久久久久久久久久| 国产福利精品在线| 亚洲精品一区二区三区不| 好吊成人免视频| 亚洲欧美日韩天堂一区二区| 97视频在线观看免费高清完整版在线观看| 国产福利成人在线| 成人激情视频网| 136fldh精品导航福利| 亚洲大尺度美女在线| 中文字幕在线观看亚洲| 亚洲综合中文字幕在线| 久热精品视频在线观看一区| 欧美另类极品videosbestfree| 91午夜理伦私人影院| 日本久久91av| 狠狠久久五月精品中文字幕| 亚洲国产欧美久久| 精品亚洲一区二区三区| 国色天香2019中文字幕在线观看| 日韩av在线资源| 亚洲人成电影在线播放| 亚洲伊人一本大道中文字幕| 亚洲国产精品专区久久| 日韩麻豆第一页| 久久久精品中文字幕| 日本精品久久电影| 日韩在线免费视频| 久久99热精品这里久久精品| 欧美激情xxxx性bbbb| 欧美色道久久88综合亚洲精品| 欧美一级bbbbb性bbbb喷潮片| 国产ts人妖一区二区三区| 国产精品海角社区在线观看| 57pao国产精品一区| 色妞色视频一区二区三区四区| 欧美午夜精品久久久久久久| 亚洲欧美精品中文字幕在线| 91久久精品国产91久久性色| 中文字幕日韩在线播放| 国产成人精品最新| 91美女片黄在线观| 久久亚洲精品中文字幕冲田杏梨| 国产欧美日韩最新| 久久久精品中文字幕| 欧美性生交xxxxxdddd| 色综合老司机第九色激情| 国产成人鲁鲁免费视频a| 亚洲日本中文字幕免费在线不卡| 国产女精品视频网站免费| 97在线视频免费观看| 亚洲丁香婷深爱综合| 日韩美女在线观看一区| 亚洲欧美自拍一区| 亚洲成人精品视频在线观看| 亚洲va久久久噜噜噜久久天堂| 亚洲欧洲在线观看| 欧美日韩高清在线观看| 欧美激情免费看| 亚洲欧美另类中文字幕| 久久频这里精品99香蕉| 中国日韩欧美久久久久久久久| 亚洲精品国产品国语在线| 影音先锋欧美精品| 国产精品国内视频| 成人激情视频在线播放| 最近2019中文免费高清视频观看www99| 国产一区二区三区日韩欧美| 欧美激情性做爰免费视频| 中文字幕亚洲自拍| 亚洲综合中文字幕68页| 在线看国产精品| 91精品视频网站| 国产精品稀缺呦系列在线| 精品视频在线播放色网色视频| 2019av中文字幕| www.久久草.com| xvideos成人免费中文版| 欧美日韩成人在线观看| 亚洲精品福利在线观看| 亚洲国产一区自拍| 国产精品黄视频| 日韩在线视频一区| 色综合老司机第九色激情| 亚洲第一区中文字幕| 国产综合久久久久| 亚洲欧美在线播放| 久久91精品国产91久久跳| 久久久久久久久久久91| 国产精品99免视看9| 欧美夜福利tv在线| 欧美成aaa人片在线观看蜜臀| 久久久久久国产| 亚洲国产美女精品久久久久∴| 国产免费一区二区三区在线观看| 欧美另类极品videosbestfree| 91情侣偷在线精品国产| 日韩电影在线观看中文字幕| 中文字幕亚洲欧美一区二区三区| 亚洲午夜激情免费视频| 亚洲日韩中文字幕在线播放| 国产精品久久一| 日韩在线视频观看| 伊人伊成久久人综合网站| 国产精品久久久久7777婷婷| 久久这里只有精品99| 亚洲最新中文字幕| 日韩亚洲欧美中文高清在线| 亚洲国产精品系列| 亚洲精品国偷自产在线99热| 成人免费在线视频网址| 日本欧美精品在线| 亚洲最大福利网站| 成人乱人伦精品视频在线观看| 成人在线免费观看视视频| 亚洲片国产一区一级在线观看| 国产精品久久久久久久一区探花| 亚洲老头老太hd| 日韩免费在线电影| 欧美自拍视频在线| 欧美性猛交视频| 欧美激情一二区| 亚洲一区二区少妇| 久久人人爽国产| 国产亚洲aⅴaaaaaa毛片| 亚洲精品美女视频| 欧美裸体xxxx极品少妇软件| 亚洲a成v人在线观看|