日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle10g数据库复制,oracle -10g 中Duplicate 复制数据库

發布時間:2024/8/23 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle10g数据库复制,oracle -10g 中Duplicate 复制数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

oracle --10g 中Duplicate 復制數據庫

本次實驗通過duplicate命令,在本機環境中創建一個復制數據庫。目標數據庫為hongye、復制數據庫為catdb。

環境別名設置:

alias sql='rlwrap sqlplus /nolog'

alias rman='rlwrap rman'

alias dbs='cd $ORACLE_HOME/dbs'

alias rdb='cd $ORACLE_HOME/rdbms/admin'

alias udu='cd $ORACLE_BASE/admin/$ORACLE_SID/udump'

alias bdu='cd $ORACLE_BASE/admin/$ORACLE_SID/bdump'

alias rmalert='rm -f $ORACLE_BASE/admin/$ORACLE_SID/bdump/*;rm -f $ORACLE_BASE/admin/$ORACLE_SID/udump/*'

詳細步驟如下:

1、構建catdb的初始化參數文件,本次實驗使用的參數文件是從hongye數據庫中創建出來的,并做了一些修改。

注意參數db_file_name_convert和log_file_name_convert參數,這兩個參數控制了數據文件和日志文件的重命名,關于數據文件的重命名也可以使用set newname命令,日志文件的重命名可以在duplicate命令的子句中指定,但均沒有init參數中的轉換方便。

db_file_name_convert和log_file_name_convert參數都是使用串替換的方式重命名的,通過將目標文件名的指定的字符串替換成指定的字符串,從而生成新的文件名

本次實驗中,hongye數據庫的數據文件存放在路徑為:/oracle/oradata/hongye/,而catdb的數據文件路徑為:/oracle/oradata/catdb/,所以只要將所有文件名中的hongye替換成catdb就可以了。

[oracle@ORA10G ~]$ dbs

[oracle@ORA10G dbs]$ echo $ORACLE_SID

hongye

[oracle@ORA10G dbs]$ ll

total 6960

-rw-rw----? 1 oracle oinstall??? 1544 Feb 11 22:13 hc_hongye.dat

-rw-r-----? 1 oracle oinstall???? 848 Feb 17 19:46 initcatdb.ora

-rw-r--r--? 1 oracle oinstall?? 12920 May? 3? 2001 initdw.ora

-rw-r-----? 1 oracle oinstall??? 1079 Feb 17 19:21 inithongye.ora

-rw-r-----? 1 oracle oinstall??? 2469 Feb 11 20:59 init.ora

-rw-r-----? 1 oracle oinstall????? 24 Feb 11 19:20 lkHONGYE

-rw-r-----? 1 oracle oinstall??? 1536 Feb 17 19:49 orapwcatdb

-rw-r-----? 1 oracle oinstall??? 1536 Feb 15 21:01 orapwhongye

-rw-r-----? 1 oracle oinstall 7061504 Feb 17 19:20 snapcf_hongye.f

-rw-r-----? 1 oracle oinstall??? 3584 Feb 17 19:16 spfilehongye.ora

-rw-r-----? 1 oracle oinstall???? 694 Feb 17 19:34 sqlnet.log

[oracle@ORA10G dbs]$ vi initcatdb.ora

*.audit_file_dest='/oracle/admin/catdb/adump'

*.background_dump_dest='/oracle/admin/catdb/bdump'

*.compatible='10.2.0.5.0'

*.control_files='/oracle/oradata/catdb/control01.ctl'

*.core_dump_dest='/oracle/admin/catdb/cdump'

*.db_block_size=8192

*.db_domain='oracle.com'

*.db_file_multiblock_read_count=16

*.db_name='catdb'

*.db_recovery_file_dest='/oracle/flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.dispatchers='(PROTOCOL=TCP) (SERVICE=catdbXDB)'

*.job_queue_processes=10

*.nls_date_format='yyyy-mm-dd hh24:mi:ss'

*.open_cursors=30

*.pga_aggregate_target=16777216

*.processes=50

*.remote_login_passwordfile='EXCLUSIVE'

*.sessions=70

*.sga_target=80M

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.user_dump_dest='/oracle/admin/catdb/udump'

--文件名的轉換參數:

db_file_name_convert=('hongye','catdb')

