웹사이트 검색

RHEL/CentOS 7에 Oracle Database 12c를 설치하는 방법


Oracle 데이터베이스는 기업 환경에서 가장 널리 사용되는 관계형 데이터베이스 관리 시스템(RDBMS) 중 하나입니다. Oracle Corporation에서 개발, 유지 관리 및 지원하는 이 RDBMS는 Enterprise Linux(RHEL, CentOS 또는 Scientific Linux) 위에 설치되는 경우가 많습니다. 이는 매우 강력한 운영 체제 – 데이터베이스 선택을 가능하게 합니다.

이 문서에서는 RHEL/CentOS 7 GUI 서버에 Oracle 12c 릴리스 2를 설치하는 방법을 설명합니다.

주의: RHEL/CentOS 6 사용자는 이 가이드에 따라 RHEL/CentOS 6.x에 Oracle Database 12c를 설치할 수 있습니다.

의 시작하자.

전제 조건:

Oracle 12c를 설치한 후 그래픽 인터페이스를 통해 구성이 수행됩니다. 이것이 X Window System 소프트웨어 그룹이 설치된 CentOS 7 서버가 필요한 이유입니다.

참고 사항: RHEL/CentOS 7 서버에 GUI(Gnome) 설치

또한 Oracle Database 12c 설치 파일(3.2GB)을 다운로드하려면 Oracle 계정이 필요합니다. 하지만 무료로 계정을 만들 수 있으니 걱정하지 마세요.

마지막으로, 서버에 최소 2GB의 RAM과 30GB의 사용 가능한 디스크 공간이 있는지 확인하세요. 이러한 하드웨어 요구 사항은 우리와 같은 테스트 환경에서는 안전하지만 프로덕션에서 Oracle 사용을 고려하는 경우 증가해야 합니다.

Oracle 12c 설치 준비

1. 시작하려면 현재 RHEL/CentOS 7 시스템에 설치된 모든 패키지가 최신 버전으로 업데이트되었는지 확인하세요.

yum update -y

2. 다음으로 zip 및 unzip 패키지와 함께 RDBMS에 필요한 모든 종속성을 설치했습니다.

yum install -y binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 zip unzip

3. Oracle용 사용자 계정과 그룹을 만듭니다.

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle

마지막으로 새로 생성된 Oracle 계정의 비밀번호를 설정합니다.

passwd oracle

4. /etc/sysctl.conf 파일에 다음 커널 매개변수를 추가합니다.

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 8329226240
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

적용해 보세요.

sysctl -p
sysctl -a

5. /etc/security/limits.conf 파일에서 oracle에 대한 제한을 설정합니다.

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536

6. /stage라는 디렉터리를 만들고 압축된 설치 파일을 추출합니다.

unzip linuxx64_12201_database.zip -d /stage/

계속하기 전에 실제 설치 중에 사용될 다른 디렉터리를 생성하고 필요한 권한을 할당하십시오.

mkdir /u01
mkdir /u02
chown -R oracle:oinstall /u01
chown -R oracle:oinstall /u02
chmod -R 775 /u01
chmod -R 775 /u02
chmod g+s /u01
chmod g+s /u02

이제 설치 스크립트를 실행할 준비가 되었습니다.

7. RHEL/CentOS 7 서버에서 GUI 세션을 열고 설치 스크립트를 실행합니다.

/stage/database/runInstaller 

설치 프로그램이 제시하는 단계를 따르십시오.

CentOS 7에 Oracle 12c 설치

8. Oracle 계정과 연결된 이메일 주소를 입력합니다(선택사항).

9. 만들기를 선택하고 데이터베이스를 구성합니다.

10. 최소 구성과 시작 데이터베이스를 설정하므로 Desktop 클래스를 선택합니다.

11. 기본 구성을 위해 다음 옵션을 선택합니다.

  • 오라클 베이스: /u01/app/oracle
  • 소프트웨어 위치: /u01/app/oracle/product/12.2.0/dbhome_1
  • 데이터베이스 파일 위치: /u01
  • OSDBA 그룹: dba
  • 전역 데이터베이스 이름: 원하는 대로 선택하세요. 여기서는 tecmint를 선택했습니다.
  • 비밀번호는 데이터베이스에 처음 연결할 때 사용하므로 기록해 두세요.
  • 컨테이너로 만들기 데이터베이스를 선택 취소합니다.

