oracle關閉資料庫服務
『壹』 Oracle啟動和關閉方式的區別
一、啟動和關閉Oracle資料庫
對於大多數Oracle
DBA來說,啟動和關閉Oracle資料庫最常用的方式就是在命令行方式下的Server Manager。從Oracle
8i以後,系統將Server
Manager的所有功能都集中到了SQL*Plus中,也就是說從8i以後對於資料庫的啟動和關閉可以直接通過SQL*Plus來完成,而不再另外需要Server
Manager,但系統為了保持向下兼容,依舊保留了Server Manager工具。另外也可通過圖形用戶工具(GUI)的Oracle
Enterprise Manager來完成系統的啟動和關閉,圖形用戶界面Instance Manager非常簡單,這里不再詳述。
要啟動和關閉資料庫,必須要以具有Oracle
管理員許可權的用戶登陸,通常也就是以具有SYSDBA許可權的用戶登陸。一般我們常用INTERNAL用戶來啟動和關閉資料庫(INTERNAL用戶實際上是SYS用戶以SYSDBA連接的同義詞)。Oracle資料庫的新版本將逐步淘汰INTERNAL這個內部用戶,所以我們最好還是設置DBA用戶具有SYSDBA許可權。
二、資料庫的啟動(STARTUP)
啟動一個資料庫需要三個步驟:
1、 創建一個Oracle實例(非安裝階段)
2、 由實例安裝資料庫(安裝階段)
3、 打開資料庫(打開階段)
在Startup命令中,可以通過不同的選項來控制資料庫的不同啟動步驟。
1、STARTUP NOMOUNT
NONOUNT選項僅僅創建一個Oracle實例。讀取init.ora初始化參數文件、啟動後台進程、初始化系統全局區(SGA)。Init.ora文件定義了實例的配置,包括內存結構的大小和啟動後台進程的數量和類型等。實例名根據Oracle_SID設置,不一定要與打開的資料庫名稱相同。當實例打開後,系統將顯示一個SGA內存結構和大小的列表,如下所示:
SQL> startup nomount
ORACLE 常式已經啟動。
Total System Global Area 35431692 bytes
Fixed Size 70924 bytes
Variable Size 18505728 bytes
Database Buffers 16777216 bytes
Redo Buffers 77824 bytes
2、STARTUP MOUNT
該命令創建實例並且安裝資料庫,但沒有打開資料庫。Oracle系統讀取控制文件中關於數據文件和重作日誌文件的內容,但並不打開該文件。這種打開方式常在資料庫維護操作中使用,如對數據文件的更名、改變重作日誌以及打開歸檔方式等。在這種打開方式下,除了可以看到SGA系統列表以外,系統還會給出"資料庫裝載完畢"的提示。
3、STARTUP
該命令完成創建實例、安裝實例和打開資料庫的所有三個步驟。此時資料庫使數據文件和重作日誌文件在線,通常還會請求一個或者是多個回滾段。這時系統除了可以看到前面Startup
Mount方式下的所有提示外,還會給出一個"資料庫已經打開"的提示。此時,資料庫系統處於正常工作狀態,可以接受用戶請求。
如果採用STARTUP NOMOUNT或者是STARTUP
MOUNT的資料庫打開命令方式,必須採用ALTER DATABASE命令來執行打開資料庫的操作。例如,如果你以STARTUP
NOMOUNT方式打開資料庫,也就是說實例已經創建,但是資料庫沒有安裝和打開。這是必須運行下面的兩條命令,資料庫才能正確啟動。
ALTER DATABASE MOUNT;
ALTER DATABASE OPEN;
而如果以STARTUP MOUNT方式啟動資料庫,只需要運行下面一條命令即可以打開資料庫:
ALTER DATABASE OPEN.
4、其他打開方式
除了前面介紹的三種資料庫打開方式選項外,還有另外其他的一些選項。
(1) STARTUP RESTRICT
這種方式下,資料庫將被成功打開,但僅僅允許一些特權用戶(具有DBA角色的用戶)才可以使用資料庫。這種方式常用來對資料庫進行維護,如數據的導入/導出操作時不希望有其他用戶連接到資料庫操作數據。
(2) STARTUP FORCE
該命令其實是強行關閉資料庫(shutdown abort)和啟動資料庫(startup)兩條命令的一個綜合。該命令僅在關閉資料庫遇到問題不能關閉資料庫時採用。
(3) ALTER DATABASE OPEN READ ONLY;
該命令在創建實例以及安裝資料庫後,以只讀方式打開資料庫。對於那些僅僅提供查詢功能的產品資料庫可以採用這種方式打開。
三、資料庫的關閉(SHUTDOWN)
對於資料庫的關閉,有四種不同的關閉選項,下面對其進行一一介紹。
1、SHUTDOWN NORMAL
這是資料庫關閉SHUTDOWN命令的確省選項。也就是說如果你發出SHUTDOWN這樣的命令,也即是SHUTDOWN NORNAL的意思。
發出該命令後,任何新的連接都將再不允許連接到資料庫。在資料庫關閉之前,Oracle將等待目前連接的所有用戶都從資料庫中退出後才開始關閉資料庫。採用這種方式關閉資料庫,在下一次啟動時不需要進行任何的實例恢復。但需要注意一點的是,採用這種方式,也許關閉一個資料庫需要幾天時間,也許更長。
2、SHUTDOWN IMMEDIATE
這是我們常用的一種關閉資料庫的方式,想很快地關閉資料庫,但又想讓資料庫干凈的關閉,常採用這種方式。
當前正在被Oracle處理的SQL語句立即中斷,系統中任何沒有提交的事務全部回滾。如果系統中存在一個很長的未提交的事務,採用這種方式關閉資料庫也需要一段時間(該事務回滾時間)。系統不等待連接到資料庫的所有用戶退出系統,強行回滾當前所有的活動事務,然後斷開所有的連接用戶。
3、SHUTDOWN TRANSACTIONAL
該選項僅在Oracle 8i後才可以使用。該命令常用來計劃關閉資料庫,它使當前連接到系統且正在活動的事務執行完畢,運行該命令後,任何新的連接和事務都是不允許的。在所有活動的事務完成後,資料庫將和SHUTDOWN IMMEDIATE同樣的方式關閉資料庫。
4、SHUTDOWN ABORT
這是關閉資料庫的最後一招,也是在沒有任何辦法關閉資料庫的情況下才不得不採用的方式,一般不要採用。如果下列情況出現時可以考慮採用這種方式關閉資料庫。
1、 資料庫處於一種非正常工作狀態,不能用shutdown normal或者shutdown immediate這樣的命令關閉資料庫;
2、 需要立即關閉資料庫;
3、 在啟動資料庫實例時遇到問題;
所有正在運行的SQL語句都將立即中止。所有未提交的事務將不回滾。Oracle也不等待目前連接到資料庫的用戶退出系統。下一次啟動資料庫時需要實例恢復,因此,下一次啟動可能比平時需要更多的時間。
表1可以清楚地看到上述四種不同關閉資料庫的區別和聯系。
關閉方式 A I T N
允許新的連接 × × × ×
等待直到當前會話中止 × × × √
等待直到當前事務中止 × × √ √
強制CheckPoint,關閉所有文件 × √ √ √
其中:A-Abort I-Immediate T-Transaction N-Nornal
『貳』 Oracle 11g 運行起來後,如何關閉資料庫
"「主機身份認證」處,填的是你的>計算機<的用戶名和密碼。
或者是你服務啟動狀態不正確。參見3、4:
啟動和關閉資料庫所使用的服務有:
Oracle<主目錄名>TNSListener 對應於資料庫監聽程序
OracleService<SID> 對應於資料庫常式
OracleDBConsole<SID> 對應於OracleEnterpriseManagement或OEM
盡管3個服務都可以單獨地啟動和關閉,但它們之間的關系是:
1·為了實現常式想監聽程序的動態注冊服務(一邊支持其他監聽埠,尤其是支持費默認監聽程序),應該首先啟動Oracle<主目錄名>TNSListener服務,然後再啟動其他服務。否則,如果先啟動常式再啟動監聽程序,動態注冊服務就會有時間延時。
2·比較傳統的、好的啟動次序是:Oracle<主目錄名>TNSListener -> OracleService<SID> -> OracleDBConsole<SID>。關閉次序反之。
3·如果不啟動Oracle<主目錄名>TNSListener,但啟動了OracleService<SID>,則可以在伺服器中(但不能在客戶機中)使用SQL*PLUs,即便此時已經啟動了OracleDBConsle<SID>,在伺服器中(在客戶機中更是如此)不能使用OEM,負責會出現「登錄操作失敗」的錯誤提示信息。
4·關閉並重新啟動Oracle<主目錄名>TNSListener後最好關閉並重新啟動OracleDBConsle<SID>,否則可能不能使用OEM,出現「登陸操作失敗」的錯誤提示信息 。
======================================
====關閉資料庫=========================
1·通過關閉系統服務:上面已經說過。
2·在SQL*Plus中關閉資料庫(命令行方式)
//前提:1.Windows服務中啟動了OracleService<SID>服務。
//2.以具有SYSDBA或SYSOPER許可權的資料庫用戶賬戶(如SYS或SYSTEM)用SYSDBA的連接身份,啟動SQL*Plus並同時登陸、連接到資料庫。
關閉資料庫:
SHUTDOWN [ NORMAL | TRANSACTIONAL | IMMEDIATE | ABORT ];
3·在OEM中啟動和關閉資料庫
step1:以SYS用戶、SYSDBA連接身份登陸OEM;
step2:「主目錄」->「一般信息」下,點擊「關閉」,出現「啟動/關閉:請指定主機和目標資料庫身份證明」頁;
step3:在「主機身份證明」標題下輸入具有管理員許可權的操作系統用戶的用戶名和口令,在「資料庫身份證明」標題下輸入具有SYSDBA許可權的資料庫用戶的用戶名和口令,選中「另存為首選身份證明」;
step4:「確定」,出現「啟動/關閉:確認」頁。在「高級選項」中選擇指定關閉選項,「確定」,返回「啟動/關閉:確認」頁。單擊「是」,出現「啟動/關閉:活動信息」頁。一段時間後刷新就可以看出資料庫已經關閉了。"
『叄』 怎樣啟動和關閉oracle資料庫
1、由於oracle運行在Linux系統裡面,第一步,我們要連接Linux系統。
『肆』 關閉oracle資料庫 應注意哪些
Oracle資料庫的表和索引是透過表空間tablespace存儲在資料庫中的。在tablespace設計時一般作以下考慮:
1、一般較大的表或索引單獨分配一個tablespace。
2、Read only對象或Read mostly對象分成一組,存在對應的tablespace中。
3、若tablespace中的對象皆是read only對象,可將tablespace設置成read only模式,在備份時,read only tablespace只需備份一次。
4、高頻率insert的對象分成一組,存在對應的tablespace中。
5、增、刪、改的對象分成一組,存在對應的tablespace中。
6、表和索引分別存於不同的tablespace。
7、存於同一個 tablespace中的表(或索引)的extent 大小最好成倍數關系,有利於空間的重利用和減少碎片。
DB BLOCK SIZE
超大型資料庫DB BLOCK SIZE一般在4KB 至 64KB,而最常用的是8KB、 16KB或32KB。選用較大的DB BLOCK SIZE可使INDEX的高度降低,也會提高IO效率。
Redo Log Files
Oracle進程redo log writer (LGWR)將日誌寫入日誌文件。一般日誌文件最好建在專用的鏡像盤上。日誌文件組的個數及文件的大小的設定與系統交易量的大小有關。ORACLE並行伺服器中每個INSTANCE使用各自的一組rego log files。一般的每組日誌文件的個數為3-7個,每個的大小為200MB-500MB。
數據文件大小
建議用標準的文件大小,如200M、1GB、2GB、4GB、8GB等,可簡化空間的維護工作。
回滾段
回滾段一般建在專用的表空間中。每一個INSTANCE實例擁有各自的回滾段。設置回滾段的一般原則是: initial 及 next 存儲參數的值是相等的,同時還是DB BLOCK SIZE的倍數。每個回滾段的minextents設為20,optimal參數的值保證回滾段縮小時不低於20個extents。
臨時表空間
臨時表空間一般建在專用的表空間中。每一個INSTANCE實例擁有各自的臨時表空間。這樣使用臨時表空間時不會有PING。設置臨時表空間的initial=next。
四、系統硬碟的劃分及分配
在多機集群環境下,Oracle並行伺服器通過操作系統提供的DRD服務來共享同一個資料庫。每一個INSTANCE對資料庫的數據文件的訪問都是通過該數據文件所在的DRD服務進行的。
考慮以下情況:主機1上有DRD服務1,該服務對應的數據文件有1、2、13、35、67等,這時如果主機2上的INSTANCE2需要讀取數據文件13,通過DRD服務調度,主機1通過DRD服務訪問磁碟陣列上的數據文件13,把INSTANCE2需要的數據讀到內存,然後通過MEMORY IO把數據傳到主機2的INSTANCE2。寫操作是讀操作的逆過程。
通過以上分析可知,系統硬碟的劃分及分配的原則是盡量減少MEMORY IO。
五、備份及恢復策略的考慮
資料庫的備份與恢復在系統設計中占很重要的地位。好的備份及恢復策略可以降低系統的運行風險,減少因硬體故障而造成的損失。
Oracle備份方法:
1、物理備份
將資料庫的物理文件通過操作系統的命令或工具備份到備份介質上。物理備份往往用於存儲介質故障時恢復資料庫系統的數據。
根據資料庫運行方式的不同,可進行不同的物理備份:
a)物理冷備份(offline backup)
物理冷備份要求資料庫在關閉(所有INSTANCEs停止)的情況下進行。這種備份必須是完全備份,即需備份所有的數據文件、控制文件(control file)、日誌文件(redo log file)、初始參數文件等等。
物理冷備份的步驟簡單,但要求系統能夠停止。
b)物理熱備份(online backup)
物理熱備份是在資料庫系統正常運行的情況下進行的資料庫備份。這種備份可以是資料庫的部分備份,既備份資料庫的某個表空間(tablespace)或某個數據文件(datafile),也可備份控制文件(control file)。
物理熱備份要求資料庫在ARCHIVELOG模式下運行。這種備份一般用於應用系統不能停機的情況。
c)歸檔日誌文件備份(archived log file backup)
要使資料庫系統能夠恢復到故障點前一時刻狀態,或恢復到某指定時刻狀態,資料庫必須採用ARCHIVELOG模式。在ARCHIVELOG模式下,資料庫系統會產生歸檔日誌文件(archive log files)。歸檔日誌文件也需備份到備份介質上。在恢復時,這些文件可使資料庫恢復到最近狀態。
歸檔日誌文件產生在指定目錄下,這些文件一生成就可以備份到備份介質上,DBA可根據磁碟空間情況,定時將它們備份出去。
2、邏輯備份
邏輯備份是通過Oracle提供的Export工具,將資料庫的結構定義及其數據卸出到特定格式的文件中,並備份該文件。
在實際應用中,邏輯備份與物理備份並用。一般來說,物理備份用於磁碟介質損壞或數據文件損壞;邏輯備份用於資料庫中的某些對象被破壞或用戶誤操作。
備份策略的考慮主要在以下三個方面:
存儲空間
對現行運行的系統的性能影響
恢復時間的影響
如果需要節省空間和恢復時間就需要增加備份的頻率,但是備份操作會明顯增加現行運行的系統的負載。、
Oracle的恢復方法
根據不同的備份方法採用不同的恢復方法。
使用物理備份恢復
Oracle提供了三種恢復手段:
1、資料庫級的恢復
2、表空間(Tablespace)的恢復
3、數據文件的恢復
資料庫級的恢復要求資料庫在關閉但Mount的狀態下進行。表空間及數據文件的恢復可在資料庫運行的狀態下進行。