Oracle Linux环境单实例异机手动恢复

一、场景:数据库名、目录结构完全相同

源主机:CentOS 7.4 单实例orcl
目标主机:RHEL 6.9 新实例orcl
数据库目录结构:目标主机数据库名、数据文件目录与源主机相同。

适用场景:
1.1 还原步骤

1、源主机进行完全备份以及归档日志

RMAN> backup database format '/u01/arch/full_06_20.bak' plus archivelog;

2、源主机生成pfile

SQL>create pfile from spfile;

3、在目标主机建立文件夹用于存放RMAN备份集

[oracle@gs dbs]$mkdir /u01/rman

4、在源主机拷贝RMAN备份集(数据文件、归档日志、控制文件)以及pfile文件到目标主机

[oracle@gs dbs]$scp /u01/arch/ORCL/backupset/2018_06_20/o1_mf_annnn_TAG20180620T164606_fln52gwc_.bkp oracle@192.168.149.129:/u01/rman(归档日志)

[oracle@gs dbs]$scp /u01/arch/full_6_20.bak oracle@192.168.149.129:/u01/rman (数据文件)

[oracle@gs dbs]$scp /u01/arch/ORCL/backupset/2018_06_20/o1_mf_annnn_TAG20180620T164615_fln52q4g_.bkp oracle@192.168.149.129:/u01/rman (归档日志)

[oracle@gs dbs]$scp /u01/app/oracle/product/11.2.0/db_1/dbs/control_c-1494212616-20180620-04.ctl oracle@192.168.149.129:/u01/rman (控制文件)

拷贝pfile到目标主机dbs目录

[oracle@ dbs]$scp initorcl.ora oracle@192.168.149.129:/u01/app/oracle/product/11.2.0/db_1/dbs/

5、在目标主机dbs目录,编辑pfile文件
修改参数保留如下:

[oracle@gs dbs]$ vi initorcl.ora 
control_files='/u01/app/oracle/oradata/orcl/control01.ctl','/u01/app/oracle/oradata/orcl/control02.ctl'
db_block_size=8192
db_name='orcl'
log_archive_dest_1='location=/u01/arch'
processes=1000
remote_login_passwordfile='EXCLUSIVE'
compatible='11.2.0.4.0'
sga_target=700m
pga_aggregate_target=300m
open_cursors=300

6、在目标主机创建数据文件以及归档目录

[oracle@gs dbs]$mkdir -p /u01/app/oracle/oradata/orcl/
[oracle@gs dbs]$mkdir -p /u01/arch
[oracle@gs dbs]$mkdir -p /u01/app/oracle/admin/orcl/adump
备注:此目录结构与源主机相同

7、在目标主机用RMAN将数据库启动到nomount

RMAN>rman target /
RMAN>startup nomount;

8、在目标主机还原控制文件

RMAN>restore controlfile from '/u01/rman/control_c-1494212616-20180620-04.ctl';
备注:控制文件需要通过RMAN恢复之后,才能启动mount

9、目标主机启动到mount状态

RMAN>alter database mount;

10、检验还原的控制文件在RMAN中是否可以查看备份集

RMAN>crosscheck backup

11、将目标主机RMAN备份目录更新(前步骤用来放RMAN备份集目录)

RMAN> catalog start with '/u01/rman';
备注:将新备份目录的元数据添加到RMAN
searching for all files that match the pattern /u01/rman

List of Files Unknown to the Database
=====================================
File Name: /u01/rman2/full_20180621_02t605s9_1_1.bak
File Name: /u01/rman2/control_c-1499390015-20180621-00.ctl
File Name: /u01/rman2/03t605so_1_1
File Name: /u01/rman2/01t605s5_1_1
File Name: /u01/rman2/arch_full.bak

Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /u01/rman/full_20180621_02t605s9_1_1.bak
File Name: /u01/rman/control_c-1499390015-20180621-00.ctl
File Name: /u01/rman/03t605so_1_1
File Name: /u01/rman/01t605s5_1_1
File Name: /u01/rman/arch_full.bak

