Oracle

게시글 보기
작성자 유건데이타 등록일 2015-03-23
제목 hotbackup으로 db올리기
hotbackup으로 db올리기


엔진으로부터

$ORACLE_BASE/admin/$ORACLE_SID ->모두 복사해옵니다.

$ORACLE_HOME/network/admin/ ->listener.ora,tnsnames.ora

$ORACLE_HOME/dbs/ ->init$ORACLE_SID.ora, orapw$ORACLE_SID

위의 파일들을 모두 새로운 엔진에 (동일한 위치)복사합니다.


[1]아래 명령어를 통해 받은 컨트롤 파일을 통한 복구
alter database backup controlfile to trace as '/u01/control.ctl';
alter database backup controlfile to trace; => $ORACLE_BASE/admin/$ORACLE_SID/udump/


1번 방법)redo log가 존재하는 경우(원래 db에 있던 redo log 파일들을 모두 복사해옵니다.)

SQL> startup mount
SQL>



위와 같이 받은 경우 해당 파일을 열어보면 아래와 같은 문장들이 나옵니다.


STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" NORESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracle/redo01.log' SIZE 100M,
GROUP 2 '/oracle/redo02.log' SIZE 100M,
GROUP 3 '/oracle/redo03.log' SIZE 100M
-- STANDBY LOGFILE
DATAFILE
'/oracle/system01.dbf',
'/oracle/undotbs01.dbf',
'/oracle/sysaux01.dbf',
'/oracle/test01.dbf',
'/oracle/users01.dbf'
CHARACTER SET KO16MSWIN949
/

SQL> recover database;
SQL> alter database open;

2번 방법)redo log 파일이 존재하지 않는 경우

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/oracle/redo01.log' SIZE 50M,
GROUP 2 '/oracle/redo02.log' SIZE 50M,
GROUP 3 '/oracle/redo03.log' SIZE 50M
-- STANDBY LOGFILE
DATAFILE
'/oracle/system01.dbf',
'/oracle/undotbs01.dbf',
'/oracle/sysaux01.dbf',
'/oracle/test01.dbf',
'/oracle/users01.dbf'
CHARACTER SET KO16MSWIN949
/

SQL> recover database using backup controlfile until cancel;

ORA-00279: change 414947 generated at 11/06/2009 10:58:23 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch_30_1_696094831.arc
ORA-00280: change 414947 for thread 1 is in sequence #30


Specify log: {=suggested | filename | AUTO | CANCEL}

enter

해당 아카이브 파일이 존재하는 데까지 enter를 칩니다.



존재하지 않는 파일이 아래와 같이 나온경우

ORA-00279: change 416173 generated at 11/06/2009 11:02:34 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch_31_1_696094831.arc
ORA-00280: change 416173 for thread 1 is in sequence #31
ORA-00278: log file '/u01/app/oracle/arch_30_1_696094831.arc' no longer needed
for this recovery


Specify log: {=suggested | filename | AUTO | CANCEL}
cancel

SQL> alter database open resetlogs;

Database altered.

[2]아래 명령어를 통해 받은 컨트롤 파일을 통한 복구
alter database backup controlfile to '/u01/control01.ctl';



SQL> startup mount
ORACLE instance started.

Total System Global Area 434535345 bytes
Fixed Size 3453455 bytes
Variable Size 123424212 bytes
Database Buffers 243543656 bytes
Redo Buffers 4323553 bytes
Database mounted.

데이터 파일의 위치가 변경 되었을 경우 아래와 같이 변경합니다.

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/sysaux01.dbf' to '/u01/sysaux01.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/users01.dbf' to '/u01/users01.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/system01.dbf' to '/u01/system01.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/test01.dbf' to '/u01/test01.dbf';

Database altered.

SQL> alter database rename file '/u01/app/oracle/oradata/orcl/undotbs01.dbf' to '/u01/undotbs01.dbf';

Database altered.
SQL> recover database using backup controlfile until cancel;
ORA-00279: change 418388 generated at 11/06/2009 14:02:18 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch_30_1_696094831.arc
ORA-00280: change 418388 for thread 1 is in sequence #30


Specify log: {=suggested | filename | AUTO | CANCEL}

ORA-00279: change 419408 generated at 11/06/2009 14:07:19 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch_31_1_696094831.arc
ORA-00280: change 419408 for thread 1 is in sequence #31
ORA-00278: log file '/u01/app/oracle/arch_30_1_696094831.arc' no longer needed
for this recovery


Specify log: {=suggested | filename | AUTO | CANCEL}

ORA-00279: change 419595 generated at 11/06/2009 14:08:43 needed for thread 1
ORA-00289: suggestion : /u01/app/oracle/arch_32_1_696094831.arc
ORA-00280: change 419595 for thread 1 is in sequence #32
ORA-00278: log file '/u01/app/oracle/arch_31_1_696094831.arc' no longer needed
for this recovery


Specify log: {=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
SQL>
SQL>
SQL> alter database open resetlogs;

Database altered.


3.기존 컨트롤파일+redo 사용하여 올리기

SQL> startup mount
ORACLE instance started.

Total System Global Area 123423525 bytes
Fixed Size 234523 bytes
Variable Size 121435536 bytes
Database Buffers 124532336 bytes
Redo Buffers 234243 bytes
Database mounted.
SQL> recover database;
Media recovery complete.
SQL> alter database open;

Database altered.
Comment
등록된 코멘트가 없습니다.