oracle資料庫遷移-文件 -LINUX_TO_WINDOWS

chicken0915發表於2012-07-12

 

 

應客戶要求製作本次試驗過程,本次操作案例採用資料庫檔案複製的方式,

優點:操作簡單便捷,對資料庫基本瞭解的都可以進行操作

缺點:遷移資料庫的時候有時間視窗,有足夠時間視窗進行操作的最好使用此方法。

生產機:LINUX REDHAT 4 32BIT ORACLE 10.2.0.1.0 32BIT

目標機:WINDOWS 2003 32BIT   ORACLE 10.2.0.1.0 32BIT

1、建立一個測試表插入資料並提交-遷移完成後驗證此資料;

2、生產伺服器建立一個PFILE檔案;

SQL> create pfile from spfile;

3、建立控制檔案指令碼檔案

SQL> alter database backup controlfile to trace as '/u01/oracle/control_lzk.sql';

4、關閉生產伺服器

SHUTDOWN IMMEDIATE

5、使用工具或者命令傳送相應檔案到遷移目標伺服器制定目錄,

資料檔案:*.dbf 系統臨時表空間不需要傳temp01.dbf

引數檔案:initorcl.ora

控制檔案指令碼:control_lzk.sql

6、修改PFILE檔案內容,包括其他和路徑相關的內容;

/u01/admin/orcl/adump 修改為 D:\oracle\product\10.2.0\admin\orcl\adump

/u01/admin/orcl/bdump修改為D:\oracle\product\10.2.0\admin\orcl\bdump

/u01/admin/orcl/cdump修改為D:\oracle\product\10.2.0\admin\orcl\cdump

/u01/admin/orcl/udump修改為D:\oracle\product\10.2.0\admin\orcl\udump

/u01/flash_recovery_area修改為D:\oracle\product\10.2.0\flash_recovery_area

/u01/oradata/orcl/control01.ctl修改為D:\oracle\product\10.2.0\oradata\orcl\control01.ctl

/u01/oradata/orcl/control02.ctl修改為D:\oracle\product\10.2.0\oradata\orcl\control02.ctl

/u01/oradata/orcl/control03.ctl修改為D:\oracle\product\10.2.0\oradata\orcl\control03.ctl

 

7、修改完成後以PFILE引數檔案啟動資料庫到NOMOUNT模式

SQL> startup nomount pfile='D:\oracle\product\10.2.0\oradata\orcl\initorcl.ora'

ORACLE 例程已經啟動。

8、修改control_lzk.sql控制檔案指令碼中的路徑資料Set #1. NORESETLOGS case

--     Set #1. NORESETLOGS case

--

-- The following commands will create a new control file and use it

-- to open the database.

-- Data used by Recovery Manager will be lost.

-- Additional logs may be required for media recovery of offline

-- Use this only if the current versions of all online logs are

-- available.

 

-- After mounting the created controlfile, the following SQL

-- statement will place the database in the appropriate

-- protection mode:

--  ALTER DATABASE SET STANDBY DATABASE TO MAXIMIZE PERFORMANCE

 

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS  NOARCHIVELOG

    MAXLOGFILES 16

    MAXLOGMEMBERS 3

    MAXDATAFILES 100

    MAXINSTANCES 8

    MAXLOGHISTORY 292

LOGFILE

  GROUP 1 ' D:\oracle\product\10.2.0\oradata\orcl\redo01.log'  SIZE 50M,

  GROUP 2 ' D:\oracle\product\10.2.0\oradata\orcl\redo02.log'  SIZE 50M,

  GROUP 3 ' D:\oracle\product\10.2.0\oradata\orcl\redo03.log'  SIZE 50M

-- STANDBY LOGFILE

 

DATAFILE

  ' D:\oracle\product\10.2.0\oradata\orcl\system01.dbf',

  ' D:\oracle\product\10.2.0\oradata\orcl\undotbs01.dbf',

  ' D:\oracle\product\10.2.0\oradata\orcl\sysaux01.dbf',

  ' D:\oracle\product\10.2.0\oradata\orcl\users01.dbf',

  ' D:\oracle\product\10.2.0\oradata\orcl\example01.dbf'

CHARACTER SET WE8ISO8859P1;

 

-- Database can now be opened normally.

ALTER DATABASE OPEN RESETLOGS;

 

-- Commands to add tempfiles to temporary tablespaces.

-- Online tempfiles have complete space information.

-- Other tempfiles may require adjustment.

ALTER TABLESPACE TEMP ADD TEMPFILE ' D:\oracle\product\10.2.0\oradata\orcl\temp01.dbf'

     SIZE 20971520  REUSE AUTOEXTEND ON NEXT 655360  MAXSIZE 32767M;

-- End of tempfile additions.

9、執行修改後的指令碼檔案;

SQL> @D:\oracle\control_lzk.sql

 

控制檔案已建立。

 

資料庫已更改。

 

表空間已更改。

 

SQL>

10、    查詢第一步建立的表及插入的資料;

SQL> desc lzk

 名稱                                      是否為空? 型別

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

 

 ID                                                 NUMBER(38)

 NAME                                               VARCHAR2(10)

 

SQL> select * from lzk;

 

        ID NAME

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

         1 a

         2 b

SQL>

11、    建立SPFILE檔案,資料庫預設從SPFILE啟動

SQL> CREATE SPFILE FROM PFILE;

 

12、    查詢此次資料庫遷移完成。

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/7755871/viewspace-735243/,如需轉載,請註明出處,否則將追究法律責任。

相關文章