홈 및 base는 모두 그대로 사용하고 sid만 변경
export ORACLE_SID=PRACCT02
sqlplus / as sysdba
CREATE PFILE='/home/oracle/base/product/11.2.0/dbhome_1/dbs/pfilePRACCT02.ora' FROM SPFILE='/home/oracle/base/product/11.2.0/dbhome_1/dbs/spfilePRACCT01.ora';
원본 DB PRACCT01의 pfile

새로 만들어진 pfilePRACCT02.ora 에서 PRACCT01로 되어있는부분을 수동으로 수정

STARTUP NOMOUNT PFILE='$ORACLE_HOME/dbs/pfile$ORACLE_SID.ora';

미리 경로를 만들어놔야하나보다
위에 작성된 adump경로와, controlfile경로, 아카이브경로 이렇게 3개 디렉토리를 만들어놔주자
참고로 nomount단계에서 실패했다면 shudown으로는 프로세스가 죽지 않으니
pkill 하여 이미 실행된 인스턴스 프로세스를 지워줘야한다.
보통 로그라이터 또는 dbwr를 kill하면 모든 프로세스가 깔끔하게 잘 내려간다.

다시 들어가서 아까와 마찬가지로 pfile를 통한 nomount 기동
| SQL> STARTUP NOMOUNT PFILE='$ORACLE_HOME/dbs/pfile$ORACLE_SID.ora'; ORACLE instance started. Total System Global Area 492707840 bytes Fixed Size 2214656 bytes Variable Size 301991168 bytes Database Buffers 184549376 bytes Redo Buffers 3952640 bytes SQL> DBCA대신 수동으로 create DB 할때 스크립트 CREATE DATABASE PRACCT02 USER SYS IDENTIFIED BY 비밀번호 USER SYSTEM IDENTIFIED BY 비밀번호 LOGFILE GROUP 1 ('$ORACLE_BASE/oradata/PRACCT02/redo01.log') SIZE 50M, GROUP 2 ('$ORACLE_BASE/oradata/PRACCT02/redo02.log') SIZE 50M, GROUP 3 ('$ORACLE_BASE/oradata/PRACCT02/redo03.log') SIZE 50M MAXLOGFILES 5 MAXLOGMEMBERS 5 MAXLOGHISTORY 100 MAXDATAFILES 100 CHARACTER SET AL32UTF8 NATIONAL CHARACTER SET AL16UTF16 EXTENT MANAGEMENT LOCAL DATAFILE '$ORACLE_BASE/oradata/PRACCT02/system01.dbf' SIZE 500M AUTOEXTEND ON SYSAUX DATAFILE '$ORACLE_BASE/oradata/PRACCT02/sysaux01.dbf' SIZE 100M AUTOEXTEND ON DEFAULT TABLESPACE users DATAFILE '$ORACLE_BASE/oradata/PRACCT02/users01.dbf' SIZE 50M AUTOEXTEND ON DEFAULT TEMPORARY TABLESPACE temp TEMPFILE '$ORACLE_BASE/oradata/PRACCT02/temp01.dbf' SIZE 50M AUTOEXTEND ON UNDO TABLESPACE undotbs1 DATAFILE '$ORACLE_BASE/oradata/PRACCT02/undotbs01.dbf' SIZE 50M AUTOEXTEND ON; |
이때 오라클은 기동시 우선적으로 spfile을 읽으려고 하기 때문에 미리 spfile을 만들어줘야한다
| 그냥 재기동시 SQL> ORA-01078: failure in processing system parameters LRM-00109: could not open parameter file '/home/oracle/base/product/11.2.0/dbhome_1/dbs/initPRACCT02.ora' 이때는 당황하지말고 다시 기존에 만들었던 pfile을 토대로 nomount 기동 SQL> STARTUP NOMOUNT PFILE='$ORACLE_HOME/dbs/pfilePRACCT02.ora'; ORACLE instance started. Total System Global Area 492707840 bytes Fixed Size 2214656 bytes Variable Size 301991168 bytes Database Buffers 184549376 bytes Redo Buffers 3952640 bytes spfile로 pfile 생성 SQL> CREATE SPFILE FROM PFILE='$ORACLE_HOME/dbs/pfilePRACCT02.ora'; File created. SQL> SHUTDOWN IMMEDIATE; ORA-01507: database not mounted ORACLE instance shut down. SQL> STARTUP; ORACLE instance started. Total System Global Area 492707840 bytes Fixed Size 2214656 bytes Variable Size 301991168 bytes Database Buffers 184549376 bytes Redo Buffers 3952640 bytes Database mounted. Database opened. |
listener.ora 추가

리스너 2 시작

앞서 listener 설정이 제대로 되었다면 db를 재기동해주면 해결된다.
아니라면 아래 포스팅 참고
https://bbakssang.tistory.com/148
오라클 listener 등록 및 DBeaver tool로 접속하기
먼저 DBEAVER로 오라클에 접속하려면 오라클 클라이언트를 설치해야한다. 각 오라클 버전에 맞는 클라이언트 설치 압축파일 해제시 아래와 같이 설치파일들이 풀리는데 setup.exe로 설치해주자. 설
bbakssang.tistory.com
잘 생성이 되었다

'DB' 카테고리의 다른 글
| 오라클 sys로 원격 접속 안될때 (0) | 2025.11.11 |
|---|---|
| 오라클 listener 등록 및 DBeaver tool로 접속하기 (0) | 2025.11.11 |
| CentOs 6에 오라클 11g R2 설치하기 (11.2.0.1) (0) | 2025.11.11 |
| [ORACLE] centOS에 오라클 설치하기 (0) | 2023.09.13 |