12、目标主机内用命令检查备份集

RMAN> list backup;

13、还原数据文件

RMAN> restore database;
备注:源主机目标主机,文件目录结构相同,可直接还原

14、查看数据文件是否正常生成

RMAN> report schema
List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    750      SYSTEM               ***     /u01/app/oracle/oradata/orcl2/system01.dbf
2    1140     SYSAUX               ***     /u01/app/oracle/oradata/orcl2/sysaux01.dbf
3    880      UNDOTBS1             ***     /u01/app/oracle/oradata/orcl2/undotbs01.dbf
4    5        USERS                ***     /u01/app/oracle/oradata/orcl2/users01.dbf
5    10       CS1                  ***     /u01/app/oracle/oradata/orcl2/cs1.dbf
6    10       CS2                  ***     /u01/app/oracle/oradata/orcl2/cs2.dbf
7    100      CS                   ***     /u01/app/oracle/oradata/orcl2/cs.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /u01/app/oracle/oradata/orcl/temp01.dbf

检查下对应文件目录是否真的生成数据文件以及临时文件

15、目标主机应用归档日志

RMAN> recover database;
Starting recover at 2018/06/21 14:32:40
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=5 device type=DISK

starting media recovery

archived log file name=/u01/arch/1_193_971609279.dbf thread=1 sequence=193
archived log file name=/u01/arch/1_194_971609279.dbf thread=1 sequence=194
unable to find archived log
archived log thread=1 sequence=195
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 06/21/2018 14:32:41
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 195 and starting SCN of 6049382

备注:RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 12 and starting SCN of 1119977
此行并没有问题,RMAN会不断寻找合适的日志进行恢复。

16、打开目标主机数据库

RMAN> alter database open resetlogs;

17、目标数据库创建spfile

SQL> create spfile from pfile;

18、重启数据库

SQL> shutdown immediate;
SQL> startup;

19、目标主机建立监听
直接编辑listener.ora文件(可选,如不建立,启动监听会使用默认监听)

[oracle@gs ~]$ vi /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gs)(PORT = 1521))
    )
  )

20、启动监听

[oracle@gs ~]$ lsnrctl start

21、在oratab中增加实例名

[oracle@gs ~]$ vi /etc/oratab
orcl:/u01/app/oracle/product/11.2.0/db_1:N

二、场景:数据库名、目录结构均不同

源主机:CentOS 7.4 单实例sid:orcl
目标主机:RHEL 6.9 已存在1个单实例sid:orcl,拟创建另一个新实例orcl2
数据库目录结构:在目标主机创建的数据文件,归档目录与源主机不同
适用场景:源主机已经存在实例、目标主机,文件结构,数据库名均不同

2.1 还原步骤

1、源主机进行完全备份以及归档日志

RMAN> backup database format '/u01/arch/full_06_21.bak' plus archivelog;

2、源主机生成pfile

SQL>create pfile from spfile;

3、在目标主机建立文件夹用于存放RMAN备份集

[oracle@gs dbs]$mkdir /u01/rman2

4、在源主机拷贝RMAN备份集(数据文件、归档日志、控制文件)以及pfile文件到目标主机

[oracle@gs dbs]$scp /u01/arch/ORCL/backupset/2018_06_21/o1_mf_annnn_TAG20180620T164606_fln52gwc_.bkp oracle@192.168.149.129:/u01/rman(归档日志)
[oracle@gs dbs]$scp /u01/arch/full_6_21.bak oracle@192.168.149.129:/u01/rman (数据文件)
[oracle@gs dbs]$scp /u01/arch/ORCL/backupset/2018_06_21/o1_mf_annnn_TAG20180620T164615_fln52q4g_.bkp oracle@192.168.149.129:/u01/rman (归档日志)
[oracle@gs dbs]$scp /u01/app/oracle/product/11.2.0/db_1/dbs/control_c-1494212616-20180620-04.ctl oracle@192.168.149.129:/u01/rman (控制文件)