log_file_name_convert=('hongye','catdb')

~

~

~

~

~

"initcata.ora" 25L, 848C written

2、創建復制數據庫的相關目錄,包括adump、bdump、cdump、udump、oradata/catdb

[oracle@ORA10G dbs]$ cd /oracle/admin

[oracle@ORA10G dbs]$ mkdir catdb catdb/adump catdb/bdump catdb/cdump catdb/udump

[oracle@ORA10G dbs]$ ll /oracle/admin/

total 8

drwxr-xr-x? 7 oracle oinstall 4096 Feb 17 19:29 catdb

drwxr-x---? 8 oracle oinstall 4096 Feb 11 19:19 hongye

[oracle@ORA10G dbs]$ mkdir /oracle/oradata/catdb/

[oracle@ORA10G dbs]$ ll /oracle/oradata/catdb/

total 0

3、將ORACLE_SID設置為復制數據庫的sid,那么就不需要額外的配置復制數據庫的網絡文件了,前提是已經配置了目標數據庫的網絡配置文件,二者必須至少要配其一。

[oracle@ORA10G dbs]$ echo $ORACLE_SID

hongye

[oracle@ORA10G dbs]$ export ORACLE_SID=catdb

[oracle@ORA10G dbs]$ echo $ORACLE_SID

catdb

4、創建復制數據庫的密碼文件。

[oracle@ORA10G dbs]$ orapwd file=$ORACLE_HOME/dbs/orapwcatdb

Enter password for SYS:

5、登錄復制數據庫,以nomount方式打開數據庫。

[oracle@ORA10G dbs]$ sql

SQL*Plus: Release 10.2.0.5.0 - Production on Thu Feb 17 19:50:57 2011

Copyright (c) 1982, 2010, Oracle.? All Rights Reserved.

IDLE > conn /as sysdba

Connected to an idle instance.

IDLE > startup nomount pfile=$ORACLE_HOME/dbs/initcatdb.ora

ORACLE instance started.

Total System Global Area?? 83886080 bytes

Fixed Size????????????????? 1272096 bytes

Variable Size????????????? 58722016 bytes

Database Buffers?????????? 16777216 bytes

Redo Buffers??????????????? 7114752 bytes

IDLE > exit

Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.5.0 - Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options

6、在RMAN中執行數據庫的復制操作。

[oracle@ORA10G dbs]$ rman

Recovery Manager: Release 10.2.0.5.0 - Production on Thu Feb 17 19:51:50 2011

Copyright (c) 1982, 2007, Oracle.? All rights reserved.

RMAN> connect target sys/hongye50@hongye

connected to target database: HONGYE (DBID=2424037643)

RMAN> connect auxiliary /

connected to auxiliary database: CATDB (not mounted)

RMAN> duplicate target database to catdb;

Starting Duplicate Db at 17-FEB-11

using target database control file instead of recovery catalog

allocated channel: ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: sid=56 devtype=DISK

contents of Memory Script:

{

set until scn? 1219581;

set newname for datafile? 1 to

"/oracle/oradata/catdb/system01.dbf";

set newname for datafile? 2 to

"/oracle/oradata/catdb/undotbs01.dbf";

set newname for datafile? 3 to

"/oracle/oradata/catdb/sysaux01.dbf";

set newname for datafile? 4 to

"/oracle/oradata/catdb/users01.dbf";

set newname for datafile? 5 to

"/oracle/oradata/catdb/example01.dbf";

restore

check readonly

clone database

;

}

executing Memory Script

executing command: SET until clause

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 17-FEB-11

using channel ORA_AUX_DISK_1

channel ORA_AUX_DISK_1: starting datafile backupset restore

channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set

restoring datafile 00001 to /oracle/oradata/catdb/system01.dbf

restoring datafile 00002 to /oracle/oradata/catdb/undotbs01.dbf

restoring datafile 00003 to /oracle/oradata/catdb/sysaux01.dbf

restoring datafile 00004 to /oracle/oradata/catdb/users01.dbf

restoring datafile 00005 to /oracle/oradata/catdb/example01.dbf

channel ORA_AUX_DISK_1: reading from backup piece /oracle/flash_recovery_area/HONGYE/backupset/2011_02_17/o1_mf_nnndf_TAG20110217T191915_6ot11mbc_.bkp

