使用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
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.查看目標數據庫的SEQUENCE,當前為10,便於恢復時指定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';
10> duplicate target databaseto orclasm logfile
11> group1('+DG1') size5m reuse,
12> group2('+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
--==================================
在
1.備份原始庫,包括控制檔案,資料檔案記錄dbid
2.拷貝備份檔案到目標機
3.目標機上建立pfile(文字)編輯相關內容
4.使用Oradim命令建立一個例項
5.啟動例項
6.使用先前的pfile啟動例項(nomount狀態)
7.另開一會話set(1)中的dbid
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
檢視ASM磁碟組
SQL> select name,state from v$asm_diskgroup;
登陸RMAN執行映象全備到ASM磁碟組
$rman target /RMAN> backup as copy database format '+da 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、目標庫建立密碼檔案 1.配置測試環境建立資料表空間create tablespace test logging datafile '/home/oracle/test.dbf' size 10m autoextend on next 10m maxsize 2048m extent management local;建立使用者並
CONFIGURE CONTROLFILE AUTOBACKUP ON備份集準備
backup database format '/home/databak/whole_%d_%U';
backup spfile format '/home/databak/spfile_%
1修改pfile檔案(去掉叢集專用,因原伺服器有重名資料庫,取別名'test')
2轉儲控制檔案,資料庫至mount
3註冊備份集目錄
4restore、recover database
5修改redo日誌路徑
6開啟資料庫7善後(刪除多餘undo和redo、新建temp表 今天接到一個客戶的服務請求,由於伺服器被強制重啟,資料庫無法啟動ORA-1200報錯
這是一個常見的ORA-1200錯誤,但是檔案大小相差的有離譜實際大小729600個block,但是現在只有149760個block.不像是一般主機重啟導致的資料庫異常.通過再次諮詢客戶實際是什麼情況,客戶那邊如實描述:
sqoop用於 hadoop 與關係型資料庫之間的資料傳遞,可以將資料庫中的資料匯入到hdfs等檔案系統,也可以將hdfs 上的資料匯入到資料庫中。
準備sqoop 軟體包 sqoop-1.4.7.bin__hadoop-2.6.0 http://archive.apache.org
記一次遷移3T靜態資料到儲存服務的實踐過程,跟大家分享一下。 剛畢業,水平有限,重在記錄和分享。^ _ ^
1.任務概述
幾個T的靜態資料遷移,主要是小圖,從本地檔案系統遷移到新物件儲存服務中。
遷移過程時間跨度大,可能要幾天甚至一週才能完成,在這過程
12c RAC:
[[email protected] ~]$ srvctl config database -d orcl -a
Database unique name: orcl
Database name: orcl
Oracle home: /u0
報錯如下:
In AbstractPlatform.php line 423:
Unknown database type enum requested, Doctrine\DBAL\Platforms\MySQL57Platform may not support it.
很多人剛剛接觸資料庫時都有疑問:在很多程式中都會是有的直接讀取一個靜態檔案,有的是讀取資料庫。直接讀取靜態檔案,不訪問資料庫速度是會很快,但是為什麼還要訪問資料庫呢?它們兩則肯定是有區別的,那麼區別是什麼呢? 其實他們之間的關係很簡單,如下參考: 檔案系統把資料組織成相
阿里妹導讀:隨著國內首款Cloud Native自研資料庫POLARDB精彩亮相ICDE 201
生產環境資料庫伺服器儲存檔案系統故障,導致資料庫異常宕機,相關人員盲目重啟資料庫伺服器OS後,儲存無法正常掛載,現象如下:
檢視OS message資訊如下:
可知OS 檔案系統出現了bad s
1.快照用途
通俗法:快照的作用主要是能夠進行線上資料恢復,用資料庫採集下系統某一時刻的資料,將資料存入資料庫中,當儲存裝置發生應用故障或者檔案損壞時可以進行及時資料恢復,將資料恢復成快照產生時間點的狀態。快照的另一個作用是為儲存使用者提供了另外一個數據訪問通道,當原資料進
拿到u-boot原始碼後放到虛擬機器的共享share資料夾中,解壓,然後配置。沒注意我犯了一個很低端的錯誤...
windows下是沒有連線檔案的,使用ln來建立連線檔案時當然會出錯,將所有程
格式化重灌系統後,才想起來oracle 10g 資料庫沒有做備份,開始以為很麻煩,沒想到資料庫恢復的還挺順利的 恢復方法: 1,把原來的資料庫檔案備份,(D:\oracle\product\10.2.0\oradata\gqxt),重新命名即可,我命名為gqxt_old,(
1、建立測試表空間及測試資料檔案
SQL> create tablespace test datafile '/u01/app/oracle/oradata/qlotcdb/test.dbf' size 1M;
SQL> create user test ide 相關推薦
使用RMAN遷移檔案系統資料庫到ASM
檔案系統至ASM(無CATALOG)
同機同版本資料庫從檔案系統遷移至ASM實驗
oracle資料庫檔案系統遷移到ASM
RMAN遷移資料庫(不改變檔案目錄)
oracle表空間檔案系統遷移到ASM
oracle 12c RMAN異機恢復還原RAC叢集(ASM)為單例項庫(檔案系統)記錄
ASM+RAC==>>單例項+檔案系統遷移步驟
檔案系統損壞,oracle資料庫恢復
sqoop在關係型資料庫與分散式檔案系統之間傳輸資料
大量資料遷移到物件儲存服務過程中使用聯合檔案系統的遷移方案
12c rac中資料庫密碼檔案儲存在ASM中
解決laravel執行資料庫遷移檔案修改不支援enum型別的方法
資料庫系統和檔案系統的區別與聯絡
面向雲資料庫,超低延遲檔案系統PolarFS誕生了
Linux檔案系統損壞導致的資料庫危機
資料庫和檔案系統的快照snapshot
ln 無法建立符號連結asm 只讀檔案系統
oracle 資料恢復,只有oradata資料夾裡的檔案,沒有備份檔案的資料庫恢復,重灌系統後,oracle 10g資料庫恢復
Oracle RMAN恢復帶有OFFLINE資料檔案的資料庫