拷贝源主机pfile到目标主机dbs目录
scp initorcl.ora oracle@192.168.149.129:/u01/app/oracle/product/11.2.0/db_1/dbs/initorcl2.ora

5、在目标主机dbs目录,编辑pfile文件

修改参数保留如下:
[oracle@gs dbs]$ vi initorcl2.ora 
control_files='/u01/app/oracle/oradata/orcl2/control01.ctl','/u01/app/oracle/oradata/orcl2/control02.ctl'
db_block_size=8192
db_name='orcl'  (此时先不改数据库名,需要还原数据文件之后重建控制文件再改)
log_archive_dest_1='location=/u01/arch2'
processes=1000
remote_login_passwordfile='EXCLUSIVE'
compatible='11.2.0.4.0'
sga_target=700m
pga_aggregate_target=300m
open_cursors=300

6、对目标主机现有实例orcl停库

shutdown immediate;

---备注:本实验环境已存在与源数据库相同实例,需要停库。新环境无需理会

7、修改目标主机环境变量ORACLE_SID

export ORACLE_SID=orcl2

8、在目标主机创建数据文件以及归档目录

[oracle@gs dbs]$mkdir -p /u01/app/oracle/oradata/orcl2/
[oracle@gs dbs]$mkdir -p /u01/arch2
[oracle@gs dbs]$mkdir -p /u01/app/oracle/admin/orcl2/adump

9、在目标主机用RMAN将数据库启动到nomount

RMAN>rman target /
RMAN>startup nomount;
RMAN> startup nomount;

connected to target database (not started)
Oracle instance started

Total System Global Area     730714112 bytes

Fixed Size                     2256832 bytes
Variable Size                239075392 bytes
Database Buffers             482344960 bytes
Redo Buffers                   7036928 bytes

10、在目标主机还原控制文件

RMAN>restore controlfile from '/u01/rman2/control_c-1499390015-20180621-00.ctl';

--RMAN> restore controlfile from '/u01/rman/ORCL_04thndhk_1_1.bak';用rman备份还原--


Starting restore at 2018/06/23 20:32:53
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=1149 device type=DISK

channel ORA_DISK_1: restoring control file
channel ORA_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/u01/app/oracle/oradata/orcl2/control01.ctl
output file name=/u01/app/oracle/oradata/orcl2/control02.ctl
Finished restore at 2018/06/23 20:32:54

11、目标主机启动到mount状态

RMAN>alter database mount;


database mounted
released channel: ORA_DISK_1

12、检验还原的控制文件在RMAN中是否可以查看备份集

RMAN>crosscheck backup

13、将目标主机RMAN备份目录更新(前步骤用来放RMAN备份集目录)

RMAN> catalog start with '/u01/rman2';

searching for all files that match the pattern /u01/rman2

List of Files Unknown to the Database
=====================================
File Name: /u01/rman2/full_arch_20180623_5jt66knn_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5rt66ko0_1_1.bak
File Name: /u01/rman2/full_20180621_02t605s9_1_1.bak
File Name: /u01/rman2/control_c-1499390015-20180621-00.ctl
File Name: /u01/rman2/full_arch_20180623_5ot66kns_1_1.bak
File Name: /u01/rman2/full_db_20180623_5tt66ko2_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5ut66ko9_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5mt66knq_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5nt66knr_1_1.bak
File Name: /u01/rman2/control_c-1494212616-20180623-00.ctl
File Name: /u01/rman2/full_arch_20180623_5pt66knu_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5qt66knv_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5lt66knp_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5it66knm_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5kt66kno_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5st66ko1_1_1.bak

Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /u01/rman2/full_arch_20180623_5jt66knn_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5rt66ko0_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5ot66kns_1_1.bak
File Name: /u01/rman2/full_db_20180623_5tt66ko2_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5ut66ko9_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5mt66knq_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5nt66knr_1_1.bak
File Name: /u01/rman2/control_c-1494212616-20180623-00.ctl
File Name: /u01/rman2/full_arch_20180623_5pt66knu_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5qt66knv_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5lt66knp_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5it66knm_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5kt66kno_1_1.bak
File Name: /u01/rman2/full_arch_20180623_5st66ko1_1_1.bak

