코드 :
### 순서
●1. 파라미터 파일을 위한 스크립트 작성하고 대기
--여기부터 스크립트 내용 시작
# 1. 데이터베이스 식별 정보
db_name=koh2
db_unique_name=koh2
# 19c 기본값 또는 최소 19.0.0으로 설정
compatible=19.0.0
# 2. 메모리 설정 (19c는 256M로 부족할 확률이 높습니다)
# 최소 1GB 이상을 권장하지만, 테스트용이라면 800M 정도로 상향하세요.
sga_target=1G
pga_aggregate_target=300M
# 3. 제어 파일 (작은따옴표로 경로를 감싸주세요)
control_files=('/u01/app/oracle/oradata/koh2/control01.ctl',
'/u01/app/oracle/oradata/koh2/control02.ctl',
'/u01/app/oracle/oradata/koh2/control03.ctl')
# 4. 블록 및 Undo 설정
db_block_size=8192
undo_management=AUTO
undo_tablespace=UNDOTBS1 # 관례상 1을 붙이는 경우가 많으니 확인 필요
# 5. 프로세스 및 세션
processes=300 # 19c 백그라운드 프로세스가 많아졌으므로 여유 있게 설정
# 6. 진단 및 감사 경로 (필수)
# 실제 ORACLE_BASE 경로에 맞게 수정하세요.
diagnostic_dest='/u01/app/oracle'
audit_file_dest='/u01/app/oracle/admin/koh2/adump'
# 7. 기타 보안 및 연결
remote_login_passwordfile=EXCLUSIVE
--여기까지
●2. 오라클 데이터가 생성될 디렉토리와 경고 메세지를 담을 디렉토리를 생성합니다.
( 예: /u01/app/oracle/oradata/koh2, 예: /u01/app/oracle/admin/koh2/adump)
●3. cd /etc -> vi oratab -> 편집모드에서 아래 정보 추가하기
koh2:/u01/app/oracle/product/19.3.0/dbhome_1:Y
●4. 리눅스 환경에서 ORACLE_SID 새로 만들 인스턴스로 설정하기
. oraenv -> ORACLE_SID = [orcl] ? koh2
echo $ORACLE_SID
--위에 명령어 실행시 koh2가 나와야 함.
●5. 파라미터 파일 생성
--해당 경로로 가서
cd $ORACLE_HOME/dbs
--pfile 생성하기
vi initkoh2.ora
--미리 작성해놓은 파라미터 스크립트 복붙하기
●6. 해당 파라미터 파일로 인스턴스를 올립니다.
--오라클 sys 계정으로 접속하기
sys
--오라클 접속 상태에서 아래 명령어 실행해서 pfile로 인스턴스 올리기
startup nomount pfile=$ORACLE_HOME/dbs/initkoh2.ora
●7. 세션 창 하나 더 열어서 alert log 확인하면서 작업하기 (모니터링)
--해당 경로로 가서
cd /u01/app/oracle/diag/rdbms/koh2/koh2/trace
--아래 명령어 실행
tail -f alert*
●8. create database 스크립트로 db를 생성
--미리 작성한 DB 스크립트 실행하기
create database koh2
user sys identified by oracle
user system identified by oracle
datafile '/u01/app/oracle/oradata/koh2/system01.dbf'
size 100M autoextend on maxsize unlimited extent management local
sysaux
datafile '/u01/app/oracle/oradata/koh2/sysaux01.dbf'
size 50M autoextend on maxsize unlimited
default temporary tablespace temp
tempfile '/u01/app/oracle/oradata/koh2/temp01.dbf'
size 50M autoextend on maxsize unlimited
undo tablespace undotbs1
datafile '/u01/app/oracle/oradata/koh2/undotbs01.dbf'
size 50M autoextend on maxsize unlimited
logfile
group 1 ('/u01/app/oracle/oradata/koh2/redo01a.log',
'/u01/app/oracle/oradata/koh2/redo01b.log') size 50M,
group 2 ('/u01/app/oracle/oradata/koh2/redo02a.log',
'/u01/app/oracle/oradata/koh2/redo02b.log') size 50M,
group 3 ('/u01/app/oracle/oradata/koh2/redo03a.log',
'/u01/app/oracle/oradata/koh2/redo03b.log') size 50M,
group 4 ('/u01/app/oracle/oradata/koh2/redo04a.log',
'/u01/app/oracle/oradata/koh2/redo04b.log') size 50M,
group 5 ('/u01/app/oracle/oradata/koh2/redo05a.log',
'/u01/app/oracle/oradata/koh2/redo05b.log') size 50M;
●9. data dictionary 를 생성
--아래 쿼리 순차적으로 실행하기 (1,2번 작업 시간 오래걸림)
SQL> @$ORACLE_HOME/rdbms/admin/catalog.sql
SQL> @$ORACLE_HOME/rdbms/admin/catproc.sql
SQL> connect system/oracle
SQL> @$ORACLE_HOME/sqlplus/admin/pupbld.sql
●10. 잘 설치됐는지 확인하기
SQL> alter session set nls_date_format='RRRR/MM/DD:HH24:MI:SS';
Session altered.
SQL> select name, created from v$database;