溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Oracle另存為~

發(fā)布時間:2020-06-16 15:19:12 來源:網(wǎng)絡(luò) 閱讀:777 作者:長路慢 欄目:關(guān)系型數(shù)據(jù)庫

很多的應(yīng)用場景下,為了防止災(zāi)難的發(fā)生,防范重要數(shù)據(jù)的丟失,異地容災(zāi)解決方案層次不窮。那么數(shù)據(jù)庫無疑成為廠家重點保護(hù)的對象,那么來一起學(xué)習(xí)一下Oracle的備份機制。

Oracle備可以分為邏輯導(dǎo)出/導(dǎo)入和物理備份/恢復(fù)

    邏輯備份:其實就是利用exp/imp命令來實現(xiàn)表庫的數(shù)據(jù)信息

    導(dǎo)出:

        CMD命令模式下exp -? 查看幫助,簡單介紹兩個參數(shù)和使用格式

            1)owner           users to export: format is '(user1, user2, .., userN)'指定導(dǎo)出那些用戶的表,如果一個用戶不存在會出警告不會影響另一個用戶表導(dǎo)出

                格式如下:exp system/system owner=(user1,user2) file=D:/path  ------->file為保存路徑 ------------>owner等于多個參數(shù)時候要用括號括起來

            2)tables          tables to export: format is '(table1, table2, ..., tableN)'指定導(dǎo)出那些表,一次可以靈活選擇多個表備份

                格式如下:exp system/system tables=(tables1,tables2) file=D:/path.dmp

        基本格式大同小異 希望大家多多看幫助手冊(參考必須)

     導(dǎo)入:

        sql*plus中通過host 指令來調(diào)用DOS命令,注意Oracle 9i命令增量導(dǎo)出inctype已經(jīng)廢棄,導(dǎo)入使用imp命令 imp -? SQL*PLUS下要先打上 host

            導(dǎo)入格式:imp system/system file=D:/path.dmp 帶上參數(shù) tables=(user1,user2) 該命令只導(dǎo)入user1,user2這兩張表。

             SQL>host imp system/system file=D:/path.dmp tables=(user1,user2); 在SQL*PLUS中使用方式

        不論導(dǎo)入還是導(dǎo)出在沒有指定參數(shù)的情況下將使用ORACLE_SID默認(rèn)的環(huán)境變量庫,前面已經(jīng)涉及SID知識。


物理備份/恢復(fù)

      分為兩大類:冷備份和熱備份

           什么是冷備份,簡單粗暴來說關(guān)閉數(shù)據(jù)庫,復(fù)制庫文件,這些文件有數(shù)據(jù)文件,控制文件,日志文件,聯(lián)機的BEDOLOG和Init.org(可選)。

            冷備份步驟

                1)關(guān)閉數(shù)據(jù)庫 shutdown normal(正常關(guān)閉)

                2)當(dāng)前在SQL*PLUS環(huán)境下 SQL>host copy D:\oracle\product\...\oradata\test(原庫的路徑) E:\Backup(備份位置的路徑) 

                    解析:其實就是將以文件(塊)存儲在磁盤的數(shù)據(jù)庫復(fù)制到另一個文件夾內(nèi)保存

                  恢復(fù)更簡易,只要保證數(shù)據(jù)庫關(guān)閉狀態(tài),把備份的庫復(fù)制到老的庫位置即可

          什么是熱備份:有人也叫平滑升級,在啟動狀態(tài)的數(shù)據(jù)庫下進(jìn)行數(shù)據(jù)庫備份,因為很多場合應(yīng)用場景絕不可能讓你把某一臺數(shù)據(jù)庫關(guān)閉,高可用集群除外,所以掌握熱備份非常必要(數(shù)據(jù)庫一定是歸檔模式)

          什么是歸檔模式:當(dāng)我們啟動數(shù)據(jù)庫的時候,會有很多初始化信息,其中就會有Redo Buffer重做緩沖區(qū)大小,那么我們數(shù)據(jù)庫有聯(lián)機重做日志,這個日志是記錄增刪改查等等操作記錄,一個Oracle的數(shù)據(jù)庫有至少有兩個歸檔重做日志,在非歸檔模式下,那么當(dāng)?shù)谝粋€歸檔日志寫滿之后切換第二個聯(lián)機重做日志,當(dāng)?shù)诙€歸檔日志寫滿以后切換寫第一個聯(lián)機重做日志,新內(nèi)容將老的日志記錄覆蓋,那么會導(dǎo)致內(nèi)容丟失。如果在歸檔模式下,在一個聯(lián)機重做日志寫滿之后切換時候?qū)w檔,并復(fù)制到其他目錄,這樣會相對了避免了數(shù)據(jù)丟失。

            熱備份步驟

                1)首先我們把數(shù)據(jù)庫進(jìn)入mount階段,修改歸檔模式,命令如下

                    SQL>alter database mount 

                    SQL>alter database archivelog;

                2)那么我們打開數(shù)據(jù),便于對數(shù)據(jù)庫操作

                    SQL>alter database open;            

                3)查看是否開啟歸檔模式

                    SQL>archive log list;

                4)開啟表空間備份模式

                    SQL>alter tablespace users begin backup;

                5)備份表空間

                    SQL>host copy D:\app\....\oradate\xx.dbf D:\Backup

                6)關(guān)閉表空間備份

                    SQL>alter tablespace users end backup;

                7)備份控制文件

                    SQL>alter database backup controlfile to '' reuse;

                8)備份控制文件腳本

                    SQL>alter database backup controllfile to trace;

                在Oracle_home\intsance_name\udump控制的跟蹤文件,復(fù)制文件到備份目錄下,熱備份完成,詳細(xì)的知識點會繼續(xù)完善。


    

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI