1. 程式人生 > >使用RMAN遷移檔案系統資料庫到ASM

使用RMAN遷移檔案系統資料庫到ASM

--==================================

-- 使用RMAN移檔案系統數ASM

--==================================

實際的工作程中,由於ASM管理的便利性,因此很多候需要檔案系庫遷移到ASM,本文演示瞭如何檔案系統數庫遷移到ASM例。

如何ASM例及ASM管理請參

建ASM例項及資料庫

ASM 磁盤組及磁碟的管理

一、主要步(假定ASM例已)

1.算目標數(檔案系)的大小

2.根據目標數的大小,ASM()可用磁

3.為輔

配置初始化引數檔案,密檔案,建目

4.備份標數

5.移目標數

二、

本次移在同一臺主機實現,因此採用不同的ORACLE_SID

境:Oracle Linux 5.4 + Oracle 10g R2

標數orcl

orclasm

1.算目標數(檔案系)的大小

SQL> show parameter db_name

NAMETYPEVALUE

------------------------------------ ----------- ------------------------------

db_name                              string

orcl

SQL> select * from v$version whererownum<2;

BANNER

----------------------------------------------------------------

Oracle Database10g Enterprise Edition Release 10.2.0.4.0 - Prod

SQL> selectsum(bytes)/1024/1024 ||'MB'from dba_segments;

SUM(BYTES)/1024/1024||'MB'

------------------------------------------

1195.5MB       

2.為輔可用空,下面DG1中有3016MB可用空,可以滿移的需要

ASMCMD> ls -s

Sector  BlockAU  Total_MB  Free_MB  Req_mir_free_MB  Usable_file_MB  Offline_disks  Name

512409610485766134603203016         0DG1/

5124096104857620471997019970REV/

3.配置

a.啟動標數併為標數庫創pfile

[[email protected] ~]$ echo $ORACLE_SID

orcl

[[email protected] ~]$ sqlplus / assysdba

idle> startup

sys@ORCL> createpfilefromspfile;

b.制目標數pfile生成pfile並對行修改

[[email protected] dbs]$ cd $ORACLE_HOME/dbs

[[email protected] dbs]$ cp initorcl.ora initorclasm.ora

修改initorclasm.ora

檔案中所有的orcl使用替命令替換為orclasm(使用vi工具 :%s/orcl/orclasm/g)

修改控制檔案1(DG1使用了normal redundancy),路徑為'+DG1/orclasm/controlfile/'--使用ASM注意目錄結構

               修改db_recovery_file_dest徑為'+REV'

修改log_archive_dest_1徑為'LOCATION=+REV/orclasm'

修改db_create_file_dest徑為'+DG1'

增加下列引數()

*.db_file_name_convert=("orcl","orclasm")

                 *.log_file_name_convert=("orcl","orclasm")

下面列出化的幾重要引數

*.audit_file_dest='/u01/app/oracle/admin/orclasm/adump'

*.background_dump_dest='/u01/app/oracle/admin/orclasm/bdump'

*.control_files='+DG1/orclasm/controlfile/control01.ctl'

*.core_dump_dest='/u01/app/oracle/admin/orclasm/cdump'

*.db_name='orclasm'

*.db_recovery_file_dest='+REV/orclasm'

*.log_archive_dest_1='LOCATION=+REV/orclasm'

*.user_dump_dest='/u01/app/oracle/admin/orclasm/udump'

*.db_create_file_dest='+DG1'

*.db_file_name_convert=("orcl","orclasm")

*.log_file_name_convert=("orcl","orclasm")

c.根據剛剛修改引數創建目

[[email protected] ~]$ mkdir -p $ORACLE_BASE/admin/orclasm/{a,b,c,u}dump

[[email protected] ~]$ ls $ORACLE_BASE/admin/orclasm

adump  bdump  cdump  udump

d.建密檔案

[[email protected] dbs]$ orapwd file=$ORACLE_HOME/dbs/orapworclasm password=oracle entries=8

4.備份標數

a.標數庫應處歸檔模式下

SQL> selectname,log_mode from v$database;

NAMELOG_MODE

--------- ------------

ORCL      ARCHIVELOG

b.接到RMAN並進備份,此使用了非catalog方式

[[email protected] ~]$ uniread rman target sys/[email protected] nocatalog

RMAN> crosscheck archivelogall;       --驗歸檔日誌

RMAN> delete expired archivelogall;   --無效的歸檔日誌

RMAN> report obsolete;

RMAN> delete noprompt obsolete;        --棄的備份

RMAN> show channel;                    --看預設的備份

RMAN configuration parameters are:

CONFIGURE CHANNEL DEVICE TYPEDISK FORMAT   '/u01/bk/orcl/data_%d_%U';

RMAN> showcontrolfile autobackup;    --看控制檔案的自動備份啟用情

using target database control fileinsteadofrecovery catalog

RMAN configuration parameters are:

CONFIGURE CONTROLFILE AUTOBACKUP ON;

RMAN> showcontrolfile autobackup format;   --看控制檔案的備份、格式

RMAN configuration parameters are:

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPEDISKTO'/u01/bk/orcl/auto_ctl_%d_%F';

RMAN> run{     --標數庫進備份,此備份為0增量包含了歸檔日誌,控制檔案spfile動備份

2> allocate channel ch1 device typedisk;

3> backupas compressed backupset

4> incremental level0database format '/u01/bk/orcl/data_%d_%U'

5> plus archivelog format '/u01/bk/orcl/bk_lg_%U'

6> tag='Inc0_log';

7> release channel ch1;}      

5.移目標數據到ASM

a.看目標數SEQUENCE10,便於恢復時指定SEQUENCE

SQL> select * from v$log;  

GROUP#    THREAD#  SEQUENCE#      BYTES    MEMBERS ARC STATUS           FIRST_CHANGE# FIRST_TIM

---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------

            119524288001YES ACTIVE                  52044530-OCT-10

2110524288001NOCURRENT52058530-OCT-10

b.看目標數據檔案的相息,後需要datafile指定檔名

RMAN> reportschema;

Reportofdatabaseschema

ListofPermanentDatafiles

===========================

FileSize(MB) TablespaceRB segs DatafileName

---- -------- -------------------- ------- ------------------------

1480SYSTEM***     /u01/app/oracle/oradata/orcl/system01.dbf

225UNDOTBS1             ***     /u01/app/oracle/oradata/orcl/undotbs01.dbf

3240SYSAUX***     /u01/app/oracle/oradata/orcl/sysaux01.dbf

45USERS***     /u01/app/oracle/oradata/orcl/users01.dbf

5100EXAMPLE              ***     /u01/app/oracle/oradata/orcl/example01.dbf

ListofTemporary Files

=======================

FileSize(MB) TablespaceMaxsize(MB) TempfileName

---- -------- -------------------- ----------- --------------------

120TEMP                 32767/u01/app/oracle/oradata/orcl/temp01.dbf

c.asm例是否已正常提供服,以及磁狀態並啟動新的orclasm

SQL> show parameter instance_name

NAMETYPEVALUE

------------------------------------ ----------- ------------------------------

instance_name                        string+ASM

SQL> select group_number,name,state,type,total_mb,free_mb,usable_file_mb from v$asm_diskgroup;

GROUP_NUMBER NAME STATE       TYPETOTAL_MB    FREE_MB USABLE_FILE_MB

------------ ------------------------------ ----------- ------ ---------- ---------- --------------

1 DG1                            MOUNTED     NORMAL6134    60323016

2 REV                            MOUNTED     EXTERN       204719971997

d.啟動輔nomount狀態

[[email protected] ~]$ export ORACLE_SID=orclasm

[[email protected] ~]$ sqlplus / assysdba

idle> startup nomount

ORACLE instance started.

e.使用RMAN接到目標數庫來完成