channel ORA_AUX_DISK_1: restored backup piece 1

piece handle=/oracle/flash_recovery_area/HONGYE/backupset/2011_02_17/o1_mf_nnndf_TAG20110217T191915_6ot11mbc_.bkp tag=TAG20110217T191915

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:01:37

Finished restore at 17-FEB-11

sql statement: CREATE CONTROLFILE REUSE SET DATABASE "CATDB" RESETLOGS ARCHIVELOG

MAXLOGFILES???? 16

MAXLOGMEMBERS????? 3

MAXDATAFILES????? 100

MAXINSTANCES???? 8

MAXLOGHISTORY????? 292

LOGFILE

GROUP? 1 ( '/oracle/oradata/catdb/redo01.log' ) SIZE 50 M? REUSE,

GROUP? 2 ( '/oracle/oradata/catdb/redo02.log' ) SIZE 50 M? REUSE,

GROUP? 3 ( '/oracle/oradata/catdb/redo03.log' ) SIZE 50 M? REUSE

DATAFILE

'/oracle/oradata/catdb/system01.dbf'

CHARACTER SET WE8ISO8859P1

contents of Memory Script:

{

switch clone datafile all;

}

executing Memory Script

datafile 2 switched to datafile copy

input datafile copy recid=1 stamp=743370847 filename=/oracle/oradata/catdb/undotbs01.dbf

datafile 3 switched to datafile copy

input datafile copy recid=2 stamp=743370847 filename=/oracle/oradata/catdb/sysaux01.dbf

datafile 4 switched to datafile copy

input datafile copy recid=3 stamp=743370847 filename=/oracle/oradata/catdb/users01.dbf

datafile 5 switched to datafile copy

input datafile copy recid=4 stamp=743370847 filename=/oracle/oradata/catdb/example01.dbf

contents of Memory Script:

{

set until scn? 1219581;

recover

clone database

delete archivelog

;

}

executing Memory Script

executing command: SET until clause

Starting recover at 17-FEB-11

using channel ORA_AUX_DISK_1

starting media recovery

channel ORA_AUX_DISK_1: starting archive log restore to default destination

channel ORA_AUX_DISK_1: restoring archive log

archive log thread=1 sequence=2

channel ORA_AUX_DISK_1: reading from backup piece /oracle/flash_recovery_area/HONGYE/backupset/2011_02_17/o1_mf_annnn_TAG20110217T192041_6ot14bjm_.bkp

channel ORA_AUX_DISK_1: restored backup piece 1

piece handle=/oracle/flash_recovery_area/HONGYE/backupset/2011_02_17/o1_mf_annnn_TAG20110217T192041_6ot14bjm_.bkp tag=TAG20110217T192041

channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:02

archive log filename=/oracle/flash_recovery_area/CATDB/archivelog/2011_02_17/o1_mf_1_2_6ot3332m_.arc thread=1 sequence=2

channel clone_default: deleting archive log(s)

archive log filename=/oracle/flash_recovery_area/CATDB/archivelog/2011_02_17/o1_mf_1_2_6ot3332m_.arc recid=1 stamp=743370851

media recovery complete, elapsed time: 00:00:03

Finished recover at 17-FEB-11

contents of Memory Script:

{

shutdown clone;

startup clone nomount ;

}

executing Memory Script

database dismounted

Oracle instance shut down

connected to auxiliary database (not started)

Oracle instance started

Total System Global Area????? 83886080 bytes

Fixed Size???????????????????? 1272096 bytes

Variable Size???????????????? 58722016 bytes

Database Buffers????????????? 16777216 bytes

Redo Buffers?????????????????? 7114752 bytes

sql statement: CREATE CONTROLFILE REUSE SET DATABASE "CATDB" RESETLOGS ARCHIVELOG

MAXLOGFILES???? 16

MAXLOGMEMBERS????? 3

MAXDATAFILES????? 100

MAXINSTANCES???? 8

MAXLOGHISTORY????? 292

LOGFILE

GROUP? 1 ( '/oracle/oradata/catdb/redo01.log' ) SIZE 50 M? REUSE,

GROUP? 2 ( '/oracle/oradata/catdb/redo02.log' ) SIZE 50 M? REUSE,

