本机克隆oracle实例

旧实例: ora12c
新实例: ora12c2

===========================================

-- 新实例新建参数文件,新实例名,旧db_name

ora12c2.__data_transfer_cache_size=0
ora12c2.__db_cache_size=637534208
ora12c2.__java_pool_size=16777216
ora12c2.__large_pool_size=33554432
ora12c2.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
ora12c2.__pga_aggregate_target=671088640
ora12c2.__sga_target=973078528
ora12c2.__shared_io_pool_size=50331648
ora12c2.__shared_pool_size=218103808
ora12c2.__streams_pool_size=0
*.audit_file_dest='/opt/oracle/admin/ora12c2/adump'
*.audit_trail='db'
*.compatible='12.1.0.2.0'
*.control_files='/opt/oracle/oradata/ora12c2/control01.ctl','/opt/oracle/fast_recovery_area/ora12c2/control02.ctl'
*.db_block_size=8192
*.db_name='ora12c'
*.db_recovery_file_dest='/opt/oracle/fast_recovery_area'
*.db_recovery_file_dest_size=4560m
*.diagnostic_dest='/opt/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ora12c2XDB)'
*.open_cursors=300
*.processes=300
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'


--记录原实例文件位置

select name from v$datafile;
select MEMBER from v$logfile;
select FILE_NAME from dba_temp_files;


--拷贝文件

cp /opt/oracle/oradata/ora12c/system01.dbf /opt/oracle/oradata/ora12c2/system01.dbf
cp /opt/oracle/oradata/ora12c/sysaux01.dbf /opt/oracle/oradata/ora12c2/sysaux01.dbf
cp /opt/oracle/oradata/ora12c/undotbs01.dbf /opt/oracle/oradata/ora12c2/undotbs01.dbf
cp /opt/oracle/oradata/ora12c/users01.dbf /opt/oracle/oradata/ora12c2/users01.dbf
cp /opt/oracle/oradata/ora12c/temp01.dbf /opt/oracle/oradata/ora12c2/temp01.dbf
....

 

--准备创建控制文件命令

alter database backup controlfile to trace as '/tmp/control_rebuild.trc';

 


新实例启动到nomount状态,创建控制文件,注意修改路径到新文件所在地方,db_name不变.

STARTUP NOMOUNT

CREATE CONTROLFILE set DATABASE "ora12c" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/opt/oracle/oradata/ora12c2/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/opt/oracle/oradata/ora12c2/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/opt/oracle/oradata/ora12c2/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/opt/oracle/oradata/ora12c2/system01.dbf',
'/opt/oracle/oradata/ora12c2/sysaux01.dbf',
'/opt/oracle/oradata/ora12c2/undotbs01.dbf',
'/opt/oracle/oradata/ora12c2/users01.dbf'
CHARACTER SET WE8MSWIN1252
;


新实例创建密码文件

orapwd file='$ORACLE_HOME/dbs/orapwora12c2' password=Angel123 entries=5 force=y;

启动实例到mount 状态

修改db_name
nid target=sys/Angel123@ORA12C dbname=ora12c2


也可以这样,直接读环境变量
nid target= / dbname=ora12c2


修改完成后数据库会停掉,修改参数文件里db_name为新名字后起库

startup mount;
alter database open resetlogs;

 

切换环境变量,启动旧实例

---2个实例都正常启动了

[oracle@localhost ~]$ ps -ef | grep pmon
oracle 17147 1 0 21:47 ? 00:00:00 ora_pmon_ora12c2
oracle 17386 1 0 21:51 ? 00:00:00 ora_pmon_ora12c
oracle 18174 17310 0 22:10 pts/2 00:00:00 grep --color=auto pmon
[oracle@localhost ~]$

 

posted on 2022-05-17 23:08  (_OwO_)  阅读(338)  评论(1编辑  收藏  举报