[[email protected] dbs]$ rman auxiliary / target sys/[email protected]

connected to target database: ORCL (DBID=1263182651)

connected to auxiliary database: ORCLASM (not mounted)

RMAN> run {

2> allocate auxiliary channel ach1 device typedisk;

3> setuntilsequence10thread1;

4> set newname fordatafile1to'+DG1';

5> set newname fordatafile2to'+DG1';

6> set newname fordatafile3to'+DG1';

7> set newname fordatafile4to'+DG1';

8> set newname fordatafile5to'+DG1';

9> set newname fortempfile1to'+DG1';

10duplicate target databaseto orclasm logfile

11group1('+DG1') size5m reuse,

12group2('+DG1') size5m reuse;

13}

contentsofMemory Script:

   {

Alterclonedatabaseopenresetlogs;

}

executing Memory Script

database opened

Finished Duplicate Db at30-OCT-10

6.續處

a.庫狀態並關閉數

[[email protected] ~]$ export ORACLE_SID=orclasm

[[email protected] ~]$ sqlplus / assysdba

SQL> selectname,open_mode from v$database;

NAMEOPEN_MODE

--------- ----------

ORCLASM   READWRITE

SQL> shutdownimmediate;

b.使用vi工具編輯initorclasm.ora   

除下列引數

*.db_file_name_convert=("orcl","orclasm")

*.log_file_name_convert=("orcl","orclasm")

c.啟動數

相關推薦

使用RMAN遷移檔案系統資料庫ASM

--================================== -- 使用RMAN遷移檔案系統數據庫到ASM --================================== 在

檔案系統ASM(無CATALOG)

1.備份原始庫,包括控制檔案,資料檔案記錄dbid 2.拷貝備份檔案到目標機 3.目標機上建立pfile(文字)編輯相關內容 4.使用Oradim命令建立一個例項 5.啟動例項 6.使用先前的pfile啟動例項(nomount狀態) 7.另開一會話set(1)中的dbid

同機同版本資料庫檔案系統遷移ASM實驗

1. 實驗環境說明 作業系統的版本是Oracle Linux 5核心是2.6.18-164.el5 [[email protected] ~]# uname -a Linux book 2.6.18-164.el5 #1 SMP Thu Sep 3 02:16:4

oracle資料庫檔案系統遷移ASM

檢視ASM磁碟組 SQL> select name,state from v$asm_diskgroup; 登陸RMAN執行映象全備到ASM磁碟組 $rman target /RMAN> backup as copy database format '+da

RMAN遷移資料庫(不改變檔案目錄)

1、目標庫建立相應目錄mkdir -p /u01/app/oracle/oradata/orclmkdir -p /u01/app/oracle/fast_recovery_area/ORCLmkdir -p /u01/app/oracle/admin/orcl/{a,dp}dump 2、目標庫建立密碼檔案

oracle表空間檔案系統遷移ASM

1.配置測試環境建立資料表空間create tablespace test logging datafile '/home/oracle/test.dbf' size 10m autoextend on next 10m maxsize 2048m extent management local;建立使用者並

oracle 12c RMAN異機恢復還原RAC叢集(ASM)為單例項庫(檔案系統)記錄

CONFIGURE CONTROLFILE AUTOBACKUP ON備份集準備 backup database format '/home/databak/whole_%d_%U'; backup spfile format '/home/databak/spfile_%

ASM+RAC==>>單例項+檔案系統遷移步驟

