Oracle ASM File Copy

ASM File Copy

標籤: 
ASM File Copy
這是一個存儲過程包,是除了RMAN之外又一個用於執行遷移任務的工具包,可以完成如下的遷移:ASM->ASM、ASM->OS Flie、OS File->ASM、OS File->OS File。
使用DBMS_FILE_TRANSFER遷移表空間和數據文件
 
流程:
1.Tablespace Offline
2.建立Source Dir & Target Dir
3.檔案copy ,Dbms_file_transfer.copy_file
4.更改檔案路徑,alter database  rename file
5.Tablespace Online
 
 


 

 
從文件系統到ASM
 
SQL> select name from v$datafile;
 
NAME
——————————————————————————–
/u01/oracle/10g/oradata/gt10g/system01.dbf
/u01/oracle/10g/oradata/gt10g/undotbs1.dbf
/u01/oracle/10g/oradata/gt10g/sysaux01.dbf
/u01/oracle/10g/oradata/gt10g/users01.dbf
/u01/oracle/10g/oradata/gt10g/gtlions01.dbf
/u01/oracle/10g/oradata/gt10g/gtlions02.dbf
 
6 rows selected.
 
查詢directory的位址:
SQL>Select * from dba_directories;
 
create directory source_dir as '/u01/oradata/oracl';
create directory dest_dir as '/u01/copies';
dbms_file_transfer格式:
範例:
begin
  DBMS_FILE_TRANSFER.COPY_FILE(
      source_directory_object => 'SOURCE_DIR',
      source_file_name => 'example01.dbf',
      destination_directory_object => 'DEST_DIR',
      destination_file_name => 'example01_copy.dbf');
  END;
/
 
SQL> alter tablespace gtlions offline;
 
Tablespace altered.
 
SQL> begin dbms_file_transfer.copy_file('dir1','gtlions01.dbf','dir2','gtlions01.dbf'); end;
  2  /
 
PL/SQL procedure successfully completed.
 
 
SQL> alter database  rename file'/u01/oracle/10g/oradata/gt10g/gtlions01.dbf' to'+DATA01/gt10g/datafile/gtlions01.dbf';
 
Database altered.
 
SQL> alter database  rename file'/u01/oracle/10g/oradata/gt10g/gtlions02.dbf' to'+DATA01/gt10g/datafile/gtlions02.dbf';
 
Database altered.
 
SQL> alter tablespace gtlions online;
 
Tablespace altered.
 
SQL> select name from v$datafile;
 
NAME
——————————————————————————–
/u01/oracle/10g/oradata/gt10g/system01.dbf
/u01/oracle/10g/oradata/gt10g/undotbs1.dbf
/u01/oracle/10g/oradata/gt10g/sysaux01.dbf
/u01/oracle/10g/oradata/gt10g/users01.dbf
+DATA01/gt10g/datafile/gtlions01.dbf
+DATA01/gt10g/datafile/gtlions02.dbf
 
6 rows selected.
 
******************************************************
 
   ASM到文件系統
SQL> select name from v$datafile;
 
NAME
——————————————————————————–
/u01/oracle/10g/oradata/gt10g/system01.dbf
/u01/oracle/10g/oradata/gt10g/undotbs1.dbf
/u01/oracle/10g/oradata/gt10g/sysaux01.dbf
/u01/oracle/10g/oradata/gt10g/users01.dbf
+DATA01/gt10g/datafile/gtlions.263.808393465
+DATA01/gt10g/datafile/gtlions.262.808393513
 
6 rows selected.
–我們將遷移表空間gtlions的兩個數據文件
–創建源和目標目錄
SQL> create or replace directory dir1 as'/u01/oracle/10g/oradata/gt10g/';
 
Directory created.
 
SQL> create or replace directory dir2 as'+DATA01/gt10g/datafile/';
 
Directory created.
 
–開始傳輸文件
SQL> begin
  2  dbms_file_transfer.copy_file('dir2','gtlions.263.808393465','dir1','gtlions01.dbf');
  3  end;
  4  /
 
PL/SQL procedure successfully completed.
 
SQL> begin
  2  dbms_file_transfer.copy_file('dir2','gtlions.262.808393513','dir1','gtlions02.dbf');
  3  end;
  4  /
 
PL/SQL procedure successfully completed.
–重新定位文件位置
SQL> alter database  rename file'+DATA01/gt10g/datafile/gtlions.263.808393465' to'/u01/oracle/10g/oradata/gt10g/gtlions01.dbf';
 
Database altered.
 
SQL> alter database  rename file'+DATA01/gt10g/datafile/gtlions.262.808393513' to '/u01/oracle/10g/oradata/gt10g/gtlions02.dbf';
 
Database altered.
 
SQL> alter tablespace gtlions online;
 
Tablespace altered.
 
SQL> select name from v$datafile;
 
NAME
——————————————————————————–
/u01/oracle/10g/oradata/gt10g/system01.dbf
/u01/oracle/10g/oradata/gt10g/undotbs1.dbf
/u01/oracle/10g/oradata/gt10g/sysaux01.dbf
/u01/oracle/10g/oradata/gt10g/users01.dbf
/u01/oracle/10g/oradata/gt10g/gtlions01.dbf
/u01/oracle/10g/oradata/gt10g/gtlions02.dbf
 
6 rows selected.
   需要注意的目標文件如果是存放在ASM中,那麼指定生成的文件是alias,實際還是會生成固定格式的文件:
