ORACLE使用者管理方式下備份資料和複製資料庫

2021-07-02 03:15:35 字數 4683 閱讀 2054

首先要明確的是,oracle資料庫的備份可以分為邏輯備份和物理備份。

邏輯備份的是通過資料匯出對資料進行備份,主要方式有老式的imp/exp和資料幫浦燈方式。適合變化較少的資料庫,而對於高可用性資料庫,由於這種方式備份的資料只能恢復到備份的時間點,所以並不適用。但由於邏輯備份具有平台無關性,所以更常見的是用來資料遷移及資料移動;

物理備份是通過複製資料檔案、引數檔案等資料庫的物理檔案來進行備份。物理備份可以分為冷備份和熱備份。冷備份需要在關閉資料庫後進行備份,目前在高可用的生產環境中,這種方式使用較少。而熱備份可以在系統執行的情況下通過備份資料檔案及歸檔日誌就可以恢復,因此使用的範圍更廣泛。

熱備份可以分為使用者管理方式下的熱備份(user-managed backup and recovery)和oracle管理(rman)的熱備份(recovery manager-rman),要注意的是,資料庫要進行熱備份必須執行在歸檔模式下。

一、使用者管理方式下的備份

首先,備份資料檔案:

1)查詢資料檔案有哪些:

sql> select name from v$datafile;

2)將資料庫置於備份模式下:

sql> alter database begin backup;

3)備份資料檔案:

sql> host copy d:\oracle\orcdata\tiod\system01.dbf c:\oracle\backup;

sql> host copy d:\oracle\orcdata\tiod\sysaux01.dbf c:\oracle\backup;

sql> host copy d:\oracle\orcdata\tiod\undotbs01.dbf c:\oracle\backup;

sql> host copy d:\oracle\orcdata\tiod\users01.dbf c:\oracle\backup;

sql> host copy e:\oracle\orcl\ods\hh_tbs.dbf c:\oracle\backup;

4)結束資料檔案備份並歸檔日誌:

sql> alter database end backup;

sql> alter system archive log current;

第二,備份控制檔案,此處使用備份到跟蹤檔案的方式:

1)將建立控制檔案的命令資訊記錄到trace檔案中:

sql> alter database backup controlfile to trace;

2)確定跟蹤檔案位置和名稱:

sql> select a.spid from v$process a,v$session b where a.addr=b.paddr and b.username='sys'

sql> show parameter user_dump_dest;

跟蹤檔案命名為_ora_.trc。

3)開啟vidi_ora_1260.trc,確定建立控制檔案內容;

create controlfile reuse database "tiod" noresetlogs  archivelog

maxlogfiles 16

maxlogmembers 3

maxdatafiles 100

maxinstances 8

maxloghistory 292

logfile

group 1 'd:\oracle\orcdata\tiod\redo01.log'  size 50m blocksize 512,

group 2 'd:\oracle\orcdata\tiod\redo02.log'  size 50m blocksize 512,

group 3 'd:\oracle\orcdata\tiod\redo03.log'  size 50m blocksize 512

-- standby logfile

datafile

'd:\oracle\orcdata\tiod\system01.dbf',

'd:\oracle\orcdata\tiod\sysaux01.dbf',

'd:\oracle\orcdata\tiod\undotbs01.dbf',

'd:\oracle\orcdata\tiod\users01.dbf',

'e:\oracle\orcl\ods\hh_tbs.dbf'

character set zhs16gbk;第

三、備份歸檔日誌:

確定需要備份的歸檔日誌:

sql> select name from v$archived_log where dest_id=1 and first_time>=sysdate-1;

使用copy命令備份到備份檔案夾即可。

第四、備份引數檔案:

sql> create pfile='c:\oracle\backup\initelse.ora' from spfile;

二、使用備份檔案複製資料庫到另外一台機器

當需要在另外一台機器轉殖一套與生產環境同樣的資料進行測試、學習時,我們可以使用上面備份的檔案複製資料庫。需要注意兩點:

1)源機器和目標機器應為相同的作業系統平台;

2)複製資料庫可以包含所有的資料檔案也可以僅僅複製部分資料檔案,但system表空間和undo表空間的資料檔案必須有。