List of Files Which Where Not Cataloged
=======================================
File Name: /u01/rman2/full_20180621_02t605s9_1_1.bak
  RMAN-07518: Reason: Foreign database file DBID: 1499390015  Database Name: ORCL
File Name: /u01/rman2/control_c-1499390015-20180621-00.ctl
  RMAN-07518: Reason: Foreign database file DBID: 1499390015  Database Name: ORCL

14、在目标主机内用命令检查备份集

RMAN> list backup;

15、还原数据文件
因目标主机与源主机数据结构不同,需要使用如下查询语句,拼凑出RMAN还原新路径的语句,如下:
拼凑语句

set head off feed off verify off echo off pages 0 trimspool on
set line 132 pagesize 0
spo newname.sql
--
select 'run{' from dual;
--
select
'set newname for datafile ' || file# || ' to ' || '''' || name || '''' || ';'
from v$datafile;
--
select
'restore database;' || chr(10)||
'switch datafile all;' || chr(10) ||
'}'
from dual;
--
spo off;


用上面生成的脚本在RMAN执行,如下:

RMAN> run
{
set newname for datafile 1 to '/u01/app/oracle/oradata/orcl2/system01.dbf';
set newname for datafile 2 to '/u01/app/oracle/oradata/orcl2/sysaux01.dbf';
set newname for datafile 3 to '/u01/app/oracle/oradata/orcl2/undotbs01.dbf';
set newname for datafile 4 to '/u01/app/oracle/oradata/orcl2/users01.dbf';
set newname for datafile 5 to '/u01/app/oracle/oradata/orcl2/cs1.dbf';
set newname for datafile 6 to '/u01/app/oracle/oradata/orcl2/cs2.dbf';
set newname for datafile 7 to '/u01/app/oracle/oradata/orcl2/cs.dbf';
restore database;
switch datafile all;
}


executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

executing command: SET NEWNAME

Starting restore at 2018/06/23 20:37:33
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=5 device type=DISK

channel ORA_DISK_1: starting datafile backup set restore
channel ORA_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_DISK_1: restoring datafile 00001 to /u01/app/oracle/oradata/orcl2/system01.dbf
channel ORA_DISK_1: restoring datafile 00002 to /u01/app/oracle/oradata/orcl2/sysaux01.dbf
channel ORA_DISK_1: restoring datafile 00003 to /u01/app/oracle/oradata/orcl2/undotbs01.dbf
channel ORA_DISK_1: restoring datafile 00004 to /u01/app/oracle/oradata/orcl2/users01.dbf
channel ORA_DISK_1: restoring datafile 00005 to /u01/app/oracle/oradata/orcl2/secure.dbf
channel ORA_DISK_1: restoring datafile 00006 to /u01/app/oracle/oradata/orcl2/cs.dbf
channel ORA_DISK_1: reading from backup piece /u01/rman/full_db_20180623_5tt66ko2_1_1.bak
channel ORA_DISK_1: piece handle=/u01/rman/full_db_20180623_5tt66ko2_1_1.bak tag=TAG20180623T194402
channel ORA_DISK_1: restored backup piece 1
channel ORA_DISK_1: restore complete, elapsed time: 00:00:07
Finished restore at 2018/06/23 20:37:40

datafile 1 switched to datafile copy
input datafile copy RECID=19 STAMP=979591061 file name=/u01/app/oracle/oradata/orcl2/system01.dbf
datafile 2 switched to datafile copy
input datafile copy RECID=20 STAMP=979591061 file name=/u01/app/oracle/oradata/orcl2/sysaux01.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=21 STAMP=979591061 file name=/u01/app/oracle/oradata/orcl2/undotbs01.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=22 STAMP=979591061 file name=/u01/app/oracle/oradata/orcl2/users01.dbf
datafile 5 switched to datafile copy
input datafile copy RECID=23 STAMP=979591061 file name=/u01/app/oracle/oradata/orcl2/secure.dbf
datafile 6 switched to datafile copy
input datafile copy RECID=24 STAMP=979591061 file name=/u01/app/oracle/oradata/orcl2/cs.dbf

