linux에 oracle 19c 설치

반응형

Oracle 19c는 Oracle에서 출시한 관계형 데이터베이스 관리 시스템(RDBMS)으로 2018년 12월 18일에 출시되었습니다.

이 글을 작성하는 현재(2023.12.) Oracle 19c 상세 버전은 아래와 같습니다.

구분 설치파일명 버전
기본 설치 파일 LINUX.X64_193000_db_home.zip 19.3.0.0.0
OPatch 파일 p6880880_190000_Linux-x86-64.zip 12.2.0.1.40
Release Update 파일 p35643107_190000_Linux-x86-64.zip 19.21.0.0.0

기본 설치 파일의 버전과 현재 Release Update 파일의 버전 차이가 많이 납니다.

초기 릴리즈 버전 19.3은 상당한 양의 버그, 취약점 등을 포함하고 있으므로 단순 학습목적이 아니면

Release Update까지 진행 후 사용하시기 바랍니다.

본 설치에서는 oracle linux 버전 8.9를 기준으로 합니다.

 

OPatch는 오라클 패치 관리 유틸리티로서 기본 설치 파일 19.3에 포함되어 있는 OPatch의 버전은 12.2.0.1.17입니다.

그런데 Release Update 19.21 적용을 위해서는 OPatch version 12.2.0.1.37 이상의 버전이 필요하다고 되어 있으므로

OPatch 업데이트 진행 후 RU(Release Update) Patch를 진행합니다.

 

oracle 19c 설치에 앞서 이전 포스팅의 환경설정 적용이 필요하므로 환경설정이 안 되어 있으면 아래 글의 내용을 먼저 적용하시기 바랍니다.

2023.11.29 - [Database/Oracle] - oracle linux oracle 19c 설치환경 설정

 

1. LINUX.X64_193000_db_home.zip 압축 해제 및 실행

LINUX.X64_193000_db_home.zip 파일은 구글에 " LINUX.X64_193000_db_home.zip" 문구로 검색하면 오라클 다운로드 링크를 확인할 수 있습니다.

"oracle" 계정으로 전환 후 $ORACLE_HOME 위치에 LINUX.X64_193000_db_home.zip 파일 압축을 풀어 줍니다.

$ORACLE_HOME에 압축 해제

그리고 아래 명령어로 Oracle Installer를 실행합니다.

export CV_ASSUME_DISTID=OEL7
./runInstaller

CV_ASSUME_DISTID는 oracle linux 버전을 7로 가정하는 환경변수입니다. 이 변수를 설정하지 않으면 Installer에서 다음과 같은 경고 메시지가 발생합니다.

[INS-08101] Unexpected error while executing the action at state: 'supportedOSCheck'

 

그리고 xdisplay 설정 문제로 GUI 창 안 뜨면 아래 명령어 다시 진행해 보세요.

#  root 계정으로 진행
echo $DISPLAY
:0
# :0 이 아니면 :0 으로 바꾸세요.
xhost +
# access control disabled, clients can connect from any host
su - oracle
$export DISPLAY=:0.0 # 버추얼박스와 같은 NAT 환경일 경우
$export DISPLAY=192.168.x.x:0.0 # HOST PC를 통해서 oracle 설치 서버 접속이면 호스트IP
# oracle 계정에서 xhost 같은 명령어 실행하지 마세요.
$./runInstaller

 

참고로 Oracle Directory 구조 잠깐 보고 갈게요.

$ORACLE_BASE = /oracle/app/oracle입니다.

/oracle/app/oracle --- /admin
                       /audit
                       /cfgtoollogs
                       /diag
                       /oradata
                       /product/19.3.0($ORACLE_HOME)

 

2. Configuration Option

Oracle 19c Installer의 설치 옵션 항목은 총 18개입니다. 하나씩 살펴보겠습니다.

