国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

詳解Oracle控制文件及日志文件的管理問題

瀏覽:98日期:2023-03-12 15:25:25
目錄
  • 一、控制文件的管理
    • 1、控制文件的概述
    • 2、控制文件的創(chuàng)建
      • 1、控制文件的重新建立
    • 3、控制文件的備份
      • 1、將控制文件備份為二進(jìn)制文件
      • 2、將控制文件備份為文本文件
    • 4、控制文件的恢復(fù)
      • 5、添加多路復(fù)用的控制文件
      • 二、重做日志文件的管理
        • 1、重做日志文件概述
          • 2、查詢重做日志文件信息
            • 3、重做日志文件組及成員的創(chuàng)建
              • 4、重做日志文件組及成員的刪除
                • 5、修改重做日志文件的名稱或位置
                • 三、歸檔日志文件的管理
                  • 1、歸檔日志文件概述
                    • 2、歸檔日志信息的查詢
                      • 3、歸檔模式的設(shè)置
                      • 四、總結(jié)

                        一、控制文件的管理

                        控制文件是oracle的物理文件之一,每個(gè)oracle數(shù)據(jù)庫(kù)都必須至少有一個(gè)控制文件,它記錄了數(shù)據(jù)庫(kù)的名字、數(shù)據(jù)文件的位置等信息。在啟動(dòng)數(shù)據(jù)實(shí)例時(shí),oracle會(huì)根據(jù)初始化參數(shù)定位控制文件,然后oracle會(huì)根據(jù)控制文件在實(shí)例和數(shù)據(jù)庫(kù)之間建立關(guān)聯(lián)。控制文件的重要性在于,一旦控制文件損壞,數(shù)據(jù)庫(kù)將會(huì)無(wú)法啟動(dòng)。

                        1、控制文件的概述

                        控制文件在數(shù)據(jù)庫(kù)創(chuàng)建時(shí)被自動(dòng)創(chuàng)建,并在數(shù)據(jù)庫(kù)發(fā)生物理變化時(shí)會(huì)同時(shí)更新。在任何時(shí)候都要保證控制文件是可用的。只有oracle進(jìn)程才能夠安全地更新控制文件的內(nèi)容,所以,任何時(shí)候都不要試圖手動(dòng)編輯控制文件。

                        2、控制文件的創(chuàng)建

                        數(shù)據(jù)庫(kù)在創(chuàng)建的時(shí)候,系統(tǒng)會(huì)根據(jù)初始化參數(shù)文件中control_files的設(shè)置創(chuàng)建控制文件。在后期數(shù)據(jù)庫(kù)的使用過程中,如果控制文件丟失或者損壞,可以通過手工創(chuàng)建新的控制文件。
                        手工創(chuàng)建控制文件的基本語(yǔ)法如下所示。

                        create controlfile
                        reuse database db_name
                        logfile
                        group 1 redofiles_list1
                        ...
                        datafile
                        ...
                        maxlogfiles max_value1
                        maxlogmembers max_value2
                        maxinstances max_value3
                        maxdatafiles max_value4
                        noresetlogsiresetlogs
                        archiveloginoarchivelog;
                        

                        參數(shù)說(shuō)明如下。
                        db_name:數(shù)據(jù)庫(kù)名稱。
                        logfile:表示下面定義日志組文件。
                        redofiles_list1:重做日志組中的重做日志文件列表1名稱及路徑。
                        datafile:表示下面定義數(shù)據(jù)文件。
                        max_value1:最大的重做日志文件數(shù)。
                        max_value2:最大的重做日志組成員數(shù)。
                        max_value3:最大實(shí)例數(shù)。
                        max_value4:最大數(shù)據(jù)文件數(shù)。
                        新建控制文件的基本步驟如下。
                        1、查看數(shù)據(jù)庫(kù)中所有的數(shù)據(jù)文件和重做日志文件的名稱和路徑。
                        2、關(guān)閉數(shù)據(jù)庫(kù)。
                        3、備份所有的數(shù)據(jù)文件和重做日志文件。
                        4、啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例。
                        5、創(chuàng)建新的控制文件。
                        6、編輯初始化參數(shù)。
                        7、重新打開數(shù)據(jù)庫(kù)。

                        1、控制文件的重新建立

                        1、查看數(shù)據(jù)庫(kù)中所有的數(shù)據(jù)文件和重做日志文件的名稱和路徑。
                        如果數(shù)據(jù)庫(kù)可以打開,則可以使用數(shù)據(jù)字典獲取數(shù)據(jù)文件和日志文件的基本信息,如下所示。
                        使用數(shù)據(jù)字典v$logfile獲取日志文件信息。

                        select member from v$logfile;

                        使用數(shù)據(jù)字典v$datafile獲取數(shù)據(jù)文件信息。

                        select name from v$datafile;

                        使用數(shù)據(jù)字典v$controlfile獲取控制文件信息。

                        select name from v$controlfile;

                        2、關(guān)閉數(shù)據(jù)庫(kù)
                        如果數(shù)據(jù)庫(kù)處于運(yùn)行狀態(tài),在創(chuàng)建控制文件之前,首先以sys用戶登錄,關(guān)閉數(shù)據(jù)庫(kù)。

                        conn sys/change_on_install as sysdbashutdown normal

                        3、備份所有的數(shù)據(jù)文件和重做日志文件。
                        4、啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例。
                        備份完成后,啟動(dòng)數(shù)據(jù)庫(kù),但是先不加載數(shù)據(jù)庫(kù),這主要是因?yàn)槿绻虞d數(shù)據(jù)庫(kù),會(huì)同時(shí)打開控制文件,就無(wú)法實(shí)現(xiàn)創(chuàng)建新的控制文件的目的。

                        startup nomount

                        3、控制文件的備份

                        在日常數(shù)據(jù)庫(kù)維護(hù)過程中,為了避免由于控制文件丟失或者損壞而導(dǎo)致數(shù)據(jù)庫(kù)系統(tǒng)崩潰,需要經(jīng)常對(duì)控制文件進(jìn)行備份。特別是當(dāng)修改了數(shù)據(jù)庫(kù)結(jié)構(gòu)之后,例如數(shù)據(jù)文件的添加、刪除等,都需要及時(shí)重新備份控制文件。
                        備份控制文件可以使用下面語(yǔ)句來(lái)實(shí)現(xiàn)。

                        alter database backup controlfile

                        使用該語(yǔ)句一般有兩種備份,一種是以二進(jìn)制文件的形式進(jìn)行備份,另一種是以文本文件的形式進(jìn)行備份。下面就分別看一下如何實(shí)現(xiàn)控制文件的備份。

                        1、將控制文件備份為二進(jìn)制文件

                        alter database backup controlfile to "c:\bak.bkp";

                        上面代碼實(shí)現(xiàn)將控制文件備份到C盤根目錄下,文件名為bak.bkp,該文件以二進(jìn)制形式存在。

                        2、將控制文件備份為文本文件

                        alter database backup controlfile to trace;

                        4、控制文件的恢復(fù)

                        當(dāng)數(shù)據(jù)庫(kù)由于各種情況發(fā)生損壞時(shí),這時(shí)可以使用所備份的文件來(lái)恢復(fù)數(shù)據(jù)庫(kù)。在日常維護(hù)中,經(jīng)常會(huì)遇到兩種情況,一種是控制文件損壞,另一種情況是磁盤發(fā)生故障。
                        當(dāng)控制文件損壞時(shí),這種情況較為簡(jiǎn)單,只需要用備份文件替換損壞的文件即可,不過復(fù)制之前要先關(guān)閉數(shù)據(jù)庫(kù),然后再?gòu)?fù)制,復(fù)制完成后需要重新啟動(dòng)。

                        5、添加多路復(fù)用的控制文件

                        為了提高數(shù)據(jù)庫(kù)的可靠性,可以建立多個(gè)鏡像的控制文件,并且分別保存在不同的磁盤中進(jìn)行多路復(fù)用,這樣就可以避免由于單個(gè)設(shè)備故障而使得數(shù)據(jù)庫(kù)無(wú)法啟動(dòng)的情況發(fā)生,這種管理策略被稱為多路復(fù)用控制文件。當(dāng)某個(gè)磁盤發(fā)生物理?yè)p壞導(dǎo)致控制文件損壞,數(shù)據(jù)庫(kù)將被關(guān)閉,此時(shí)就可以利用另一個(gè)磁盤中保存的控制文件來(lái)恢復(fù)被損壞的控制文件,然后再重新啟動(dòng)數(shù)據(jù)庫(kù),達(dá)到保護(hù)控制文件的目的。

                        二、重做日志文件的管理

                        重做日志文件也稱為日志文件,是記錄系統(tǒng)的日常操作、異常等行為的文件,是包含系統(tǒng)信息的文件,包括內(nèi)核、服務(wù)、在系統(tǒng)上運(yùn)行的應(yīng)用程序等。重做日志文件是數(shù)據(jù)庫(kù)安全和恢復(fù)的基本保障,當(dāng)數(shù)據(jù)庫(kù)出現(xiàn)故障的時(shí)候,管理員可以根據(jù)日志文件和數(shù)據(jù)庫(kù)備份文件,將崩潰的數(shù)據(jù)庫(kù)恢復(fù)到最近一次記錄日志時(shí)的狀態(tài)。

                        1、重做日志文件概述

                        在oracle數(shù)據(jù)庫(kù)中,重做日志文件用于記錄用戶對(duì)數(shù)據(jù)庫(kù)所做的各種變更操作所引起的數(shù)據(jù)變化,此時(shí),所產(chǎn)生的操作會(huì)先寫入重做日志緩沖區(qū),當(dāng)用戶提交一個(gè)事務(wù)的時(shí)候,LGWR進(jìn)程將與該事務(wù)相關(guān)的所有重做記錄寫入重做日志文件,同時(shí)生成一個(gè)“系統(tǒng)變更數(shù)”,scn會(huì)和重做記錄一起保存到重做日志文件組,以標(biāo)識(shí)與該事務(wù)提交成功。如果某個(gè)事務(wù)提交出現(xiàn)錯(cuò)誤,可以通過重做記錄找到數(shù)據(jù)庫(kù)修改之前的內(nèi)容,進(jìn)行數(shù)據(jù)恢復(fù)。

                        2、查詢重做日志文件信息

                        在oracl數(shù)據(jù)庫(kù)日常運(yùn)行過程中,數(shù)據(jù)庫(kù)管理員可以查看重做日志文件信息,用于了解數(shù)據(jù)庫(kù)的運(yùn)行情況。這可以通過查詢數(shù)據(jù)字典視圖v l o g 、 v log、v log、vlogfile和v l o g h i s t o r y 來(lái) 實(shí) 現(xiàn) , 通 過 它 們 可 以 查 詢 的 信 息 如 下 。 v log_history來(lái)實(shí)現(xiàn),通過它們可以查詢的信息如下。 v logh?istory來(lái)實(shí)現(xiàn),通過它們可以查詢的信息如下。vlog:包含重做日志文件組的信息。
                        v l o g f i l e : 包 含 重 做 日 志 文 件 成 員 信 息 。 v logfile:包含重做日志文件成員信息。 v logfile:包含重做日志文件成員信息。vlog_history:包含日志歷史信息。

                        3、重做日志文件組及成員的創(chuàng)建

                        在數(shù)據(jù)庫(kù)的日常維護(hù)過程中,數(shù)據(jù)庫(kù)管理員可以通過手工方式向數(shù)據(jù)庫(kù)中添加新的重做日志組或日志文件,也可以改變重做日志文件的名稱與位置,或者刪除重做日志組或其成員。

                        1、創(chuàng)建重做日志文件組
                        語(yǔ)法如下:

                        alter database add logfile [group] [編號(hào)](日志文件) size

                        上面語(yǔ)句中g(shù)roup可選,當(dāng)不選擇的時(shí)候,系統(tǒng)會(huì)自動(dòng)產(chǎn)生組號(hào),為當(dāng)前重做日志文件組的個(gè)數(shù)加1。

                        4、重做日志文件組及成員的刪除

                        當(dāng)重做日志文件組,其成員不合適或者所在存儲(chǔ)位置出現(xiàn)錯(cuò)誤時(shí),此時(shí)可以將重做日志文件組或者其成員刪除。

                        1、刪除重做日志成員文件
                        刪除重做日志文件成員使用如下語(yǔ)法。

                        alter database drop logfile member 文件名

                        刪除group5添加的新成員文件

                        alter database drop logfile member "d:\app\redo05_3.log";

                        5、修改重做日志文件的名稱或位置

                        在數(shù)據(jù)庫(kù)正常使用中,如果想要改變重做日志文件的名稱或位置,可以按照如下步驟進(jìn)行重做日志文件的修改。
                        1、關(guān)閉數(shù)據(jù)庫(kù)。
                        2、復(fù)制或者修改日志文件的位置。
                        3、啟動(dòng)數(shù)據(jù)庫(kù)實(shí)例,但不打開數(shù)據(jù)庫(kù),只加載數(shù)據(jù)庫(kù)。
                        4、重新設(shè)置重做日志文件的名稱或位置。
                        5、打開數(shù)據(jù)庫(kù)。

                        三、歸檔日志文件的管理

                        在oracle數(shù)據(jù)庫(kù)中,重做日志文件用于記錄用戶對(duì)數(shù)據(jù)庫(kù)所做的各種變更操作所引起的數(shù)據(jù)變化。在把這些變化寫入重做的日志文件的時(shí)候,一般情況下有多個(gè)重做日志文件組,每個(gè)文件組有多個(gè)文件,oracle向這些重做文件寫入的時(shí)候,一般情況下有多個(gè)重做日志文件組,每個(gè)文件組有多個(gè)文件,oracle向這些重做文件寫入的時(shí)候,是使用循環(huán)的方式向這些重做日志文件組中的文件進(jìn)行寫入的,當(dāng)最后一個(gè)重做日志文件組中的文件內(nèi)容寫滿后,會(huì)重新寫入第一個(gè)重做日志文件組中的文件。在這種情況下,原先重做日志文件的內(nèi)容如何處理,是直接覆蓋還是把原先的記錄保存,就是我們要介紹的歸檔日志。

                        1、歸檔日志文件概述

                        所謂歸檔日志文件就是指當(dāng)重做日志文件寫滿的時(shí)候,把其中內(nèi)容保存到新的文件中,這些新的文件集合就是歸檔日志文件。但是重做日志文件并不一定主動(dòng)被保存到新的文件中,根據(jù)數(shù)據(jù)庫(kù)設(shè)置不同,oracle有兩種日志模式:歸檔日志模式和非歸檔日志模式。在非歸檔日志模式下,原日志文件的內(nèi)容會(huì)被新的日志內(nèi)容所覆蓋;在歸檔日志模式下,oracle會(huì)首先對(duì)原日志文件進(jìn)行歸檔存儲(chǔ),且在歸檔未完成之前不允許覆蓋原有日志。

                        2、歸檔日志信息的查詢

                        數(shù)據(jù)庫(kù)管理人員可以修改歸檔日志文件和非歸檔日志文件,但首先需要了解歸檔日志信息。在oracle中,可以通過查詢數(shù)據(jù)字典了解歸檔日志的一些基本信息,常用的數(shù)據(jù)字典有v a r c h i v e d l o g 、 v archived_log、v archivedl?og、varchive_dest、v$database等

                        3、歸檔模式的設(shè)置

                        默認(rèn)情況下,oracle數(shù)據(jù)庫(kù)處于非歸檔日志模式,即當(dāng)重做日志文件寫滿的時(shí)候,直接覆蓋里面的內(nèi)容,原先的日志記錄不會(huì)被寫入到歸檔日志文件中。根據(jù)oracle數(shù)據(jù)庫(kù)對(duì)應(yīng)的應(yīng)用系統(tǒng)不同,數(shù)據(jù)庫(kù)管理員可以把數(shù)據(jù)庫(kù)的日志模式在歸檔模式和非歸檔模式之間進(jìn)行切換。可以通過alter database archivelog或noarchivelog語(yǔ)句實(shí)現(xiàn)數(shù)據(jù)庫(kù)在歸檔模式與非歸檔模式之間進(jìn)行切換。
                        切換步驟如下:
                        1、關(guān)閉數(shù)據(jù)庫(kù)

                        shutdown immediate;

                        2、將數(shù)據(jù)庫(kù)啟動(dòng)到加載狀態(tài)。

                        startup mount;

                        3、修改數(shù)據(jù)庫(kù)的歸檔模式或非歸檔模式
                        歸檔模式修改為非歸檔模式

                        alter database noarchivelog;

                        非歸檔模式修改為歸檔模式

                        alter database archivelog;

                        4、重新打開數(shù)據(jù)庫(kù)

                        alter database open;

                        四、總結(jié)

                        這里的相關(guān)內(nèi)容還沒有整理完畢,文章后面持續(xù)更新,建議收藏。

                        文章中涉及到的命令大家一定要像我一樣每個(gè)都敲幾遍,只有在敲的過程中才能發(fā)現(xiàn)自己對(duì)命令是否真正的掌握了。

                        到此這篇關(guān)于Oracle控制文件及日志文件的管理的文章就介紹到這了,更多相關(guān)Oracle控制文件管理內(nèi)容請(qǐng)搜索以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持!

                        標(biāo)簽: Oracle
                        主站蜘蛛池模板: 亚洲国产激情在线一区 | 国产青草 | 久久这里只有精品视频99 | 九九精品视频一区二区三区 | 日本高清免费视频色www | 99久久免费国产精精品 | 国产永久在线观看 | 九一国产精品视频 | 国产精品爱久久久久久久9999 | 国产午夜爽爽窝窝在线观看 | 国产精品久久久久久麻豆一区 | 日本b站一卡二卡乱码入口 日本s色大片在线观看 | 日本精品99| 国产高清亚洲 | 欧美精品一区二区三区免费播放 | 一区二区三区在线 | 网站 | 亚洲精品色综合色在线观看 | 免费看一级毛片欧美 | 日韩精品久久一区二区三区 | 欧美精品亚洲人成在线观看 | 中国美女一级片 | 久久精品国内一区二区三区 | 99久久精品免费看国产一区二区 | 韩国特级毛片 | 国产vs久久| 欧美一级毛片日韩一级 | 欧美一级免费看 | 天天都色 | 玖草在线视频 | 男人的天堂视频在线观看 | 欧美精品在线视频观看 | 成人午夜兔费观看网站 | 精品国产夜色在线 | 国产精品久久久久久久久久日本 | 亚洲精品资源网在线观看 | 欧美成人伊人十综合色 | 久久香蕉精品成人 | 亚洲精品www久久久久久久软件 | 欧美成人午夜在线全部免费 | 久久九九爱 | 一色屋精品亚洲香蕉网站 |