출처: CentOS 7 에서 Oracle 12c 설치하기(GUI 원격 설치) :: 剩餘人間 (Riff-Raff) (sarang.net)
CentOS 7 에서 Oracle 12c 데이터베이스 설치하기(GUI 원격 설치)
최초 작성일 : 2017년 9월 19일
수정 작성일: 2018년 10월 10일
참조 문서
* Putty
I. 개요
CentOS 7 Minimal Server 에 Oracle 12c 버전을 원격으로 설치한다.
설치대상은 리눅스 서버이며, 설치 클라이언트는 Windows 10 이다.
Oracle 설치 프로그램은 GUI 를 필요로 하기 때문에, 원격으로 설치하기 위해서는 먼저, CentOS 서버가 X Windows 응용 프로그램들을 실행할 수 있도록 준비되어 있어야 한다.
II. 프로그램 준비하기
0. 오라클 데이터베이스 설치 프로그램 내려받기
리눅스용 오라클 데이터베이스 프로그램은 오라클 홈페이지에서 내려받을 수 있다. 프로그램을 내려받기 위해서는 오라클 계정을 갖고 있어야 한다. 계정은 누구나 쉽게 만들 수 있다.
다양한 플랫폼별로 준비된 오라클 데이터베이스 설치 프로그램 중에서, Linux x86-64 버전을 내려받는다.
내려받으면, linuxx64_12201_database.zip 파일 이름으로 저장된다.
1. CentOS 7 서버
- 서버 상태 확인하기 [선택사항]
- CentOS 7 서버 버전 확인하기
[root@localhost ~]# cat /etc/centos-release
CentOS Linux release 7.5.1804 (Core)
- SELinux 상태 확인하기
[root@localhost ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31
- 방화벽 동작 확인하기
[root@localhost ~]# firewall-cmd --state
running
- HOSTNAME 과 IP 확인하기
[root@localhost ~]# hostnamectl
Static hostname: localhost.localdomain
Icon name: computer-desktop
Chassis: desktop
Machine ID: 64f8533daaad4d66ab6273775b70cc8b
Boot ID: 3e23d752841341979462aeea1a61ea77
Operating System: CentOS Linux 7 (Core)
CPE OS Name: cpe:/o:centos:centos:7
Kernel: Linux 3.10.0-862.el7.x86_64
Architecture: x86-64
- 도메인 이름 할당하기 [선택사항]
[root@localhost ~]# cat /etc/hostname
iskra.sarang.net
localhost.localdomain
hostname 과 hosts 이름이 다른 경우, 마지막 설치 단계에서 다음과 같은 오류를 만날 수 있다.
INFO: ... GenericInternalPlugIn: getting configAssistantParmas.
INFO: ... GenericInternalPlugIn: checking secretArguments.
INFO: ... GenericInternalPlugIn: starting read loop.
INFO: Read: [FATAL] [DBT-06103] The port (5,500) is already in use.
INFO: [FATAL] [DBT-06103] The port (5,500) is already in use.
WARNING: Skipping line: [FATAL] [DBT-06103] The port (5,500) is already in use.
INFO: Read: ACTION: Specify a free port.
INFO: ACTION: Specify a free port.
WARNING: Skipping line: ACTION: Specify a free port.
INFO: Completed Plugin named: Oracle Database Configuration Assistant
방화벽 및 SELinux 가 동작하는 것을 확인하고, 설치 후에 방화벽 등의 보안설정을 추가해야 한다.
- 메모리(Swap) 추가하기 [선택사항]
설치 프로그램을 실행하면, 다음과 같이 임시(Temp) 저장공간과 스왑 메모리 용량을 확인한다.(스왑 공간은 2.7GB 이상을 할당하도록 한다.)
Oracle Universal Installer 시작 중...
임시 공간 확인 중: 500MB 이상이어야 합니다.. 실제 6262MB 성공
스왑 공간 확인 중: 150MB 이상이어야 합니다.. 실제 4977MB 성공
...
현재 SWAP 용량을 확인하고, 부족하면, Swap 메모리를 추가 생성한다.
# swapon -s
Filename Type Size Used Priority
/dev/dm-1 partition 3932156 167680 -1
아래는 3기가 파일의 용량을 SWAP 메모리로 생성하고, 사용하는 간단한 방법이다.
# dd if=/dev/zero of=/home/swap1 bs=1024 count=3000000
3000000+0 records in
3000000+0 records out
3072000000 bytes (3.1 GB) copied, 62.1876 s, 49.4 MB/s
# mkswap /home/swap1
Setting up swapspace version 1, size = 2999996 KiB
no label, UUID=91d65788-e140-43c3-897d-01ab42e29773
# chmod 600 /home/swap1
# swapon /home/swap1
마지막 라인의 swap 활성화 명령은 시스템이 새로 부팅할 때, 동작할 수 있어야하기 때문에, /etc/rc.d/rc.local 에 추가해 두는 것이 좋다.
# cat /etc/rc.d/rc.local
...
swapon /home/swap1
...
# chmod +x /etc/rc.d/rc.local
또는 일반 하드디스크처럼 /etc/fstab 에 등록해도 된다.
/home/swap1 swap swap defaults 1 1
- Yum 으로 패키지 설치하기
여기서는 Windows 에 설치된 X 서버를 사용하여 원격에서 설치하기 때문에, X windows 응용프로그램 실행에 필요한 라이브러리 및 일부 개발 패키지들만 설치하면 된다.
# yum update
# yum install -y binutils compat-libcap1 gcc gcc-c++ glibc glibc-devel ksh compat-libstdc++-33 libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat zip unzip libXrender
참고로, 필요한 패키지들에 대한 종속성 검사는 설치과정에서 다시 한번 이루어진다.
만약, CentOS 7 서버에 직접 X Windows 서버를 설치하기 위해서는 다음과 같이 Yum 명령어를 실행하면 된다.
# yum groupinstall -y "X Window System"
- 커널 패러미터 설정하기
커널 패러미터 설정 (/etc/sysctl.conf) 파일에 아래 내용을 추가한다.
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152 (아래 참조)
kernel.shmmax = 4056393728
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
커널 패러미터 | 내용 |
fs.aio-max-nr | 비동기 파일 최대 열기 |
fs.file-max | 사용 가능한 파일 핸들의 최대 개수를 말하며, 동시에 열 수 있는 파일의 수다. |
kernel.shmall | 공유 메모리의 최대 크기 SGA 의 전체 크기가 100G 라면 다음과 같이 계산한다. # getconf PAGE_SIZE
4096 kernel.shmall = 1024 * 1024 * 1024 * 100 / 4096 (PGE_SIZE) = 26214400 |
kernel.shmmax | 공유 메모리 세그먼트의 최대 크기 |
kernel.shmmni | 공유 메모리 세그먼트의 최대 숫자 |
kernel.sem | 아래 네 개의 값을 차례로 설정한다. - semmsl : 세마포어 세트당 최대 세마포어 수 - semmns : 시스템에 할당할 수 있는 최대 세마포어 개수 - semopm : 시스템 호출당 수행할 수 있는 최대 세마포어 수 - semmni : 세마포어 세트의 최대 수 |
net.ipv4.ip_local_port_range | 신규 접속시에 허용할 수 있는 포트의 사용 범위 |
net.core.rmem_default | 소켓이 사용하는 수신 버퍼(Window Size)의 기본값 |
net.core.rmem_max | 소켓이 사용하는 수신 버퍼(Window Size)의 최대값 |
net.core.wmem_default | 소켓이 사용하는 송신 버퍼(Window Size)의 기본값 |
net.core.wmem_max | 소켓이 사용하는 수신 버퍼(Window Size)의 최대값 |
만약, 설치 후에 아래와 같은 오류가 발생하면, kernel.shmall크기를 증가한다.
> startup
ORA-27125: unable to create shared memory segment
Linux-x86_64 Error: 28: No space left on device
변경 설정된 커널 패러미터는 다음 명령으로 반영한다.
# sysctl -p
패러미터 변경 여부는 다음 명령으로 확인한다.
# sysctl -a
- 오라클 사용자 생성하기
오라클 데이터베이스 서버를 실행하고 생성 파일들을 관리할 관리자 그룹과 계정을 생성한다.
# groupadd oinstall
# groupadd dba
# useradd -g oinstall -G dba oracle
# passwd oracle
oracle 사용자의 비밀 번호 변경 중
새 암호:
새 암호 재입력:
passwd: 모든 인증 토큰이 성공적으로 업데이트 되었습니다.
oracle 사용자의 권한(/etc/security/limits.conf)을 설정한다.
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
이 설정은 오라클 서버의 프로세스 및 파일 열기에 대한 최대 개수를 설정한다.
2. Windows 10 클라이언트
X 서버가 운영되지 않는 서버에서, X 응용 프로그램을 실행하면 다음과 같은 오류가 발생한다.
$ xclock
No protocol specified
Error: Can't open display: 192.168.41.1:0.0
- Putty 설치하기
아래 사이트에서 Putty 를 내려받아 설치한다.
Putty 를 이용하여 설정한 서버의 설정 정보에 다음 내용을 추가하여 저장한다.
X Display Option 은 비워둔 채로 그냥 두어도 된다.
- Xming 설치하기
아래 사이트에서 XMing 을 내려받아 설치한다.
Xlaunch 를 실행해서 다음과 같이 설정한다.
XMing 에서 X 응용 프로그램을 동작시킬 서버 주소를 등록한다.
C:\Program Files (x86)\Xming\x0.hosts
localhost
xxx.xxx.xxx.xxx
- SSH X 포워딩 설정
먼저, CentOS 7 서버에서 SSH를 통해 X 포워딩을 할 수 있도록 다음과 같이 설정한다.
(CentOS 7 에서는 SSH 서버 기본 설정값으로 변경할 필요가 없다.)
# cat /etc/ssh/sshd_config
...
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
X11Forwarding yes
값을 변경했으면, SSH 서비스를 다시 시작한다.
# service sshd restart
- 원격 X Windows Server 테스트
새로 설정된 접속 정보를 이용하여 서버에 로그인한다.
다음과 같이 X 응용 프로그램을 실행할 서버의 IP 를 명시한다.
$ export DISPLAY=xxx.xxx.xxx.xxx:0.0
$ sudo yum install xclock
$ xclock
X 응용 프로그램이 윈도우즈 클라이언트상에 정상 동작하는지 확인한다.
참고로 DISPLAY 변수에 사용된 IP 는 X Server 가 운용중인 서버의 IP 주소를 0.0 에서 0 은 디스플레이를 의미하며, X 서버의 기본 시작포트인 6000 + 0 번 포트 (즉, 6000번 포트)를 의미하며, 나머지 0은 스크린 번호를 의미한다.
III. 오라클 데이터베이스 설치하기
1. 설치 디렉토리 설정 및 생성하기
다운받은 오라클 데이터베이스 설치 바이너리 파일의 압축을 해제한다.
$ unzip linux64_12201_database.zip -d /home/oracle/stage/
오라클 데이터베이스 서버를 설치할 폴더를 생성하고, 사용자를 명시한다.
# mkdir -p /opt/oracle12/app
# mkdir -p /opt/oracle12/oraInventory
# chown -R oracle:oinstall /opt/oracle12/app
# chown -R oracle:oinstall /opt/oracle12/oraInventory
# chmod -R 775 /opt/oracle12/app
# chmod -R 775 /opt/oracle12/oraInventory
# chmod g+s /opt/oracle12/app
# chmod g+s /opt/oracle12/oraInventory
2. 설치프로그램 실행하기
- 한글 폰트 설치하기
CentOS 7 운영체제를 설치할 때, 설정 언어로 한국을 설정했다면, 한글 폰트가 설치되어 있어야 설치프로그램에서 한글을 정상적으로 볼 수 있다.
폰트 설치만 해주면 된다. 예전 버전의 오라클 설치에는 포함된 자바 속성파일을 수정하는 등의 작업을 수행했으나, 현재 버전에서는 그럴필요가 없다. 한글이 안나온다고 삽질하지 않도록 한다.
# yum install baekmuk-ttf*
한글 폰트를 설치하지 않으려면 다음과 같이 Locale 환경 값을 적용해서 영어로 설치하면 된다.
$ export LANG=C
$ export LC_ALL=C
압축 해제하기
$ unzip linuxx64_12201_database.zip -d /home/oracle/stage
오라클 사용자 환경 설정
아래 환경변수는 설치후에 설정할 수 있으나, 편의를 위해 미리 ~/.bash_profile 에 추가해둔다.
# User specific environment and startup programs
TMPDIR=$TMP ; export TMPDIR
ORACLE_BASE=/opt/oracle12/app/; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl; export ORACLE_HOME_LISTNER
ORACLE_SID=orcl; export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
PATH=$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin; export PATH
오라클 사용자로 로그인한 후 다음과 같이 실행한다.
$ cd ~/stage/database
$ export DISPLAY=xxx.xxx.xxx.xxx:0.0 ## 원격 X 서버를 사용하는 경우에 입력
$ ./runInstaller
Oracle Universal Installer 시작 중...
임시 공간 확인 중: 500MB 이상이어야 합니다.. 실제 6259MB 성공
스왑 공간 확인 중: 150MB 이상이어야 합니다.. 실제 4977MB 성공
모니터 확인 중: 최소 256 색상을 표시하도록 구성되어 있어야 합니다.
>>> /usr/bin/xdpyinfo 명령을 사용하여 디스플레이 색상에 대한 자동 검사를 실행할 수 없습니다. DISPLAY 변수가 설정되어 있는지 확인하십시오. 실패 <<<<
일부 요구 사항 검사를 실패했습니다. 설치를 계속하기 전에 이러한
요구 사항이 충족되어야
계속하겠습니까? (y/n) [n] y
3. 설치하기
- 보안 갱신 구성
Oracle 보안 소식을 전달 받을 My oracle Support 계정의 주소와 비밀 번호를 입력한다.
없으면 생략한다.
- 설치 옵션
데이터베이스 생성 및 구성을 선택하여 데이터베이스 서버 환경을 구성한다. 만약, 데이터베이스 서버가 필요하지 않고, 오라클 바이너리 실행프로그램만 필요한 경우에는 데이터베이스 소프트웨어만 설치를 선택한다.
- 시스템 클래스
간단한 데이터베이스 서버인 최소 구성으로 이루어진 데스크톱 클래스를 데이터 센터에 오라클을 설치하는 경우 다양한 옵션을 추가설치할 수 있는 서버 클래스를 선택한다. 여기서는 서버 클래스로 설치한다.
- 데이터베이스 설치 옵션
RAC(Real Application Clusters) 라이센스가 있다면, 해당 항목을 선택하여 데이터베이스를 설치한다. 그렇지 않은 경우, 단일 인스턴스로 설치한다.
- 설치 유형
- 데이터베이스 버전
오라클 데이터베이스 버전
여기서는 Enterprise Edition 을 선택한다.
- 설치 위치
오라클 사용자 환경 설정(~/.bash_profile) 에 미리 작성해 둔 값으로 설정된다.
- 인벤토리 생성
- 구성 유형
- 데이터베이스 식별자 지정
- 구성 옵션 지정
물리적 메모리가 4G이상인 경우, 자동 메모리 관리를 사용할 수 없으므로 다음과 같이 SGA 와 PGA 처리를 위해 분배한다.
- SGA 대상 : 75 %
- PGA 대상 : 25 %
- SGA 대상 : 60 %
- PGA 대상 : 40 %
유니코드로 설정한다.
오라클을 처음 접하는 경우, 샘플 스키마를 생성하여 오라클 테스트에 활용할 수 있다.
- 데이터베이스 저장 영역 옵션 지정
- 관리 옵션 지정
Oracle Management Repository 를 사용하는 경우, 관련 정보를 등록하여 중앙 관리할 수 있다.
- 복구 옵션 지정
- 스키마 비밀번호 지정
사용자 계정마다 비밀번호를 다르게 설정할 수 있다.
- 권한이 부여된 운영 체제 그룹
- 필요 조건 검사 수행
- 필요 조건 검사
설치에 필요한 패키지를 설치하지 않았거나, 사양이 충족되지 않은 상태에서 모든 종속 조건을 무시하고 아래와 같이 설치할 수 있지만, 정상 동작하지 않을 수 있다.
oracle 사용자의 권한(/etc/security/limits.conf)에 설정을 추가한다.
oracle soft stack 10240
또는 ulimit 명령어를 사용하여 설정할 수 있다.
# ulimit -Ss 10240
창에서 지시하는 대로 스크립트를 관리자 권한으로 실행한다.
[root@localhost CVU_12.2.0.1.0_oracle]# ./runfixup.sh
All Fix-up operations were completed successfully.
- 요약
현재, 설정된 정보값들을 확인 후 [설치 버튼]을 눌러 설치를 완료한다.
설치 중 관리자(root) 권한으로 실행해줘야 하는 스크립트가 있다.
[root@localhost CVU_12.2.0.1.0_oracle]# cd /opt/oracle12/oraInventory/
[root@localhost oraInventory]# ./orainstRoot.sh
다음 권한 변경 중/opt/oracle12/oraInventory.
그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다.
월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다.
그룹 이름 변경 중 /opt/oracle12/oraInventory 대상 oinstall.
스크립트 실행이 완료되었습니다.
[root@localhost oraInventory]# cd /opt/oracle12/app/product/12.2.0/dbhome_1/
[root@localhost dbhome_1]# ./root.sh
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /opt/oracle12/app/product/12.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] :
- 완료
설치가 완료되면, Localhost 5500 번 포트를 통해 Enterprise Manager 에 접속할 수 있다고 메시지가 출력한다.
그러나, 여기서는 원격으로 접속했기 때문에 위 주소를 사용할 수 없으며, 포트 역시 원격 접속시 방화벽에 차단되어 있다.
따라서, 방화벽 설정을 완료한 후, 위 주소에 접속하여 해당 기능을 살펴볼 수 있다.
IV. 오라클 데이터베이스 접속 테스트
1. 오라클 환경 변수 설정하기
오라클 계정으로 로그인 한 후, 오라클 사용자 환경파일에 다음의 내용을 추가한다. (~/.bash_profile)
이 작업은 오라클 설치 전에 하면 편하다.
TMPDIR=$TMP ; export TMPDIR
ORACLE_BASE=/opt/oracle12/app/; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl; export ORACLE_HOME_LISTNER
ORACLE_SID=orcl; export ORACLE_SID
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/lib64; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
PATH=$ORACLE_HOME/bin:$PATH:$HOME/.local/bin:$HOME/bin; export PATH
로그아웃하고 다시 로그인하거나, 다음과 같이 새로운 환경변수를 현재 셀에 적용한다.
$ . .bash_profile
2. sqlplus 테스트
sqlplus 는 CLI 환경에서 오라클 데이터베이스를 관리할 수 있는 도구다. 오라클 계정으로 로그인한 후 다음과 같이 테스트할 수 있다.
[oracle@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on Tue Oct 16 12:06:34 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to an idle instance.
SQL>
## Oracle Database 를 시작한다.
sqlplus 한글 출력 오류 수정.
위와 같이 sqlplus 에 한글이 제대로 출력되지 않는다. 오라클에서 식별가능한 로케일 환경변수를 추가한다.
SQL> SELECT * FROM sys.props$ where name='NLS_CHARACTERSET';
NAME
--------------------------------------------------------------------------------
VALUE$
--------------------------------------------------------------------------------
COMMENT$
--------------------------------------------------------------------------------
NLS_CHARACTERSET
AL32UTF8
Character set
아래 내용을 .bash_profile 에 추가한다.
export NLS_LANG=KOREAN_KOREA.AL32UTF8
데이터베이스 종료하기
새로 추가된 환경변수를 적용하고 다시 프로그램을 실행한다. 한글 메시지가 정상 출력됨을 확인할 수 있다.
[oracle@localhost ~]$ sqlplus / as sysdba
SQL*Plus: Release 12.2.0.1.0 Production on 화 10월 16 12:15:54 2018
Copyright (c) 1982, 2016, Oracle. All rights reserved.
다음에 접속됨:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SQL> shutdown
데이터베이스가 닫혔습니다.
데이터베이스가 마운트 해제되었습니다.
ORACLE 인스턴스가 종료되었습니다.
처음 시작할 때, 자주 접하는 오류들
오류 이름 | 오류 내용 |
ORA-01034 | 오라클 데이터베이스를 시작하지 않고, 오라클을 사용할 때 출력된다. 위와 같이 데이터베이스를 시작(startup) 해준다. |
ORA-01081 | 오라클 인스턴스가 이미 실행중이다. SQL> shutdown abort
ORACLE 인스턴스가 종료되었습니다. ORACLE 인스턴스가 시작되었습니다. |
ORA-01102 | 처음 시작할 때, 데이터베이스를 마운트할 수 없다는 오류다. 정확한 원인은 모르지만, 다음과 같이 해결할 수 있다. 1. 오라클 인스턴스를 모두 중지한다. $ lsnrctl stop
$ ps -ef | grep ora_ oracle 25007 1 0 10월15 ? 00:00:04 ora_pmon_orcl oracle 25009 1 0 10월15 ? 00:00:01 ora_clmn_orcl oracle 25011 1 0 10월15 ? 00:00:12 ora_psp0_orcl oracle 25013 1 1 10월15 ? 00:12:49 ora_vktm_orcl oracle 25019 1 0 10월15 ? 00:00:07 ora_gen0_orcl ...
2. 실행중인 모든 ora_* 프로세스를 강제 종료한다. $ kill -9 ` ps -ef | grep ora_ | awk '{print $2}'`
-bash: kill: (15600) - 그런 프로세스가 없음 [root@localhost dbhome_1]# ps -ef |grep ora_ root 15723 12087 0 12:56 pts/0 00:00:00 grep --color=auto ora_ 3. 데이터베이스를 다시 시작한다. $ lsnrctl start
$ sqlplus / as sysdba SQL> startup
이 문제는 처음 설치했을 때만, 발생하는 것으로 보인다. |
- /etc/oratab 수정
오라클 데이터베이스 설치과정(root.sh)중에 생성된 파일로 ORACLE_SID 에 대한 식별을 외부에 제공해준다.
orcl 에 대해 마지막 칼럼 N 을 Y 로 수정한다.
# This file is used by ORACLE utilities. It is created by root.sh
# and updated by either Database Configuration Assistant while creating
# a database or ASM Configuration Assistant while creating ASM instance.
# A colon, ':', is used as the field terminator. A new line terminates
# the entry. Lines beginning with a pound sign, '#', are comments.
#
# Entries are of the form:
# $ORACLE_SID:$ORACLE_HOME:<N|Y>:
#
# The first and second fields are the system identifier and home
# directory of the database respectively. The third field indicates
# to the dbstart utility that the database should , "Y", or should not,
# "N", be brought up at system boot time.
#
# Multiple entries with the same $ORACLE_SID are not allowed.
#
#
orcl:/opt/oracle12/app/product/12.2.0/dbhome_1:Y
- oracle 서비스 스크립트 작성
/etc/init.d/oracle
# chkconfig: 2345 90 10
# description: The Oracle Database is an Object-Relational Database Management System.
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_BASE=/opt/oracle12/app/
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $0 already stopping.
exit 1
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
rm -f $LOCKFILE
;;
'restart')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
- 서비스 시작하기
# chkconfig –list
알림: 이 출력 결과에서는 SysV 서비스만을 보여주며 기존의 systemd 서비스는
포함되어 있지 않습니다. SysV 설정 데이터는 기존의 systemd 설정에 의해
덮어쓰여질 수 있습니다.
'systemctl list-unit-files'를 사용하여 systemd 서비스를 나열하실 수 있습니다.
특정 대상에 활성화된 서비스를 확인하려면
'systemctl list-dependencies [target]'을 사용하십시오.
jenkins 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
netconsole 0:해제 1:해제 2:해제 3:해제 4:해제 5:해제 6:해제
network 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
oracle 0:해제 1:해제 2:활성 3:활성 4:활성 5:활성 6:해제
# service oracle restart
- 오라클 리스너 서비스
- 오라클 데이터베이스 서비스
위의 dbstart 실행 스크립트안에 lsnrctl 를 시작하는 명령이 포함되어 있으므로, 아래는 사실 필요가 없다.
- 서비스 시작하기
public
interfaces: ens33 (네트워크 인터페이스 이름은 시스템마다 다르다.)
# firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
success
# firewall-cmd --reload
success
# firewall-cmd --list-ports
1521/tcp 5500/tcp 5520/tcp 3938/tcp
포트 번호 | 프로토콜 | 내용 |
1521 | TCP | Oracle SQL*NetListener |
1630 | TCP | Connection Manager |
3938 | HTTP | Oracle Management Agent |
1158/5500 | TCP/HTTP | Oracle Enterprise Manager Database Console |
5520 | TCP | Oracle Enterprise Manager Database Console |
오라클 데이터베이스 서버의 포트에 대한 정보는 다음 페이지를 참조하기 바란다.
VI. Oracle Enterprise Manager(EM Server)
오라클 엔터프라이즈 서버(EM) 를 설치했다면, 웹에서 5500번 포트를 이용하여 접속할 수 있다.
로그인 계정은 sys 또는 system 계정으로 초기 설치시에 사용한 관리자 암호를 입력하면 된다.
현재 데이터베이스 서버의 상태, 성능, 장애, 리소스등에 대한 모니터링을 할 수 있으며, 데이터베이스를 관리할 수 있다.
만약, Enterprise Manager (EM Server)가 동작하지 않는다면, 다음과 같이 실행한다. XDB dispatcher를 확인한다.
EM Web Console 은 XDB 스키마에서 동작되기 때문이다.
HTTPS 를 통해 5500 포트로 접근하도록 한다.
SQL> show parameter dispatchers
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dispatchers string (PROTOCOL=TCP) (SERVICE=orclXDB)
max_dispatchers integer
SQL> exec dbms_xdb_config.sethttpsport (5500);
PL/SQL 처리가 정상적으로 완료되었습니다.
SQL> show parameter dispatchers
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
dispatchers string (PROTOCOL=TCP) (SERVICE=orclXD
B)
max_dispatchers integer
SQL> select dbms_xdb_config.gethttpsport () from dual;
DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
5500
포트를 변경할려면, 5500 대신 5502 등의 포트로 변경하면 된다.
VII. sqldeveloper 윈도우 클라이언트 프로그램
sql developer 는 오라클 설치 파일에 포함된 윈도우용 클라이언트 프로그램이다.
$ORACLE_HOME/sqldeveloper 폴더에서 찾을 수 있다.
자바 런타임이 설치되어 있다면, 해당 폴더를 윈도우로 복사 후 다음과 같이 사용할 수 있다. (sqldeveloper.exe 실행)
원격 오라클 데이터베이스에 접속하여 서버를 관리할 수 있는 기능을 제공한다.
이 문서에서는 해당 도구의 자세한 설명은 생략한다.
- 끝 -
'정보관리(데이터베이스, DB) > 오라클' 카테고리의 다른 글
Oracle Database 구버전 다운 받기 (1) | 2023.11.24 |
---|---|
Standby DataBase 구축하기 (1) | 2023.11.24 |
오라클 db 관련 서비스 종료 (0) | 2023.11.19 |
[Oracle] 사용자 비밀번호 변경 방법 (Alter User) (0) | 2023.11.16 |
오라클 oracle db port 변경 (0) | 2023.11.16 |