如何在同一個服務器上克隆出一個備用數據庫

在同一臺數據庫服務器上,我們可以啓動多個具有相同db_name的數據庫。

不過想同時打開具有相同db_name的數據庫,還需要設置一個參數,db_unique_name(在ORACLE 10g中是db_unique_name,在9i中是lock_name_space)

我們現在從服務器上原有的數據庫orcl 克隆出一個數據庫HMX


1.將orcl文件夾的內容複製到HMX文件夾中

[oracle@localhost oradata]$ cp  -R  orcl  HMX

[oracle@localhost oradata]$ ll -l
total 8
drwxr-x--- 2 oracle oinstall 4096 Mar 19 22:16 HMX
drwxr-x--- 2 oracle oinstall 4096 Mar 19 19:56 orcl


[oracle@localhost oradata]$ cd  orcl
[oracle@localhost orcl]$ ll -l
total 1343464
-rw-r----- 1 oracle oinstall   7389184 Mar 19 21:19 control01.ctl
-rw-r----- 1 oracle oinstall   7389184 Mar 17 15:35 control01.ctl.bak
-rw-r----- 1 oracle oinstall   7389184 Mar 19 21:19 control02.ctl
-rw-r----- 1 oracle oinstall   7389184 Mar 19 21:19 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Mar 19 20:53 example01.dbf
-rw-r----- 1 oracle oinstall  52429312 Mar 19 20:53 redo01.log
-rw-r----- 1 oracle oinstall  52429312 Mar 19 20:38 redo02.log
-rw-r----- 1 oracle oinstall  52429312 Mar 19 20:38 redo03.log
-rw-r----- 1 oracle oinstall 304095232 Mar 19 20:53 sysaux01.dbf
-rw-r----- 1 oracle oinstall 513810432 Mar 19 20:53 system01.dbf
-rw-r----- 1 oracle oinstall  20979712 Mar 17 14:08 temp01.dbf
-rw-r----- 1 oracle oinstall 157294592 Mar 19 20:53 undotbs01.dbf
-rw-r----- 1 oracle oinstall 106176512 Mar 19 20:53 users01.dbf


[oracle@localhost oradata]$ cd HMX
[oracle@localhost HMX]$ ll -l
total 1343460
-rw-r----- 1 oracle oinstall   7389184 Mar 19 22:15 control01.ctl
-rw-r----- 1 oracle oinstall   7389184 Mar 19 22:13 control01.ctl.bak
-rw-r----- 1 oracle oinstall   7389184 Mar 19 22:13 control02.ctl
-rw-r----- 1 oracle oinstall   7389184 Mar 19 22:13 control03.ctl
-rw-r----- 1 oracle oinstall 104865792 Mar 19 22:15 example01.dbf
-rw-r----- 1 oracle oinstall  52429312 Mar 19 22:14 redo01.log
-rw-r----- 1 oracle oinstall  52429312 Mar 19 22:15 redo02.log
-rw-r----- 1 oracle oinstall  52429312 Mar 19 22:13 redo03.log
-rw-r----- 1 oracle oinstall 304095232 Mar 19 22:16 sysaux01.dbf
-rw-r----- 1 oracle oinstall 513810432 Mar 19 22:17 system01.dbf
-rw-r----- 1 oracle oinstall  20979712 Mar 19 22:15 temp01.dbf
-rw-r----- 1 oracle oinstall 157294592 Mar 19 22:13 undotbs01.dbf
-rw-r----- 1 oracle oinstall 106176512 Mar 19 22:14 users01.dbf


2.爲HMX數據庫創建參數文件,口令文件


[oracle@localhost dbs]$ ll  *orcl*

-rw-r----- 1 oracle oinstall     992 Feb 29 16:03 initorcl.ora
-rw-r----- 1 oracle oinstall    2048 Mar 12 19:00 orapwdorcl
-rw-r----- 1 oracle oinstall    3584 Mar 19 21:17 spfileorcl.ora

複製orcl數據庫的參數文件

[oracle@localhost dbs]$ cp     spfileorcl.ora   spfileHMX.ora

