91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)

發布時間:2020-08-05 10:58:55 來源:ITPUB博客 閱讀:300 作者:sqgvip 欄目:關系型數據庫

前言:在遷移Oracle數據庫的過程中,我們會遇到很多種情況,例如32位操作系統下的數據庫遷移到64位,不同操作系統平臺之間的遷移,那么怎么選擇遷移工具呢,首先我們需要確認遷移源端和目標端的環境,再次停機時間,數據量大小,相對而言,邏輯遷移更穩妥一點,不管是手動的expdp/impdp 還是借助其他工具,OGG之類,像高水位這樣的問題也會得到緩解。 rman也是一項工具,那么什么時候選擇呢,或者選擇的利弊呢?版本限制、bug有點多,rman能把數據庫的環境完全復制過來,在一些場景中是需要的。

下面做個測試,源端環境:   Windows2008 64+Oracle11.2.0.1+ filesystem

                        目標端環境:Redhat6.7 x64+oracle11.2.0.4+ASM

首先我們確認一下字節:

     【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)


下面開始通過
rman執行遷移工作

Windows環境下執行備份:

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)

通過以下語句生成pfile文件:

create pfile='d:\pfile20171029.ora' from spfile;

將備份文件、歸檔日志、pfile文件、密碼文件拷貝至目標端(Linux

目標端相關操作:

首先編輯參數文件,修改相關路徑、參數等,并且創建相關目錄

例如:

mkdir -p /home/oracle/archivelog
mkdir -p /u02/app/oracle/admin/orcl/adump

啟動數據庫到nomount狀態

export ORACLE_SID=orcl
sqlplus / as sysdba
startup nomount pfile='/home/oracle/rmanbackup/pfile20171029.ora'

開始恢復控制文件(注意,初始化參數文件中已更改控制文件存放到ASM磁盤中)

* 恢復控制文件并啟動到mount階段:


【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)


*
注冊備份文件


【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)


執行恢復數據庫操作,此處注意,首先需要清理
rman中無效備份,如果不清理,需要制定,不然恢復時首先找的是原來備份,如下:

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)


*
此處執行檢查備份、并清理無效、過期備份(簡圖)

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)
 

再次執行恢復操作:

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)


OK
,我們執行recover

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)

Recovery Manager complete.  此處注意,這里執行的是recover database,也未應用之后的歸檔日志,再個,在線日志并沒有原來的目錄,數據庫open時會默認給創建到dbs目錄中,open后需要更改redo log位置。


recover
完成,下面開始open

SQL> alter database open resetlogs upgrade; -- upgrade 版本由1120111204

Database altered.


打開了,可以啊,完事了?
  redo log沒做,還有什么  想想……


首先我們需要把數據庫根本的正好,來執行幾個腳本,
來完成最終的數據庫升級

需要執行以下三個腳本, 順序要求,首先執行catupgrd.sql,再依次執行utlrp.sql catbundle.sql 

  還要注意一點:執行catupgrd.sql之前,需要重建臨時表空間,步驟如下:

create temporary tablespace temp01 tempfile '+DATA' SIZE 1G;
alter database default temporary tablespace temp01;
drop tablespace temp including contents and datafiles cascade constraints;



ok,可以執行啦

SQL> @?/rdbms/admin/catbundle.sql psu apply   
SQL>@?/rdbms/admin/utlrp.sql
SQL>@?/rdbms/admin/catupgrd.sql     --
第一個執行,它會頻繁切換歸檔,俺的測試空間已爆

為什么需要執行這三個呢,我們看一下這幾個腳本的描述

第一個,這個主要目的是將補丁信息更新到sql中,也會執行其他東西,也就是視圖dba_registry_history

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)

第二個,重新編譯無效對象

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)


最終要的,就是第三個,必須執行,這里說的是
10.2及之前的版本,本次環境為11.2.0.1 11.2.0.4 ,也是必須執行的腳本,如果你不想每次shutdown數據庫后,startup時還需要 alter database open upgrade  那就執行此步驟。

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)

   腳本執行完成,我們來看看版本信息:

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux) 


紅色部分為升級的一部分,可以忽略。第二行為執行腳本catupgrd.sql   生成,描述信息:Upgraded from 11.2.0.1.0

第三行為腳本catbundle.sql執行結果

  還有什么收尾工作嗎,對了,在線日志路徑還未更改,那就查看更改吧

 基本步驟如下:

select group#,status from v$log;
alter system archive log current;

alter database drop logfile group 3;
alter database add logfile group 3 ('+DATA') size 100m;
alter database drop logfile group 1;
alter database add logfile group 1 ('+DATA') size 100m;
alter database drop logfile group 2;
alter database add logfile group 2 ('+DATA') size 100m;

 更改完成,還需要執行以下命令

create spfile from  pfile='/home/oracle/rmanbackup/pfile01.ora';

再次重啟數據庫驗證,數據庫正常。

等等,我們需要追加歸檔日志恢復……

【RMAN】Oracle11g使用rman遷移升級數據庫(win_to_linux)

讀取歸檔日志報錯,終于用上了MOS文章中提到的失敗,那么如果源目標歸檔日志都采用ASM方式存儲呢?會出現嗎?   留著吧不能用追加歸檔日志方式,就使用增量備份唄

  雖然說使用邏輯方式遷移看似簡單,例如expdp/impdp ,其實需要準備的東西并不少,有興趣的可以測試下,遷移我們就可能遇到不同的操作系統、不同的版本甚至32位到64位,  不知道Oracle18C  能解決不?

 折騰半天,最后以600結束,也算無憾 其實挺扯淡……


 
就這樣吧,周一愉快

 

    
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

松阳县| 信宜市| 高雄县| 睢宁县| 周口市| 资中县| 沙洋县| 金华市| 轮台县| 白玉县| 吉林市| 隆昌县| 台安县| 衡东县| 资讯| 韶关市| 安康市| 金乡县| 临江市| 邵阳市| 垫江县| 朝阳区| 马鞍山市| 瑞丽市| 甘泉县| 古浪县| 澎湖县| 时尚| 拜城县| 维西| 灌南县| 黑龙江省| 阜阳市| 长海县| 中卫市| 板桥市| 临湘市| 贺兰县| 桐城市| 托克逊县| 信阳市|