[oracle@gtser1 ~]$ asmcmd ls -l data01/gt10g/datafile
Type     Redund  Striped  Time             Sys  Name
DATAFILE UNPROT  COARSE   FEB 26 13:00:00  Y   COPY_FILE.262.808407481
DATAFILE UNPROT  COARSE   FEB 26 13:00:00  Y   COPY_FILE.263.808407501
DATAFILE UNPROT  COARSE   FEB 25 16:00:00  Y   GTLIONS.256.808328331
DATAFILE UNPROT  COARSE   FEB 25 15:00:00  Y   GTLIONS.258.808326729
DATAFILE UNPROT  COARSE   FEB 25 15:00:00  Y   GTLIONS.265.808326737
DATAFILE UNPROT  COARSE   FEB 25 16:00:00  Y   GTLIONS.281.808328327
DATAFILE UNPROT  COARSE   FEB 25 16:00:00  Y   SYSAUX.272.808328281
DATAFILE UNPROT  COARSE   FEB 25 16:00:00  Y   SYSTEM.271.808328265
DATAFILE UNPROT  COARSE   FEB 25 16:00:00  Y   UNDOTBS1.273.808328327
                                            N    gtlions01.dbf =>+DATA01/GT10G/DATAFILE/COPY_FILE.262.808407481
                                           N    gtlions02.dbf =>+DATA01/GT10G/DATAFILE/COPY_FILE.263.808407501
-The End-
 
 
Reference:

 

Read more

How to document Home Lab and Network

運維機房和跨域的網路,會遇到各式需求與問題,用對工具才能分析問題,個人覺得最重要的是使用能處理問題的工具。 推薦目前想學和正在使用的平台與軟體,協助將公司/家用機房文件化 佈告欄任務管理 Focalboard 白板可管理任務指派 網路架構文件編寫 netbox 精細管理網路設備與連接線路 IP 資源管理 phpipam 專注網路IP分配 邏輯塊文件編寫 draw.io 視覺化概念圖 機房設備管理 ITDB 管理設備生命週期與使用者

By Phillips Hsieh

如何在Raspberry Pi4上安裝Proxmox for ARM64

第一步 準備好Raspberry Pi 4 / CM4 4GB RAM,這裡要留意CM4如果是買有內建eMMC storage會限制不能使用SD卡開機而限制本地空間容量,如果沒有NAS外接空間或使用USB開機的話,建議買CM4 Lite插上大容量SD卡 第二步 去Armbian官網下載最小化Debian bookworm image https://www.armbian.com/rpi4b/ Armbian 25.2.2 Bookworm Minimal / IOT 然後寫入SD/USB開機碟,寫入方法參考官方文件 https://github.com/raspberrypi/usbboot/blob/master/Readme.md Note: 官方提供的預先設定系統方法,可以在Armbian初次啟動自動化完成系統設定。連結在此 https://docs.armbian.com/User-Guide_Autoconfig/

By Phillips Hsieh

世界越快心越慢

在晚飯後的休息時間,我特別享受在客廳瀏灠youtube上各樣各式創作者的影音作品。很大不同於傳統媒體,節目多是針對大多數族群喜好挑選的,在youtube上我會依心情看無腦的動畫、一些旅拍記錄、新聞時事談論。 尤其在看了大量的Youtube的分享後,我真的感受到會限制我的是我的無知,特別是那些我想都沒想過的實際應用,在學習後大大幫助到我的生活和工作層面。 休息在家時,我喜歡想一些沒做過的菜,動手去設計生活和工作上的解決方案,自己是真的很難閒著沒事做。 如創作文章,陪養新的習慣都能感覺到成長的喜悅,是不同於吃喝玩樂的快樂的。 創作不去限制固定的形式,文字是創作、影像聲音也是創作,記錄生活也是創作,我想留下的就是創造—》實現—》回憶,這樣子的循環過程,在留下的足跡面看到自己一路上的成長、失敗、絕望、重新再來。 雖然大部份的時候去做這些創作也不明白有什麼特別的意義,但不去做也不會留下什麼,所以呀不如反事都去試試看,也許能有不一樣的水花也許有意想不到的結果,投資自己永遠不會是失敗的決定,不是嗎?先問問自己再開始計畫下一步,未來沒人說得準。 像最近看youtube仍大一群人在為DOS開

By Phillips Hsieh

知識管理的三個步驟:一小時學會把知識運用到生活上

摘錄瓦基「閱讀前哨站」文章作為自己學習知識管理的內容 Part1「篩選資訊」 如何從海量資訊中篩選出啟發性、實用性和相關性的精華,讓你在學習過程中不再迷失方向。 1. 實用性 2. 啟發性 Part2「提高理解」 如何通過譬喻法和應用法,將抽象的知識與日常生活和工作緊密結合,建立更深刻的理解。 1. 應用法 2. 譬喻法 Part3「運用知識」 如何連結既有知識,跟自己感興趣的領域和專案產生關聯,讓你在運用知識的路途上游刃有餘。 1. 跟日常工作專案、人際活動產生連結 # 為什麼要寫日記? * 寫日記是為了忘記,忘卻瑣碎事情,保持專注力 * 寫日記就像在翻譯這個世界,訓練自己的解讀能力 * 不只是透過日記來記錄生活,而是透過日記來發展生活 #如何寫日記? * 不要寫流水帳式的日記,而是寫覆盤式的日記 當我們試著記錄活動和感受之間的關聯,有助於辦認出真正快樂的事 日記的記錄方式要以過程為主,而非結果 * 感恩日記的科學建議,每日感恩的案例

By Phillips Hsieh