1修改pfile檔案(去掉叢集專用,因原伺服器有重名資料庫,取別名'test') 2轉儲控制檔案,資料庫至mount 3註冊備份集目錄 4restore、recover database 5修改redo日誌路徑 6開啟資料庫7善後(刪除多餘undo和redo、新建temp表

檔案系統損壞,oracle資料庫恢復

今天接到一個客戶的服務請求,由於伺服器被強制重啟,資料庫無法啟動ORA-1200報錯 這是一個常見的ORA-1200錯誤,但是檔案大小相差的有離譜實際大小729600個block,但是現在只有149760個block.不像是一般主機重啟導致的資料庫異常.通過再次諮詢客戶實際是什麼情況,客戶那邊如實描述:

sqoop在關係型資料庫與分散式檔案系統之間傳輸資料

sqoop用於 hadoop 與關係型資料庫之間的資料傳遞,可以將資料庫中的資料匯入到hdfs等檔案系統,也可以將hdfs 上的資料匯入到資料庫中。 準備sqoop 軟體包 sqoop-1.4.7.bin__hadoop-2.6.0 http://archive.apache.org

大量資料遷移到物件儲存服務過程中使用聯合檔案系統遷移方案

記一次遷移3T靜態資料到儲存服務的實踐過程,跟大家分享一下。 剛畢業,水平有限,重在記錄和分享。^ _ ^ 1.任務概述 幾個T的靜態資料遷移,主要是小圖,從本地檔案系統遷移到新物件儲存服務中。 遷移過程時間跨度大,可能要幾天甚至一週才能完成,在這過程

12c rac中資料庫密碼檔案儲存在ASM

12c RAC: [[email protected] ~]$ srvctl config database -d orcl -a Database unique name: orcl Database name: orcl Oracle home: /u0

解決laravel執行資料庫遷移檔案修改不支援enum型別的方法

報錯如下: In AbstractPlatform.php line 423: Unknown database type enum requested, Doctrine\DBAL\Platforms\MySQL57Platform may not support it.

資料庫系統檔案系統的區別與聯絡

很多人剛剛接觸資料庫時都有疑問:在很多程式中都會是有的直接讀取一個靜態檔案,有的是讀取資料庫。直接讀取靜態檔案,不訪問資料庫速度是會很快,但是為什麼還要訪問資料庫呢?它們兩則肯定是有區別的,那麼區別是什麼呢?  其實他們之間的關係很簡單,如下參考:   檔案系統把資料組織成相

面向雲資料庫,超低延遲檔案系統PolarFS誕生了

阿里妹導讀:隨著國內首款Cloud Native自研資料庫POLARDB精彩亮相ICDE 201

Linux檔案系統損壞導致的資料庫危機

生產環境資料庫伺服器儲存檔案系統故障,導致資料庫異常宕機,相關人員盲目重啟資料庫伺服器OS後,儲存無法正常掛載,現象如下: 檢視OS message資訊如下: 可知OS 檔案系統出現了bad s

資料庫檔案系統的快照snapshot

1.快照用途 通俗法:快照的作用主要是能夠進行線上資料恢復,用資料庫採集下系統某一時刻的資料,將資料存入資料庫中,當儲存裝置發生應用故障或者檔案損壞時可以進行及時資料恢復,將資料恢復成快照產生時間點的狀態。快照的另一個作用是為儲存使用者提供了另外一個數據訪問通道,當原資料進

ln 無法建立符號連結asm 只讀檔案系統

拿到u-boot原始碼後放到虛擬機器的共享share資料夾中,解壓,然後配置。沒注意我犯了一個很低端的錯誤...     windows下是沒有連線檔案的,使用ln來建立連線檔案時當然會出錯,將所有程

oracle 資料恢復,只有oradata資料夾裡的檔案,沒有備份檔案資料庫恢復,重灌系統後,oracle 10g資料庫恢復

格式化重灌系統後,才想起來oracle 10g 資料庫沒有做備份,開始以為很麻煩,沒想到資料庫恢復的還挺順利的 恢復方法: 1,把原來的資料庫檔案備份,(D:\oracle\product\10.2.0\oradata\gqxt),重新命名即可,我命名為gqxt_old,(

Oracle RMAN恢復帶有OFFLINE資料檔案資料庫

1、建立測試表空間及測試資料檔案 SQL> create tablespace test datafile '/u01/app/oracle/oradata/qlotcdb/test.dbf' size 1M; SQL> create user test ide