12. 기본 인벤토리 디렉터리를 /u01/app/oraInventory로 그대로 둡니다.

13. 설치 사전 확인이 오류 없이 완료되었는지 확인합니다.

오류가 발견되면 설치 프로그램에서 이 지점을 지나갈 수 없습니다.

14. Oracle 12c 설치가 완료될 때까지 기다리세요.

설치 중 어느 시점에서 추가 권한을 설정하거나 문제를 수정하기 위해 몇 가지 스크립트를 실행하라는 메시지가 표시될 수 있습니다. 여기에 설명되어 있습니다.

그리고 여기:

cd /u01/app/oraInventory
./orainstRoot.sh
cd /u01/app/oracle/product/12.2.0/dbhome_1
./root.sh

15. 그런 다음 GUI 세션에서 이전 화면으로 돌아가 확인을 클릭해야 설치가 계속됩니다.

완료되면 Oracle Enterprise Manager의 URL을 나타내는 다음 메시지가 표시됩니다.

https://localhost:5500/em

Oracle 12c 마무리 작업

16. 서버 외부로부터의 연결을 허용하려면 다음 포트를 열어야 합니다.

1521/TCP
5500/TCP
5520/TCP
3938/TCP

다음과 같이:

firewall-cmd --zone=public --add-port=1521/tcp --add-port=5500/tcp --add-port=5520/tcp --add-port=3938/tcp --permanent
firewall-cmd --reload

17. 그런 다음 이전에 선택한 비밀번호를 사용하여 oracle로 로그인하고 .bash_profile 파일에 다음 줄을 추가합니다.

TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=tecmint; export ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH; export PATH
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

18. 마지막으로 localhost를 0.0.0.0을 켜짐으로 바꾸세요.

vi $ORACLE_HOME/network/admin/listener.ora

19. 마지막 단계는 .bash_profile을 다시 로드하여 새 설정을 적용하는 것입니다.

source .bash_profile

20. 그런 다음 이전 섹션의 11단계에서 선택한 시스템 계정과 비밀번호를 사용하여 데이터베이스에 로그인합니다.

sqlplus system@tecmint

선택적으로 다음과 같이 몇 가지 샘플 레코드를 삽입할 tecmint 데이터베이스 내부에 테이블을 생성해 보겠습니다.

SQL> CREATE TABLE NamesTBL
(id   NUMBER GENERATED AS IDENTITY,
name VARCHAR2(20));

IDENTITY 열은 Oracle 12c에서 처음 도입되었습니다.

SQL> INSERT INTO NamesTBL (name) VALUES ('Gabriel');
SQL> INSERT INTO NamesTBL (name) VALUES ('Admin');
SQL> SELECT * FROM NamesTBL;

시스템 부팅 시 Oracle이 시작되도록 설정

21. 부팅 시 데이터베이스 서비스가 자동으로 시작되도록 하려면 /etc/systemd/system/oracle-rdbms.service 파일에 다음 줄을 추가합니다.

/etc/systemd/system/oracle-rdbms.service
Invoking Oracle scripts to start/shutdown Instances defined in /etc/oratab
and starts Listener

[Unit]
Description=Oracle Database(s) and Listener
Requires=network.target

[Service]
Type=forking
Restart=no
ExecStart=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbstart /u01/app/oracle/product/12.2.0/dbhome_1
ExecStop=/u01/app/oracle/product/12.2.0/dbhome_1/bin/dbshut /u01/app/oracle/product/12.2.0/dbhome_1
User=oracle

[Install]
WantedBy=multi-user.target

22. 마지막으로 /etc/oratab에서 부팅하는 동안 tecmint 데이터베이스를 불러와야 함을 표시해야 합니다(Y: 예).

요약

이 문서에서는 RHEL/CentOS 7에 Oracle 12c를 설치하는 방법, 데이터베이스를 생성 및 구성하는 방법, 테이블을 생성하고 데이터 행을 삽입하는 방법을 설명했습니다.

또한 시스템이 부팅될 때 데이터베이스 서버가 실행되고 있어야 하며 해당 시점에서 기본 데이터베이스를 사용할 수 있어야 한다는 점에 유의하는 것이 중요합니다.

이 기사에 대해 질문이나 의견이 있는 경우 아래 양식을 사용하여 언제든지 문의해 주세요.