一)建立存放目標庫的相關檔案目錄。比如tiod資料庫建立d:\oracle\orcdata\tiod目錄,及目錄下bdump、udump、archive等目錄。

二)建立例項服務:

c:\users\administrator>oradim -new -sid tiod -intpwd oracle;

三)建立引數檔案:

1)編輯initelse.ora,修改以下引數:

*.db_name='tiod'

*.log_archive_dest_1='location=d:\oracle\orcdata\tiod\archive'

*.user_dump_dest='d:\oracle\orcdata\tiod\udump'

*.background_dump_dest='d:\oracle\orcdata\tiod\bdump'

此處對應我們第一步建立起的相關檔案目錄

2)建立目標庫引數檔案:

sql> create spfile='c:\oracle\product\11.2.0\dbhome_1\database\spfiletiod.ora' from pfile='c:\oracle\backup\initelse.ora';

四)將原庫備份好的資料檔案和歸檔檔案複製到目標庫的相應檔案目錄。

五)啟動例項,修改並建立控制檔案,控制檔案可根據我們上述備份中的方法獲得,並修改後執行即可。

c:\users\administrator>set oracle_sid=tiod

c:\users\administrator>sqlplus sys/oracle as sysdba

sql> startup nomount spfile='c:\oracle\product\11.2.0\dbhome_1\database\spfiletiod.ora';

sql>create controlfile reuse database "tiod" resetlogs  archivelog

maxlogfiles 16

maxlogmembers 3

maxdatafiles 100

maxinstances 8

maxloghistory 292

logfile

group 1 'd:\oracle\orcdata\tiod\redo01.log'  size 50m blocksize 512,

group 2 'd:\oracle\orcdata\tiod\redo02.log'  size 50m blocksize 512,

group 3 'd:\oracle\orcdata\tiod\redo03.log'  size 50m blocksize 512

-- standby logfile

datafile

'd:\oracle\orcdata\tiod\system01.dbf',

'd:\oracle\orcdata\tiod\sysaux01.dbf',

'd:\oracle\orcdata\tiod\undotbs01.dbf',

'd:\oracle\orcdata\tiod\users01.dbf',

'e:\oracle\orcl\ods\hh_tbs.dbf'

character set zhs16gbk

;六)恢復目標庫

1)指定要使用的歸檔目錄(第一步所建archive目錄)並執行恢復操作:

sql> set logsource 'd:\oracle\orcdata\tiod\archive';

sql> recover database using backup controlfile until cancel;

2)使用resetlogs選項開啟資料庫,並建立起目標庫的所有重做日誌

sql> alter database open resetlogs;

這樣就完成了對乙個資料庫的備份以及使用其備份複製資料庫到另外乙個機器上的過程,這個過程是使用者管理方式下的備份和複製資料庫,此外我們可以使用rman方式達到同樣的目的。這個備份和恢復適用於在open狀態下的歸檔模式資料庫。

ORACLE使用者管理方式下備份資料和複製資料庫

首先要明確的是,oracle資料庫的備份可以分為邏輯備份和物理備份。邏輯備份的是通過資料匯出對資料進行備份,主要方式有老式的imp exp和資料幫浦燈方式。適合變化較少的資料庫,而對於高可用性資料庫,由於這種方式備份的資料只能恢復到備份的時間點,所以並不適用。但由於邏輯備份具有平台無關性,所以更常見...

記憶體管理方式

記憶體管理方式 塊 段 頁 段頁 頁式管理 頁式管理的基本原理將各程序的虛擬空間劃分成若干個長度相等的頁 page 頁式管理把記憶體空間按頁的大小劃分成片或者頁面 page frame 然後把頁式虛擬位址與記憶體位址建立一一對應頁表,並用相應的硬體位址變換機構,來解決離散位址變換問題。頁式管理採用請...

管理方式調整

最近加班加成狗,另外,在工作安排和管理上,也覺得一些地方不太對勁,也覺得有些事情管的過細,有些事情缺又管的太粗,所以思前想後,覺得我應該在管理方式得做一些調整,以適應目前的形式,解決發現的問題問題 1 主動合理安排任務,不干涉執行 任務要更主動安排,要更詳細描述,把期望目標和客戶需求描述的更詳細。例...