16、查看数据文件是否正常生成

RMAN> report schema;
检查下对应文件目录是否真的生成数据文件以及临时文件
RMAN-06139: WARNING: control file is not current for REPORT SCHEMA
Report of database schema for database with db_unique_name ORCL

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    740      SYSTEM               ***     /u01/app/oracle/oradata/orcl2/system01.dbf
2    600      SYSAUX               ***     /u01/app/oracle/oradata/orcl2/sysaux01.dbf
3    780      UNDOTBS1             ***     /u01/app/oracle/oradata/orcl2/undotbs01.dbf
4    5        USERS                ***     /u01/app/oracle/oradata/orcl2/users01.dbf
5    20       SECURESPACE          ***     /u01/app/oracle/oradata/orcl2/secure.dbf
6    100      CS                   ***     /u01/app/oracle/oradata/orcl2/cs.dbf

List of Temporary Files
=======================
File Size(MB) Tablespace           Maxsize(MB) Tempfile Name
---- -------- -------------------- ----------- --------------------
1    20       TEMP                 32767       /u01/app/oracle/oradata/orcl/temp01.dbf

17、修改pfile更改新的数据库名(此后续步骤是为了更改新实例名称orcl2以及文件目录)

[oracle@gs ~]$vi /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl2.ora
修改数据库名为新名称
db_name='orcl2'

18、生成新实例的控制文件

RMAN> shutdown immediate;

database dismounted
Oracle instance shut down

RMAN> startup nomount;

connected to target database (not started)
Oracle instance started

Total System Global Area     730714112 bytes

Fixed Size                     2256832 bytes
Variable Size                239075392 bytes
Database Buffers             482344960 bytes
Redo Buffers                   7036928 bytes

RMAN> exit


Recovery Manager complete.
[oracle@gs ~]$ rman target /

Recovery Manager: Release 11.2.0.4.0 - Production on Sat Jun 23 20:40:10 2018

Copyright © 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORCL2 (not mounted)


(重建控制文件,如下一定要使用SET DATABASE参数)

SQL> CREATE CONTROLFILE REUSE SET DATABASE "ORCL2" RESETLOGS ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
    LOGFILE
    GROUP 1 '/u01/app/oracle/oradata/orcl2/redo01.log' SIZE 50M BLOCKSIZE 512,
    GROUP 2 '/u01/app/oracle/oradata/orcl2/redo02.log' SIZE 50M BLOCKSIZE 512,
   GROUP 3 '/u01/app/oracle/oradata/orcl2/redo03.log' SIZE 50M BLOCKSIZE 512,
   GROUP 4 '/u01/app/oracle/oradata/orcl2/redo04.log' SIZE 50M BLOCKSIZE 512,
   GROUP 5 '/u01/app/oracle/oradata/orcl2/redo05.log' SIZE 50M BLOCKSIZE 512
   DATAFILE
   '/u01/app/oracle/oradata/orcl2/system01.dbf',
   '/u01/app/oracle/oradata/orcl2/sysaux01.dbf',
   '/u01/app/oracle/oradata/orcl2/undotbs01.dbf',
   '/u01/app/oracle/oradata/orcl2/users01.dbf',
   '/u01/app/oracle/oradata/orcl2/secure.dbf',
   '/u01/app/oracle/oradata/orcl2/cs.dbf'
   CHARACTER SET ZHS16GBK
   ;

Control file created.

19、启动到mount便于RMAN还原数据文件

SQL>alter database mount;

20、在新实例生成新的redo日志组

sql>alter database clear logfile group 1;
alter database clear logfile group 2;
alter database clear logfile group 3;
alter database clear logfile group 4;
alter database clear logfile group 5;
Database altered.
如果生成不了可用alter database clear unarchived logfile group #;

