반응형
1. Controlfile 재생성을 이용한 방법
■ orcl -> orcl1으로 변경작업
※ 사전작업
1) controlfile , pfile 백업
ALTER DATABASE BACKUP CONTROLFILE TO TRACE AS '/app/oracle/work/con_bak.trc';
create pfile from spfile;
2) controlfile script 수정
-. REUSE -> SET으로 변경
-. DBNAME -> orcl 에서 orcl1으로 변경
CREATE CONTROLFILE set DATABASE "orcl1" RESETLOGS ARCHIVELOG
.
.
3) pfile 이름 변경 및 내용 수정
-. db_name orcl1로 변경
-. local_listener='LISTENER_ORCL1'으로 변경 (tns 파일에도 변경해야함)
mv /app/oracle/product/12/dbs/initorcl.ora /app/oracle/product/12/dbs/initorcl1.ora
*.db_name='orcl1'
*.local_listener='LISTENER_ORCL1'
4) 새로운 Listener 생성
-. sid_name = orcl1로 가지는 LISTENER2 추가
-. port를 1522 -> 1523으로 수정
SID_LIST_LISTENER2 =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl1)
(ORACLE_HOME = /app/oracle/product/12)
)
)
LISTENER2 =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.80.134)(PORT = 1523))
)
)
ADR_BASE_LISTENER2 = /app/oracle
5) TNS파일 수정
-. local_listener parameter에 설정되어 있는 리스너 값 수정 LISTENER_ORCL1, 1523으로 local_listener
-. orcl1 값 추가
LISTENER_ORCL1 =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle1)(PORT = 1523))
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle1)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
orcl1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle1)(PORT = 1523))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl1)
)
)
~
~
※ 작업
1) dbdown immediate
2) TNS파일 수정
-. local_listener parameter에 설정되어 있는 리스너 값 수정 LISTENER_ORCL1, 1523으로 local_listener
-. orcl1 값 추가
LISTENER_ORCL1 =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle1)(PORT = 1523))
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle1)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
orcl1 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = oracle1)(PORT = 1523))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl1)
)
)
~
~
3) Listener2, DB기동
lsnrctl status lietener2
sqlplus / as sysdba@orcl2
startup nomount pfile='/app/oracle/product/12/dbs/initorcl1.ora'
4) Controlfile 재생성
@/app/oracle/work/cre_con.sql
5) 복구, Open
SQL> recover database using backup controlfile until cancel;
로그 지정: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
매체 복구가 취소되었습니다
SQL> alter database open resetlogs;
데이타베이스가 변경되었습니다.
6) Temp재생성
ALTER TABLESPACE TEMP ADD TEMPFILE '/app/oracle/cfgtoollogs/orcl/temp01.dbf'
SIZE 990904320 REUSE AUTOEXTEND ON NEXT 655360 MAXSIZE 32767M;
7) DB_NAME확인
SQL> select name,created from v$database;
NAME CREATED
--------- --------
ORCL1 23/12/01
반응형
'Database > Oracle' 카테고리의 다른 글
[ORACLE] UNIQUE INDEX, UNIQUE Constraint 동작 (0) | 2023.11.16 |
---|---|
[ORACLE] ORA-00054: 자원이 사용중이고, NOWAIT가 지정되어 있습니다. (0) | 2023.07.06 |
[ORACLE] 특정 IP 차단, 접속 (0) | 2023.07.04 |
[ORACLE] sqltrace (0) | 2023.06.30 |
[ORACLE] AWR Report (2) | 2023.06.13 |