글씨체 Bold 적용이 이번 설치 진행 시 선택된 옵션입니다.

  • Select any of the following install options (Step 1 of 18) : 싱글 인스턴스로 설치 선택
    • Create and configure a single instance database. This option create a start database.
    • Set Up Software Only
  • Select System Class (Step 2 of 18) : 서버 클래스 선택
    • Desktop class
      Choose this option if you are installing on a laptop or desktop class system.
      This option includes a starter database and allows minimal configuration.
    • Server class
      Choose this option if you are installing on a server class system, which Oracle defines as a system used in a production data center. This option allows for more advanced configuration options.
  • Select Database Edition (Step 3 of 18) : 엔터프라이즈 에디션 선택
    • Enterprise Edition
      Oracle Database 19c Enterprise Edition is a self-managing database that has the scalability, performance, high availability, and security features required to run the most demanding, mission-critical applications.
    • Standard Edition 2
      Oracle Database 19c Standard Edition 2 is a full-featured data management solution ideally suited to the needs of medium-sized businesses.
  • Specify Installation Location(Step 4 of 18) : $ORACLE_BASE, $ORACLE_HOME 경로 설정 확인
    • Specify a path to place all Oracle software and configuration-related files installed by this installation owner. This location is the Oracle base directory for the installation owner.
      Oracle base: /oracle/app/oracle
    • This software directory is the Oracle Database home directory.
      Software location: /oracle/app/oracle/product/19.3.0
  • Create Inventory(Step 5 of 18) : 로그 저장 경로 설정 확인 및 접근 계정 그룹 "dba" 설정
    • You are starting your first installation on this host. Specify a directory for installation metadata files (for example, install log files). This directory is called the “inventory directory”. The installer automatically sets up subdirectories for each product contain inventory data. The subdirectory for each product typically requires 150 kilobytes of disk space.
      Inventory Directory: /oracle/app/oraInventory
    • Specify on operating system group whose members have write permission to the inventory directory (oraInventory)
      oraInventory Group Name: dba
  • Select Configuration Type (Step 6 of 18) : 데이터 분석 목적이라 Data Warehousing 선택. 일반목적은 General 
    Select the type of database that you want to create
    Note:The preconfigured database types differ only in the values specified for some initialization parameters. The same data files are created and used for each type, and their disk space requirements are the same.
    • General Purpose / Transaction Processing
      A starter database designed for general purpose use, or for transaction-heavy applications.
    • Data Warehousing
      A starter database optimized for data warehousing applications.
  • Specify Database Identifiers (Step 7 of 18)
    Provide the identifier information required to access the database uniquely. An Oracle database is uniquely identified by a Global database name, typically of the form “name.domain”. A database is referenced by at least one Oracle instance which is uniquely identified from any other instance on this computer by an Oracle system identifier(SID).
    • Global database name: 
    • Oracle system identifier (SID):
    • Create as Container database : no (멀티태넌트 필요 없음)
  • Specify Configuration Options (Step 8 of 18)
    • Enable Automatic Memory Management : yes
    • Character sets : KO16MSWIN949 – MS Windows Code Page 949 Korean
    • Sample schemas : no
  • Specify Database Storage Options(Step 9 of 18)
    • File system
      Specify database file location: /oracle/app/oracle/oradata
  • Specify Recovery Options(Step 11 of 18)
    Enable or disable recovery for your database. If you choose to enable recovery, then the location specified will be used as recovery area storage.
    • Enable Recovery : no
  • Specify Schema Passwords(Step 12 of 18)
    The starter database contains pre-loaded schemas, most of which have passwords that are expired and locked at the end of installation. After installation is complete, you must unlock and set new passwords for those accounts you want to use. Schemas used for database management and postinstallation functions are left unlocked, and passwords for these accounts will not expire. Specify the passwords for these accounts.
    • Use the same password for all accounts : yes
  • Privileged Operating System groups(step 13 of 18) : 모든 그룹권한을 "dba"로 설
    SYS privileges are required to create a database using operating system(OS) authentication. Membership in OS Groups grants the corresponding SYS privilege, eg. membership in OSDBA grants the SYSDBA privilege.
    • Database Administrator group: dba
    • Database Operator group: dba
      Database Backup and Recovery Group: dba
      Data Guard administrative group: dba
      Encryption Key management administrative group: dba
      Real Application Cluster administrative group: dba
  • Root script execution configuration(Step 14 of 18) : root 계정 패스워드를 입력하거나 별도 콘솔창에서 root로 안내되는 명령어를 수행
    During the software configuration, certain operations have to be performed as “root” user. You can choose to have the installer perform these operations automatically by specifying inputs for one of the options below. The input specified will also be used by the installer to perform additional prerequisite checks.
  • 설치가 완료된 화면 확인

설치 완료 화면

설치 상세버전은 아래 명령어로 확인합니다.

$ORACLE_HOME/OPatch/opatch lspatches

 

리스너 상태 확인은 아래 명령어로 확인합니다.

netstat -plnt | grep tns

 

모니터링 서비스가 5500 포트에서 제공되고 있는데 해당 서비스를 비활성화합니다.

Oracle SQL에서 DUAL  테이블은 단 하나의 행과 단 하나의 칼럼을 가진 가상의 테이블로서 DUAL 테이블은 데이터베이스에 저장되지 않고 오직 SELECT 문에서만 사용됩니다.

SQL> select dbms_xdb_config.gethttpsport() from dual;

DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
                          5500

SQL> exec dbms_xdb_config.sethttpsport(0);

PL/SQL procedure successfully completed.

SQL>  select dbms_xdb_config.gethttpsport() from dual;

DBMS_XDB_CONFIG.GETHTTPSPORT()
------------------------------
                             0

SQL> exit

 

리스너 컨트롤 옵션입니다. 문법과 옵션은 다음과 같습니다.

$lsnrctl [옵션]
  • start: 리스너를 시작합니다.
  • stop: 리스너를 중지합니다.
  • status: 리스너의 상태를 표시합니다.
  • config: 리스너의 구성을 표시합니다.
  • log: 리스너의 로그를 표시합니다.
  • trace: 리스너의 트레이스를 생성합니다.

database 시작은 sqlplus에서 "startup"을 입력합니다.

반대로 database 종료는 "shutdown"이며 옵션이 존재합니다.

$ shutdown [옵션]
  • normal: 모든 세션을 종료하기 전에 모든 트랜잭션을 완료할 수 있도록 시간을 줍니다.
  • immediate: 모든 세션을 즉시 종료합니다.
  • transactional: 모든 트랜잭션을 완료하기 전에 모든 새 세션을 차단합니다.
  • abort: 모든 세션을 강제로 종료합니다.

리스너와 DB엔진 start/stop 순서는 상관없습니다.

Oracle DB 설정 파라미터 값은 아래 파일에서 확인할 수 있습니다.

/etc/sysctl.d/99-sysctl.conf
/etc/security/limits.d/oracle-database-preinstall-19c.conf

 

이상으로 oracle 19c 설치과정을 알아보았습니다.

다음 글에서는 OPatch, Release Update 적용 방법을 알아보겠습니다.

반응형