21、新实例恢复数据库

RMAN> recover database;
Starting recover at 2018/06/23 20:54:54
using channel ORA_DISK_1

starting media recovery

unable to find archived log
archived log thread=1 sequence=4
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 06/23/2018 20:54:55
RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 4 and starting SCN of 1225132

备注:RMAN-06054: media recovery requesting unknown archived log for thread 1 with sequence 12 and starting SCN of 1119977
此行并没有问题,RMAN会不断寻找合适的日志进行恢复。

22、open新实例数据库

RMAN> alter database open resetlogs;
Database altered.

23、新实例创建临时文件

SQL> select * from v$tempfile;
SQL> alter tablespace temp add tempfile '/u01/app/oracle/oradata/orcl2/temp01.dbf' size 200m autoextend on next 10m maxsize 10g;

Tablespace altered.

24、为新实例数据库创建spfile

SQL> create spfile from pfile;
File created.

25、重启数据库

SQL> shutdown immediate;
SQL> startup;

26、更改新实例数据库DBID

将数据库启动到mount状态

[oracle@gs rman2]$ nid target=sys/oracle

DBNEWID: Release 11.2.0.4.0 - Production on Sat Jun 23 21:17:35 2018

Copyright © 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Connected to database ORCL2 (DBID=1494212616)

Connected to server version 11.2.0

Control Files in database:
    /u01/app/oracle/oradata/orcl2/control01.ctl
    /u01/app/oracle/oradata/orcl2/control02.ctl

Change database ID of database ORCL2? (Y/[N]) => y

Proceeding with operation
Changing database ID from 1494212616 to 960427375
    Control File /u01/app/oracle/oradata/orcl2/control01.ctl - modified
    Control File /u01/app/oracle/oradata/orcl2/control02.ctl - modified
    Datafile /u01/app/oracle/oradata/orcl2/system01.db - dbid changed
    Datafile /u01/app/oracle/oradata/orcl2/sysaux01.db - dbid changed
    Datafile /u01/app/oracle/oradata/orcl2/undotbs01.db - dbid changed
    Datafile /u01/app/oracle/oradata/orcl2/users01.db - dbid changed
    Datafile /u01/app/oracle/oradata/orcl2/secure.db - dbid changed
    Datafile /u01/app/oracle/oradata/orcl2/cs.db - dbid changed
    Datafile /u01/app/oracle/oradata/orcl2/temp01.db - dbid changed
    Control File /u01/app/oracle/oradata/orcl2/control01.ctl - dbid changed
    Control File /u01/app/oracle/oradata/orcl2/control02.ctl - dbid changed
    Instance shut down

Database ID for database ORCL2 changed to 960427375.
All previous backups and archived redo logs for this database are unusable.
Database has been shutdown, open database with RESETLOGS option.
Succesfully changed database ID.
DBNEWID - Completed succesfully.

打开数据库
SQL> startup;
ORACLE instance started.

Total System Global Area  730714112 bytes
Fixed Size                  2256832 bytes
Variable Size             239075392 bytes
Database Buffers          482344960 bytes
Redo Buffers                7036928 bytes
Database mounted.
ORA-01589: must use RESETLOGS or NORESETLOGS option for database open


SQL> alter database open resetlogs;

Database altered.

SQL> select dbid from v$database;

      DBID
----------
 960427375
 
 DBID已修改完毕

27、目标主机建立监听(可选,如不建立,启动监听会使用默认监听)

直接编辑listener.ora文件
[oracle@gs ~]$ vi /u01/app/oracle/product/11.2.0/db_1/network/admin/listener.ora
SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = orcl)
      (ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)
      (SID_NAME = orcl)
    )
  )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = TCP)(HOST = gs)(PORT = 1521))
    )
  )


28、启动监听

[oracle@gs ~]$ lsnrctl start

29、在oratab底部增加新的实例名

[oracle@gs ~]$ vi /etc/oratab
orcl2:/u01/app/oracle/product/11.2.0/db_1:N
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值