重建口令文件

[oracle@localhost dbs]$ orapwd  file=orapwHMX  password=123 entries=5 force=y;


[oracle@localhost dbs]$ ll  *HMX*
-rw-r----- 1 oracle oinstall 2048 Mar 19 22:21 orapwHMX

-rw-r----- 1 oracle oinstall 3584 Mar 19 22:17 spfileHMX.ora


3.數據庫到nomount狀態,修改參數

[oracle@localhost udump]$ export  ORACLE_SID=HMX
[oracle@localhost udump]$ sqlplus / as sysdba

SQL> startup  nomount

SQL> alter system set  control_files='/opt/app/oracle/oradata/HMX/control01.ctl';
alter system set  control_files='/opt/app/oracle/oradata/HMX/control01.ctl'
                  *
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified




SQL> alter system set  control_files='/opt/app/oracle/oradata/HMX/control01.ctl' scope=spfile;


System altered.


SQL> alter system set  db_unique_name=HMX scope=spfile;


System altered.


關閉數據庫
SQL> shutdown immediate;
ORA-01507: database not mounted




ORACLE instance shut down.


4.重新創建控制文件

SQL> startup  nomount
ORACLE instance started.


Total System Global Area  285212672 bytes
Fixed Size                  1218992 bytes
Variable Size              92276304 bytes
Database Buffers          188743680 bytes
Redo Buffers                2973696 bytes


SQL>CREATE CONTROLFILE REUSE DATABASE "orcl" NORESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
  2    3      MAXLOGMEMBERS 3
  4      MAXDATAFILES 100
  5      MAXINSTANCES 8
  6      MAXLOGHISTORY 292
  7  LOGFILE
  GROUP 1 '/opt/app/oracle/oradata/HMX/redo01.log'  SIZE 50M,
-- STANDBY LOGFILE
  GROUP 2   '/opt/app/oracle/oradata/HMX/redo02.log'  SIZE 50M,
  GROUP 3   '/opt/app/oracle/oradata/HMX/redo03.log'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  '/opt/app/oracle/oradata/HMX/system01.dbf',
 14    '/opt/app/oracle/oradata/HMX/undotbs01.dbf',
 15    '/opt/app/oracle/oradata/HMX/sysaux01.dbf',
 16    '/opt/app/oracle/oradata/HMX/users01.dbf',
 17    '/opt/app/oracle/oradata/HMX/example01.dbf'
 18  CHARACTER SET WE8ISO8859P1;


Control file created.


打開數據庫HMX
SQL> alter database  open;


Database altered.


好了,我們現在已經克隆好了一個數據庫HMX


下面我們打開orcl數據庫看看

[oracle@localhost udump]$ export  ORACLE_SID=orcl

[oracle@localhost udump]$ sqlplus / as sysdba


SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 19 22:36:22 2012


Copyright (c) 1982, 2005, Oracle.  All rights reserved.




Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options


SQL> alter system set  db_unique_name=orcl scope=spfile;


System altered.


SQL> shutdown immediate;
ORA-01507: database not mounted


ORACLE instance shut down.
SQL> 
SQL> startup
ORACLE instance started.


Total System Global Area  285212672 bytes
Fixed Size                  1218992 bytes
Variable Size              79693392 bytes
Database Buffers          201326592 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.



我們再同時打開HMX數據庫

[oracle@localhost udump]$ export  ORACLE_SID=HMX
[oracle@localhost udump]$ sqlplus / as sysdba


SQL*Plus: Release 10.2.0.1.0 - Production on Mon Mar 19 22:38:11 2012


Copyright (c) 1982, 2005, Oracle.  All rights reserved.


Connected to an idle instance.


SP2-0158: unknown SET option "set"
SQL> startup
ORACLE instance started.


Total System Global Area  285212672 bytes
Fixed Size                  1218992 bytes
Variable Size              79693392 bytes
Database Buffers          201326592 bytes
Redo Buffers                2973696 bytes
Database mounted.
Database opened.


我們現在在同一臺數據庫服務器上建立了兩個db_name相同數據庫




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章