systemctl 는 RHEL 7 에 도입된 systemd 를 관리/제어하는 명령어이다. /usr/lib/systemd/system/ 디렉토리에 .service 파일을 만들어 서비스를 추가할 수 있다. Oracle 구동에 필요한 lsnrctl 과 dbstart 역시 직관적으로 사용할 수도 있지만 부팅시 자동실행을 위해 서비스에 등록해 본다.
- /usr/lib/systemd/system/oracle_listener.service
- /usr/lib/systemd/system/oracle_instance.service
1. listener 서비스 작성
# vi /usr/lib/systemd/system/oracle_listener.service
[Unit]
Description=oracle listener
After=network.target
[Service]
Type=forking
User=oracle
Group=dba
Environment=ORACLE_BASE=/app/oracle
Environment=ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1
Environment=ORACLE_SID=orcl
ExecStart=/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl start
ExecStop=/app/oracle/product/11.2.0/dbhome_1/bin/lsnrctl stop
[Install]
WantedBy=multi-user.target
2. instance 서비스 작성
# vi /usr/lib/systemd/system/oracle_instance.service
[Unit]
Description=oracle instance
After=network.target syslog.target
[Service]
Type=forking
User=oracle
Group=dba
Environment=ORACLE_BASE=/app/oracle
Environment=ORACLE_HOME=/app/oracle/product/11.2.0/dbhome_1
Environment=ORACLE_SID=orcl
ExecStart=/app/oracle/product/11.2.0/dbhome_1/bin/dbstart ORACLE_HOME
ExecStop=/app/oracle/product/11.2.0/dbhome_1/bin/dbshut ORACLE_HOME
[Install]
WantedBy=multi-user.target
3. systemd 에 등록 후 자동실행 설정
# systemctl daemon-reload
# systemctl enable oracle_listener.service
# systemctl enable oracle_instance.service
4. /etc/oratab 수정
orcl:/app/oracle/product/11.2.0/dbhome_1:Y
부팅시 dbstart 유틸리티를 사용하도록 설정(Y)
5. 재부팅 후 프로세스 확인
WRITTEN BY
- 손가락귀신
정신 못차리면, 벌 받는다.
,