IT/oracle db

Oracle23ai Free 버전 직접 설치 후 운영사항 팁

가능성1g 2025. 6. 20. 10:03
반응형

* 설치 정보 파일

/etc/oratab

이 파일을 열어보면

FREE:/opt/oracle/product/23ai/dbhomeFree:N

이렇게 써있습니다. 

 

* 각 항목별 의미!

FREE : SID

/opt/oracle/product/23ai/dbhomeFree : 설치위치

N : 재부팅시 자동실행 아님

 

* SID 설정

. /opt/oracle/product/23ai/dbhomeFree/bin/oraenv

 

실행하면 SID 묻는 창이 나온다. FREE 입력

 

* 환경확인

echo $ORACLE_SID
echo $ORACLE_HOME

 

결과가 정상으로 나오는지 확인

 

* 수동기동하기

# 리스너 중지 (실행 중인 경우)
lsnrctl stop

# 데이터베이스 중지 (실행 중인 경우)
sqlplus / as sysdba
SHUTDOWN IMMEDIATE;
EXIT;

# 리스너 시작
lsnrctl start

# 데이터베이스 시작
sqlplus / as sysdba
STARTUP;
EXIT;

# PDB (Pluggable Database) 열기 - 23ai에서 매우 중요
# 'FREEPDB1'은 기본으로 생성되는 PDB 이름 중 하나입니다.
# 만약 PDB 이름이 다르다면, 실제 PDB 이름으로 변경해주세요.
# 모든 PDB를 열려면 'ALTER PLUGGABLE DATABASE ALL OPEN;'을 사용합니다.
sqlplus / as sysdba
ALTER PLUGGABLE DATABASE ALL OPEN;
EXIT;

 

* 정상확인

# 리스너 상태 확인
lsnrctl status

# 데이터베이스 인스턴스 및 PDB 상태 확인
sqlplus / as sysdba
SELECT instance_name, status FROM v$instance;
SELECT name, open_mode FROM v$pdbs;
EXIT;

 

* 재기동시 자동 스타트를 위한 설정

.bashrc 에 추가

# Oracle Environment Variables for 23ai FREE
export ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree
export ORACLE_SID=FREE
export PATH=$ORACLE_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH # 필요한 경우 추가 (일반적으로 dbstart/dbshut에서 처리)

 

/etc/oratab 수정

FREE:/opt/oracle/product/23ai/dbhomeFree:Y

 

파일생성

sudo vi /etc/systemd/system/oracle-db.service

 

다음 내용으로 저장

[Unit]
Description=Oracle Database 23ai (SID: FREE)
After=network.target local-fs.target

[Service]
Type=forking
User=oracle
Group=oinstall
LimitNOFILE=65536
LimitNPROC=16384
# PIDFile=/opt/oracle/product/23ai/dbhomeFree/dbs/lkFREE.trm # 필요시 주석 해제 (PID 파일이 생성되는지 확인 후 경로 지정)

# Oracle Database 시작 스크립트
ExecStart=/opt/oracle/product/23ai/dbhomeFree/bin/dbstart /opt/oracle/product/23ai/dbhomeFree
# Oracle Database 종료 스크립트
ExecStop=/opt/oracle/product/23ai/dbhomeFree/bin/dbshut /opt/oracle/product/23ai/dbhomeFree

# 스크립트 실행 경로 및 환경 변수 설정
WorkingDirectory=/opt/oracle/product/23ai/dbhomeFree/bin
Environment="ORACLE_HOME=/opt/oracle/product/23ai/dbhomeFree"
Environment="ORACLE_SID=FREE"
Environment="PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/oracle/product/23ai/dbhomeFree/bin"
Environment="LD_LIBRARY_PATH=/opt/oracle/product/23ai/dbhomeFree/lib" # dbstart 스크립트 내부에서 설정되지만 명시적으로 설정

[Install]
WantedBy=multi-user.target

 

데몬 리로드 및 활성화, 그리고 재시작

오류가 발생하는데, 오류를 안보려면 오라클을 내린다음에 설정해야 한다.

sudo systemctl daemon-reload
sudo systemctl enable oracle-db.service
sudo reboot

 

정상확인!

# 리스너 상태 확인
lsnrctl status

# 데이터베이스 인스턴스 및 PDB 상태 확인
sqlplus / as sysdba
SELECT instance_name, status FROM v$instance;
SELECT name, open_mode FROM v$pdbs;
EXIT;

 

반응형