본문 바로가기
Dev/Oracle

[Oracle] 복구한 DB 원복

by 흰바다제비 2022. 6. 20.
728x90

AS-IS : TESTDB ,  TO-BE : ORCL (초기상태)

다시 ORCL DB를 보게 만들어줘야 한다

 

  1. .profile 수정

(TESTDB - > ORCL)

 

(TESTDB)/> cd  
(TESTDB)/oracle/app/oracle/product/192> vi .profile

# 수정 전 .profile
...
export ORACLE_SID=TESTDB
export ORACLE_UNQNAME=TESTDB
...


# 수정 후 .profile
...
export ORACLE_SID=ORCL
export ORACLE_UNQNAME=ORCL
...

# profile 적용
(TESTDB)/oracle/app/oracle/product/192> . ./.profile  
(ORCL)/oracle/app/oracle/product/192> ## 적용 후 ORACLE_SID가 바뀌었다.

 

 

 

2. 데이터파일 복구

기존 ORCL DATAFILE은 폴더명을 바꾸어 보관했었다. 다시 폴더 이름을 변경해준다.

 

보관된 ORCL의 데이터파일들

 

(ORCL)/ORADATA> rm -drf TESTDB/  ### Datafile 삭제시 주의
(ORCL)/ORADATA> ll 
total 0 
drwxr-x---. 2 oracle dba 200 Jun 30 04:58 ORCL2 
(ORCL)/ORADATA> mv ORCL2/ ORCL/

 

 

 

3. pfile을 직접 수정한 경우 pfile 내에 있는 TESTDB를 ORCL로 변경해준다.

아래 항목들을 다시 알맞게 수정해준다. ( TESTDB -> ORCL )

 

(TESTDB)/oracle/app/oracle/product/192/dbs> vi init.ora

# 수정 전 pfile
db_name=TESTDB
control_files=('/ORADATA/TESTDB/control01.ctl','/ORADATA/TESTDB/control02.ctl')
audit_file_dest=/oracle/app/oracle/admin/TESTDB/adump
dispatchers='(PROTOCOL=TCP) (SERVICE=TESTDBXDB)'
# 수정 후 pfile
db_name=ORCL
control_files=('/ORADATA/ORCL/control01.ctl','/ORADATA/ORCL/control02.ctl')
audit_file_dest=/oracle/app/oracle/admin/orcl/adump
dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'

 

3-1.  DB별 pfile을 생성한 경우 SID와 이름을 맞춰준다.

SQL> conn /as sysdba 
Connected to an idle instance. 
SQL> startup 
ORA-01078: failure in processing system parameters 
LRM-00109: could not open parameter file '/oracle/app/oracle/product/192/dbs/initORCL.ora' 
SQL> host 
(ORCL)/oracle/app/oracle/product/192/dbs> mv initORCL.ora_old initORCL.ora

 

 

ORCL DB가 올라왔다.

 

SQL> startup

 
SELECT *
FROM V$INSTANCE;

 

728x90

'Dev > Oracle' 카테고리의 다른 글

[Oracle] 결합 인덱스  (0) 2022.06.21
[Oracle] 인덱스 구조  (0) 2022.06.21
[Oracle] RMAN 복구  (0) 2022.06.19
[Oracle] RMAN Backup  (0) 2022.06.17
[Oracle] 조인 정리  (0) 2022.06.16

댓글