新聞中心
Oracle數(shù)據(jù)庫是一款非常流行的關系型數(shù)據(jù)庫管理系統(tǒng),具有高效、可靠、安全等優(yōu)點,被眾多企業(yè)和組織廣泛采用。但是在日常維護中,關庫操作依然是一個比較棘手的問題,因為關庫操作有可能會對數(shù)據(jù)庫的完整性和穩(wěn)定性造成影響。因此,在進行關庫操作時,我們需要考慮到各種情況和可能出現(xiàn)的問題,以確保數(shù)據(jù)庫的安全和穩(wěn)定。接下來,本文將介紹一些關庫操作的技巧和實踐,幫助您輕松搞定Oracle數(shù)據(jù)庫關庫的問題。

讓客戶滿意是我們工作的目標,不斷超越客戶的期望值來自于我們對這個行業(yè)的熱愛。我們立志把好的技術通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領域值得信任、有價值的長期合作伙伴,公司提供的服務項目有:空間域名、網(wǎng)頁空間、營銷軟件、網(wǎng)站建設、二七網(wǎng)站維護、網(wǎng)站推廣。
一、關庫前的準備工作
在進行關庫操作前,我們需要對數(shù)據(jù)庫進行備份。備份數(shù)據(jù)庫的目的是為了在關庫操作出現(xiàn)問題時能夠恢復數(shù)據(jù)庫。一般來說,備份數(shù)據(jù)庫可以使用Oracle的備份和恢復工具,例如rman,或者使用一些第三方備份工具。在備份數(shù)據(jù)庫之后,我們需要確認數(shù)據(jù)庫的參數(shù)設置是否正確,例如SGA大小、日志文件大小等,以確保數(shù)據(jù)庫在關庫期間運行正常。另外,我們還需要保證在關閉數(shù)據(jù)庫前,所有的用戶都已經(jīng)退出,以免出現(xiàn)未提交的事務導致數(shù)據(jù)丟失。
二、關閉數(shù)據(jù)庫
在關閉數(shù)據(jù)庫之前,我們需要先確認當前會話情況??梢允褂萌缦旅畈樵儺斍皶挘?/p>
select sid,serial# from v$session;
如果之一列(SID)顯示的值不為0,則表示當前有用戶連接到數(shù)據(jù)庫。我們需要通過以下命令將這些會話殺死:
alter system kill session ‘sid,serial#’;
在所有用戶都退出數(shù)據(jù)庫后,我們可以執(zhí)行以下命令將數(shù)據(jù)庫關閉:
shutdown immediate;
這個命令會先等待所有未提交的事務處理完成后再關閉數(shù)據(jù)庫。如果有正在執(zhí)行的事務,則需要使用halt來停止數(shù)據(jù)庫:
shutdown abort;
在使用shutdown abort命令停止數(shù)據(jù)庫時,所有未提交的事務都將被回滾,可能需要一段時間才能完成。
三、關庫操作
在關閉數(shù)據(jù)庫之后,可以進行關庫操作。關庫操作的命令為:
alter database close;
執(zhí)行這個命令后,數(shù)據(jù)庫就會進入歸檔模式,它將關閉所有的數(shù)據(jù)文件、日志文件,并且將進行到對恢復操作的準備。在關庫過程中,我們可以使用以下命令查詢數(shù)據(jù)庫狀態(tài):
select status from v$instance;
如果這個命令返回的是MOUNTED,則表示數(shù)據(jù)庫已經(jīng)被關閉,并且可以進行恢復操作。如果返回的是OPEN或者STARTED,則表示數(shù)據(jù)庫并沒有被關閉,需要再次執(zhí)行關閉命令。
四、恢復數(shù)據(jù)庫
在完成關庫操作后,我們需要進行恢復操作?;謴蛿?shù)據(jù)庫的步驟如下:
1. 將數(shù)據(jù)庫文件傳送到指定位置。
2. 執(zhí)行“startup mount”將數(shù)據(jù)庫還原到mount模式。
3. 執(zhí)行“recover database”以進行日志文件恢復。
4. 執(zhí)行“alter database open”以打開數(shù)據(jù)庫。
在執(zhí)行恢復操作前,我們還需要進行一些預處理操作。例如,我們需要將已經(jīng)下線的實例從監(jiān)聽程序中刪除,避免在關庫操作后,實例仍然保持在線狀態(tài)。刪除實例的命令如下:
$ lsnrctl
LSNRCTL> status
LSNRCTL> delete service
完成這些準備工作后,我們就可以進行恢復操作了。如果數(shù)據(jù)庫恢復操作正常完成,則表示關庫操作已經(jīng)成功完成。
五、
相關問題拓展閱讀:
- ORACLE數(shù)據(jù)庫啟動與關閉的步驟
- oracle數(shù)據(jù)庫關閉
ORACLE數(shù)據(jù)庫啟動與關閉的步驟
啟滑吵旅信凳動的步驟:
startup
nomount
alter
database
mount
alter
database
open
關閉:
shutdowm
abort
|
immediate
|
transactional
|
normal
(shutdown不帶參數(shù)將缺省碰卜為normal)
oracle的啟動和關閉
一、sql*plus方式:
用sql*plus來連接到Oracle
Sqlplus /nolog 是以不連接數(shù)據(jù)庫的方式啟動sql*plus
Connect /as sysdba 是以DBA身份連接到oracle
or35.gif
. 啟動
or36.gif
Startup就可以啟動了。
不過oracle啟動模式有3種:
lStartup nomount (nomount模式)啟動實例不加載數(shù)據(jù)庫。
lStartup mount (mount模式)啟動實例加載數(shù)據(jù)庫但不打開數(shù)據(jù)庫
lStartup (open 模式)啟動實例加載并打開數(shù)據(jù)庫,就是我們上面所用的命令
Nomount模式中oracle僅為實例創(chuàng)建各種內(nèi)存結(jié)構(gòu)和服務進程,不會打開任何數(shù)據(jù)庫文件,
所以說:
1) 創(chuàng)建新數(shù)據(jù)庫
純亮 2) 重建控制文件
這2種操作都必須在這個模做褲拍式下進行。
Mount模式中oracle只裝載數(shù)據(jù)庫但不打開數(shù)據(jù)庫,所以說:
1) 重命名數(shù)據(jù)文件
2) 添加、刪除和重命名重做日子文件
3) 執(zhí)行數(shù)據(jù)庫完全恢復操作
4) 改變數(shù)據(jù)庫的歸檔模式
這4種操作都必須在這個模式下進行
Open模式(就是我們上面的startup不帶任何參數(shù)的)正常啟動。
當然這3種模式之間可以轉(zhuǎn)換:
Alter database mount(nomount模式)—〉alter database open(mount 模式)—〉(open模式)
當然還有其它一些情況,在我們open模式下可以將數(shù)據(jù)庫設置為非受限狀態(tài)和受限狀態(tài)
在受限狀態(tài)下,只有DBA才能訪問數(shù)據(jù)庫,所以說:
1) 執(zhí)行數(shù)據(jù)導入導出
2) 使用sql*loader提取外部數(shù)據(jù)
3) 需要暫時拒絕普通用戶訪問數(shù)據(jù)庫
4) 進行數(shù)據(jù)庫移植或者升級操作
這4種操作都必須在這個狀態(tài)下進行
在打開數(shù)據(jù)庫時使用startup restrict命令即進入受限狀態(tài)。
or37.gif
使用alter system disable restricted session命令即可以將受限狀態(tài)改變?yōu)榉鞘芟逘顟B(tài)。
or38.gif
使用alter system enable restricted session命令可以將非受限狀態(tài)變?yōu)槭芟逘顟B(tài)
or39.gif
使用alter database open read only可以使數(shù)據(jù)庫進入只讀狀態(tài)。
使用alter database open read write 可以使數(shù)據(jù)庫進入讀寫狀態(tài)。
當然在某些情況下可能是用上述各種啟動方式都無法成功啟動數(shù)據(jù)庫,這個時候就要使用startup force命令來強行啟動數(shù)據(jù)庫。當然誰都不想碰到這種情況:)
or40.gif
c.關閉數(shù)據(jù)庫
1)正常關閉 shutdown
2) 立即關閉 shutdown immediate
3) 關閉事務 shutdown transactional
4) 強行關閉 shutdown abort,當然誰都不想碰到這種情況。
二、OEM為例
Oracle Enterprise Management(OEM),
跟之一小節(jié)講的Sqlplus /nolog ,Connect /as sysdba 這2個命令差不多的操作如圖:
or29.gif
or30.gif
or31.gif
按照上面的一步步操作就能夠連接到數(shù)據(jù)庫。
下面是如何啟動和關閉數(shù)據(jù)庫:
or32.gif
點擊我們純羨前幾章創(chuàng)建的ORADB01這個數(shù)據(jù)庫樹中的配置選項,這個里面的:
1)已啟動 對應 Nomount模式
2)已轉(zhuǎn)載 對應 mount模式
3)打開 對應 open模式
當你點擊應有按鈕之后就會進入如下對話框
or33.gif
1)正常 對應 正常關閉 shutdown
2) 立即 對應 立即關閉 shutdown immediate
3) 事務處理 對應 關閉事務 shutdown transactional
4) 中止 對應 強行關閉 shutdown abort
確定之后出現(xiàn)如下對話框
or34.gif
限制對數(shù)據(jù)庫訪問 對應 alter system disable restricted session
alter system enable restricted session
只讀模式 對應 alter database open read only
alter database open read write
簡單吧,sql*plus的一大堆命令到OEM中變成了幾個按鈕罷了。
3.windows控制臺
or41.gif
這個熟悉吧:
oracle ************Agent 用于OEM管理結(jié)構(gòu)
oracle************HTTPSERVER oracle Web服務器
oracle ************ManagementServer 用于OEM管理結(jié)構(gòu)
oracle ************ TNSListener oracle網(wǎng)絡結(jié)構(gòu)的服務器端進程
oracle ************OEMREP 資料檔案庫文件
oracle ************ORADB001 用戶創(chuàng)建的數(shù)據(jù)庫
我一般都把所有的服務全部選成手動啟動,如果全開,內(nèi)存要用掉700M………….
oracle數(shù)據(jù)庫關閉
就是這樣的,命令行里的操作沒有消息發(fā)送到windows里。
進程我想你應該銷困會關,主要是把侍頌服務都關掉.那個對資源站用比較大.在控制面板,管理工具,服務里面找到和ORACLE有關的5個服務啟動項目,全部停止.啟動類型改成手動就虧談念可以了
關掉尺信ORACLE的服務即可.
如下圖所示,將服務全部停止,設置手動就可以了.
其中OracleServicexxxx就是你的數(shù)據(jù)庫,需要哪個庫運陵桐輪行就啟動哪個,同時再開輪缺監(jiān)聽服務就可以了.我一般就開2個.
那是你關閉豎租了數(shù)據(jù)庫的實例,Windows里的是oracle數(shù)據(jù)庫軟件的進程,而余睜兆不是數(shù)據(jù)庫(實例)的進早耐程。
當然運行了。windows里是oracle進程你不能在dos里結(jié)束的。必須通過資源管理器結(jié)束。
關于Oracle數(shù)據(jù)庫關庫的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
成都網(wǎng)站營銷推廣找創(chuàng)新互聯(lián),全國分站站群網(wǎng)站搭建更好做SEO營銷。
創(chuàng)新互聯(lián)(www.cdcxhl.com)四川成都IDC基礎服務商,價格厚道。提供成都服務器托管租用、綿陽服務器租用托管、重慶服務器托管租用、貴陽服務器機房服務器托管租用。
文章名稱:輕松搞定Oracle數(shù)據(jù)庫關庫! (Oracle數(shù)據(jù)庫關庫)
分享URL:http://m.5511xx.com/article/cooshep.html


咨詢
建站咨詢
