[Oracle DB(오라클)/ Server& Client 설치]

SeungWoo·2023년 12월 26일

[ORACLE(오라클)/#]

목록 보기
1/7
post-thumbnail
  • Databases Server 설치
  • Client 설치
  • Listener 구성

Manual Setup : 오라클 데이터베이스 설치


시스템 설정

1 Set Kernel Parameters

<오라클내에 권장 커널 >
[root@localhost ~] vi/etc/sysctl.conf
<생략...>

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2251799813685247
kernel.shmmax = 4398046511104
#kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144 
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500
vm.hugetlb_shm_group = 1001

<적용>
[root@localhost ~] /sbin/sysctl -p (to change the current kernel parameters)

2 pam.d/login

[root@localhost ~] vim /etc/pam.d/login
session    required     /lib/security/pam_limits.so

3 selinux/config : 보안

[root@localhost ~] vim /etc/selinux/config
SELINUX=enforcing을 SELINUX=permissive/disable로 수정

4 security/limits.conf

[root@localhost ~] vim /etc/security/limits.conf
<생략...>

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
  • 설명
    nproc : max number of processes
    nofile : max number of open descriptors
    stack : max stack size(KB)
    memlock : max locled-in-memory address space(KB)

파일다운

Group 생성

[root@localhost ~]# groupadd oinstall
[root@localhost ~]# groupadd dba
[root@localhost ~]# tail -3 /etc/group

User 생성

[root@localhost ~] useradd -g oinstall -G dba oracle
[root@localhost ~] tail -3 /etc/passwd

설명

  • g : the group name or number of the user's initial login group( 그룹 )
  • G : A list of supplementary group which the user is also a member of( 보조그룹 )

Oracle User 패스워드 생성

[root@localhost ~] passwd oracle

ORACLE_HOME 및 Inventory DIrectory 생성

[root@localhost ~]# mkdir -p /oracle/product/19.3/db_1
[root@localhost ~]# mkdir -p /oracle/oraInventory
[root@localhost ~]# chown -R oracle.oinstall/oracle

설명

  • p : no error if existing, make parent directories as needed ( 부모 디렉터리가 없다면 만들어 줘라)
  • R : 재귀(recursive) 하위 디렉토리를 몽땅 권한을 부여함
  • ifconfig 명령어로 연결이 안된다면 centOS에서 connection이 되어있는지 확인하고
  • ping을 날려서 확인


오라클 설치 파일 ORACLE_HOME으로 전송
:로컬 환경에서 다운 받은 파일을 가상환경으로 넘겨 주기 위해 scp 명령어 실행

<단일 파일을 원격지로 전송할때>
scp [옵션] [파일명] [원격지_id]@[원격지_ip]:[받는 위치]

<복수 파일을 원격지로 전송할때>
scp [옵션] [파일명 1] [파일명 2] [원격지_id]@[원격지_ip]:[받는 위치]
<CMD에 저장해둔 리눈스버전 오라클파일>
C:\Users\SBA\Desktop\APP\...\...>scp LINUX.X64_193000_db_home.zip oracle@192.168.56.114:/home/oracle

home/oracle -> /oracle로 옮기기

<다운 파일 원하는 장소에서 해제 하기>
/oracle/product/19.3/db_1 로 다운받은 파일옮기기
[root@localhost ~]# mv LINUX.X64_193000_db_home.zip /oracle/product/19.3/db_1
[root@localhost ~]# cd oracle/procduct/19.3/db_1
[root@localhost ~]# su - oracle
[root@localhost ~]# unzip LINUX.X64_193000_db_home.zip

설명
ORACLE_BASE : 오라클에 관한 여러 가지 파일을 배치하는 거점이 될 디렉토리
ORACLE_HOME : 오라클 소프트웨어를 설치할 디렉토리


Oracle 환경변수 설정

[root@localhost ~]# vim .bash_profile
<생략...>
umask 022

export ORACLE_SID=dev1
export ORACLE_BASE=/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3/db_1
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin:/usr/local/bin
export TNS_ADMIN=$ORACLE_HOME/network/admin
export TEMP=/tmp
export TMPDIR=/tmp

## NLS_LANG
export NLS_LANG=American_America.UTF8

##CLASSPATH must include the following JRE locations:
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=$CLASSPATH:$ORACLE_HOME/network/jlib

# ETC Env
echo "[ORACLE_SID = $ORACLE_SID ]"

<환경변수 설정값 적용>
[oracle@localhost ~]$ . .bash_profile 
  • Xming, PuTTy 다운로드
구글에 검색 후
xming 설치, PuTTy


DaTaBases Engine 설치

<>

PuTTy 설정

host Name 현재 연결할 가상 환경 ip 입력
(me 192.168.56.114)


리눅스 환경의 ssh키 인증
호스트네임(ip주소)입력
login as: oracle

<xclock 명령어를 사용하기 위해 설치>
: 현재 oracle에 sudo 권한이없기 때문에
root로 접근해서 설치
[root@localhost ~]# yum install xorg-x11-apps

<실행을 위해 oracle로 다시 접속>
[oracle@localhost ~]$ xclock
: 시계 뜨면 설치 및 실행 성공

Oracle Databases 설정

<ORACLE 설정>
[oracle@localhost db_1]$ cd $ORACLE_HOME
[oracle@localhost db_1]$ ./runInstaller




  • Oracle base, Oracle Inventory 위치를 잘 잡아줘야 읽어드릴때 오류가 없다.




  • 아직 설치가 안된 부분이 있다는 뜻
  • package: 이름명에서 이름명 부분을 찾아서
  • 가상환경(CentOS)에서 설치후, 다시 진입한다.

  • install 버튼으로 설치
  • 완료후, PuTTY에서
[oracle@localhost db_1]$ cd bin
[oracle@localhost bin]$ ./dbca

<CentOS환경에서 확인>
[oracle@localhost ~]$ sqlplus / as sysdba

>>
SQL*Plus: Release 19.0.0.0.0 - Production on Tue Dec 26 16:14:35 2023
Version 19.3.0.0.0

Copyright (c) 1982, 2019, Oracle.  All rights reserved.

Connected to:
Oracle Database 19c Standard Edition 2 Release 19.0.0.0.0 - Production
Version 19.3.0.0.0

<사용  유저 정보>
SQL> show user
USER is "SYS"

오라클 리스너(LISTENER)구성

<PuTTY>
[oracle@localhost db_1]$ cd $ORACLE_HOME
[oracle@localhost db_1]$ netca






<리스너 설정 확인>
[oracle@localhost bin]$ lsnrctl status
<확인>
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 26-DEC-2023 16:54:24

Copyright (c) 1991, 2019, Oracle.  All rights reserved.

Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias                     LISTENER
Version                   TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date                26-DEC-2023 16:50:07
Uptime                    0 days 0 hr. 4 min. 17 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Parameter File   /oracle/product/19.3/db_1/network/admin/listener.ora
Listener Log File         /oracle/diag/tnslsnr/localhost/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost)(PORT=1521)))
  (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "dev1" has 1 instance(s).
  Instance "dev1", status READY, has 1 handler(s) for this service...
Service "dev1XDB" has 1 instance(s).
  Instance "dev1", status READY, has 1 handler(s) for this service...
The command completed successfully
profile
This is my study archive

0개의 댓글