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;
반응형