GROUP? 3 ( '/oracle/oradata/catdb/redo03.log' ) SIZE 50 M? REUSE

DATAFILE

'/oracle/oradata/catdb/system01.dbf'

CHARACTER SET WE8ISO8859P1

contents of Memory Script:

{

set newname for tempfile? 1 to

"/oracle/oradata/catdb/temp01.dbf";

set newname for tempfile? 2 to

"/oracle/oradata/catdb/temp02.dbf";

switch clone tempfile all;

catalog clone datafilecopy? "/oracle/oradata/catdb/undotbs01.dbf";

catalog clone datafilecopy? "/oracle/oradata/catdb/sysaux01.dbf";

catalog clone datafilecopy? "/oracle/oradata/catdb/users01.dbf";

catalog clone datafilecopy? "/oracle/oradata/catdb/example01.dbf";

switch clone datafile all;

}

executing Memory Script

executing command: SET NEWNAME

executing command: SET NEWNAME

renamed temporary file 1 to /oracle/oradata/catdb/temp01.dbf in control file

renamed temporary file 2 to /oracle/oradata/catdb/temp02.dbf in control file

cataloged datafile copy

datafile copy filename=/oracle/oradata/catdb/undotbs01.dbf recid=1 stamp=743370868

cataloged datafile copy

datafile copy filename=/oracle/oradata/catdb/sysaux01.dbf recid=2 stamp=743370869

cataloged datafile copy

datafile copy filename=/oracle/oradata/catdb/users01.dbf recid=3 stamp=743370869

cataloged datafile copy

datafile copy filename=/oracle/oradata/catdb/example01.dbf recid=4 stamp=743370869

datafile 2 switched to datafile copy

input datafile copy recid=1 stamp=743370868 filename=/oracle/oradata/catdb/undotbs01.dbf

datafile 3 switched to datafile copy

input datafile copy recid=2 stamp=743370869 filename=/oracle/oradata/catdb/sysaux01.dbf

datafile 4 switched to datafile copy

input datafile copy recid=3 stamp=743370869 filename=/oracle/oradata/catdb/users01.dbf

datafile 5 switched to datafile copy

input datafile copy recid=4 stamp=743370869 filename=/oracle/oradata/catdb/example01.dbf

contents of Memory Script:

{

Alter clone database open resetlogs;

}

executing Memory Script

database opened

Finished Duplicate Db at 17-FEB-11

RMAN> exit

Recovery Manager complete.

7、登錄復制數據庫,查看結果。

[oracle@ORA10G dbs]$ sql

SQL*Plus: Release 10.2.0.5.0 - Production on Thu Feb 17 19:55:07 2011

Copyright (c) 1982, 2010, Oracle.? All Rights Reserved.

IDLE > conn /as sysdba

Connected.

SYS:57@catdb > select open_mode from v$database;

OPEN_MODE

----------

READ WRITE

SYS:57@catdb > @get_allfile

TYPE??????????????? FILE_NAME???????????????????????????????????????????????????????????????? SIZE_MB

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

Datafile ........? /oracle/oradata/catdb/system01.dbf??????????????????????????????????????????? 600

Datafile ........? /oracle/oradata/catdb/undotbs01.dbf?????????????????????????????????????????? 405

Datafile ........? /oracle/oradata/catdb/sysaux01.dbf??????????????????????????????????????????? 300

Datafile ........? /oracle/oradata/catdb/users01.dbf????????????????????????????????????????????? 20

Datafile ........? /oracle/oradata/catdb/example01.dbf?????????????????????????????????????????? 100

TempFile ........? /oracle/oradata/catdb/temp01.dbf?????????????????????????????????????????????? 30

TempFile ........? /oracle/oradata/catdb/temp02.dbf?????????????????????????????????????????????? 30

Logfile .........? /oracle/oradata/catdb/redo03.log?????????????????????????????????????????????? 50

Logfile .........? /oracle/oradata/catdb/redo02.log?????????????????????????????????????????????? 50

Logfile .........? /oracle/oradata/catdb/redo01.log?????????????????????????????????????????????? 50

Controlfile .....? /oracle/oradata/catdb/control01.ctl???????????????????????????????????????????? 7

11 rows selected.

SYS:57@catdb >

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的oracle10g数据库复制,oracle -10g 中Duplicate 复制数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。