Oracle TNSADMIN 설정 (tnsnames.ora / listener.ora)샘플 Client에서 Oracle 서버로 접속 시 자주 찾게 되는 기본 Oracle Network Config 기본 경로 $ORACLE_HOME/network/admin/tnsnames.ora $ORACLE_HOME/network/admin/listener.ora $ORACLE_HOME/network/admin/tnsnames.ora SID 이름 = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = hostname or IP)(PORT = 1521)) (CONNECT_DATA = (SERVER
= DEDICATED) (SID = SID 이름) ) ) $ORACLE_HOME/network/admin/listener.ora LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 호스트네임 or IP)(PORT = 1521)) (ADDRESS = (PROTOCOL = IPC)(KEY =
EXTPROC1521)) ) ) ADR_BASE_LISTENER=/home/database 현재 오라클 DB버전 목록들은 11g 11.2.0.4 지원종료 2020년 12월 31일 12c release 1 12.1.0.1 지원종료 2016년 8월 31일 12c release 2 12.2.0.1 지원종료 2022년 3월 31일 18c 18.5 출시일 2018.2월 현재 상용화 버전 19c 19.3 출시일 2019.2월 현재 상용화 버전 21c 클라이언트만 발표되었기때문에 서버는 없습니다. Oracle 사에서 지원하는 버전은 12c 12.2버전, 18.5c, 19.3c 입니다. 그렇기 때문에 현재 최신버전인 19.3c 를 설치해봅시다. 설치 환경 CentOS 7(yum update 진행된 상태), CentOS 7.9 release [root@JH ~]# cat /etc/redhat-release APM 소스설치 환경 버전 만약 OS 디스크가 용량이 없다면 용량을 대략적으로 30기가정도 있어야합니다. 용량을 파악해주세요 제가 진행하는 서버는 가상서버로 OS 디스크가 25기가이므로 추가디스크들을 붙여서 마운트 했습니다. 일단 스왑디스크, /home 마운트, 오라클 설치할 폴더 /opt, APM설치파일들저장소 /usr/local/src 에 마운트 했습니다. [root@JH opt]# df
-Th 가상서버에서 추가로 붙인 디스크를 스왑디스크로 사용하는 방법입니다. [root@JH ~]# free -m # fdisk /dev/vdb Command (m for help): n n입력 p primary (0 primary, 0 extended, 4 free) Select (default p):
p p 선택 t 입력 L 입력 (리스트 보기) 82 입력 (스왑 영역) w 입력 (저장하고 나가기) [root@JH ~]# mkswap /dev/vdb1 여기서 UUID 값 확인합니다. [root@JH ~]# blkid | grep /dev/vdb1 >>
/etc/fstab ==================== #/dev/vdb1 ==================== [root@JH ~]# swapon -a 오라클 설치하기전에 앞서 서버에 설정해야하는 부분이 있습니다. # vi /etc/hostname 해당파일에 서버의 호스트 이름을 정해줍니다. 저는 JH로 했습니다. ==================== JH # ifconfig # curl ifconfig.io 두개 IP가 동일하면 동일한 IP만 넣고 다르다면 둘다 /etc/hosts에 넣어주시면 됩니다. ==================== # vi /etc/hosts 위에 파일에 호스트네임명을 추가해줍니다. JH ==================== 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 JH ==================== 오라클 계정 만들어주기 # useradd -g oinstall -G dba oracle # groupadd -g 54321 oinstall # passwd oracle # ll /etc/hosts 해당파일이 644 권한으로 있어야합니다. 추후에 설치할때 Oracle 계정에서 해당파일을 읽기를 할 수 있어야합니다. 오라클은 데스크탑그래픽환경에서 설치를 해야하며, 그러므로 XWindows를 설치를 해야합니다. # yum -y groups install “GNOME Desktop” “X Window System” ############## 만약 reboot 시 GUI로 띄우고 싶다면 다음 실행#################### 그렇지만 이렇게 하면 리부팅을 하게된다면 GUI로 부팅되기때문에 추천드리지는 않습니다. ################################################################## 필요 패키지 및 설치 환경 설치 # yum install -y binutils compat-libcap1 gcc gcc-c++ glibc glibc glibc-devel glibc-devel ksh compat-libstdc++-33 libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libXi libXi libXtst libXtst make sysstat xorg-x11-apps unzip zip xterm smartmontools net-tools vim tigervnc-server 설정파일 복사합니다. 설정파일 수정합니다. ==================== [Unit] [Service] # Clean any existing files in /tmp/.X11-unix environment [Install] ==================== # systemctl daemon-reload # vncserver You will require a password to access your desktops. Password: New ‘JH:1 (root)’ desktop is JH:1 Creating default startup script /root/.vnc/xstartup VNC 접속을 위한 방화벽 설정합니다. # vi /etc/sysconfig/iptables ==================== *filter ==================== # systemctl restart iptables VNC 리스트 확인합니다. [root@JH ~]# vncserver -list TigerVNC server sessions: X DISPLAY # PROCESS ID Oracle 설정값 서버에 설정합니다. # vi /etc/sysctl.conf ==================== fs.aio-max-nr = 1048576 kernel.sem = 250 32000 100 128 net.core.rmem_default = 262144 net.ipv4.conf.all.rp_filter = 2 ==================== 커널 변경값 적용 및 확인합니다. # sysctl -p # mkdir /etc/limit.d # vi /etc/limit.d/oracle-database-preinstall-19c.conf ==================== # oracle-database-preinstall-19c setting for nofile soft limit is 1024 #
oracle-database-preinstall-19c setting for nofile hard limit is 65536 # oracle-database-preinstall-19c setting for nproc soft limit is 16384 # oracle-database-preinstall-19c setting for nproc hard limit is 16384 # oracle-database-preinstall-19c setting for stack soft limit is 10240KB # oracle-database-preinstall-19c setting for stack hard limit is 32768KB # oracle-database-preinstall-19c setting for memlock hard limit is maximum of 128GB on x86_64 or 3GB on x86 OR 90 % of RAM # oracle-database-preinstall-19c setting for memlock soft limit is maximum of 128GB on x86_64 or 3GB on x86 OR 90% of RAM # oracle-database-preinstall-19c setting for data soft limit is ‘unlimited’ # oracle-database-preinstall-19c setting for data hard limit is ‘unlimited’ ==================== CentOS 8 버전일 경우, 아래 명령어를 이용하여 설정값 및 필요 패키지를 자동으로 설치,설정 할수 있습니다. # yum install -y dnf # dnf install -y https://yum.oracle.com/repo/OracleLinux/OL8/baseos/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm 시스템 환경변수설정, 오라클 베이스 및 인벤토리 디렉토리 생성 # vi /home/oracle/.bash_profile # vi ~/.bash_profile =============================== export ORACLE_BASE=/opt/oracle =============================== # source /etc/profile # source /home/oracle/.bash_profile # source ~/.bash_profile # mkdir -p /opt/oracle/product/19.3/dbhome_1 => 소프트웨어 디렉토리 생성합니다. (ORACLE_HOME) Oracle Database 다운 https://edelivery.oracle.com/osdc/faces/SoftwareDelivery 여기 사이트에서 오라클로그인해서 찾아서 다운로드하시면 됩니다. 저는 제 컴퓨터에 다운로드해서 서버 FTP로 업로드했습니다. # mv 파일받은거 이름 Oracle_Database_19.3.0.0.0_for_Linux_x86_64.zip 로 변경합니다. # cp -arp Oracle_Database_19.3.0.0.0_for_Linux_x86_64.zip /opt/oracle/product/19.3/dbhome_1/ # cd /opt/oracle/product/19.3/dbhome_1/ # unzip Oracle_Database_19.3.0.0.0_for_Linux_x86_64.zip # chown -R oracle:oinstall /opt/oracle/ # netstat -ntlp 현재 컴퓨터에서 VNC Viewer를 설치하여 실행하여 접속합니다. 5901포트로 VNC 접속합니다. # vncserver You will require a password to access your desktops. Password: New ‘JH:1 (root)’ desktop is JH:1 Creating default startup script /root/.vnc/xstartup 여기서 입력했던 비밀번호 입력합니다. 처음 실행하면 아래와 같은 화면이 나옵니다. 한국어를 누르고 한국인이고 기본 키보드를 쓰신다면 한국어 (101/104키 호환)을 선택하고 다음을 누릅니다. 위치 정보는 끄고 다음을 누릅니다 CentOS Linux 시작을 클릭합니다. 위에 화면에서 클릭하면 아래와 같은 화면이 나오는데 오른쪽마우스를 클릭하여 Open Terminal 을 클릭하여 실행합니다. [root@JH ~]# su oracle – 새로운 터미널을 띄운다 root 접속합니다. [root@JH ~]# xhost + [root@JH ~]# xterm xterm 명령어를 입력하면 새로운 터미널이 나타납니다. 새로운 xterm 터미널에서 입력합니다. [root@JH ~]# xclock 입력 xterm에서 아래와 같은 명령어를 입력합니다. [root@JH ~]# export DISPLAY=:1 [root@JH ~]# echo $DISPLAY :1 그리고 다시 oracle로 로그인되어있는 터미널에서 해당 명령어를 실행하면 똑같이 오류가 나옵니다.(아마 공백때문에 안되는 것입니다.) 그래서 export DISPLAY=:1 를 입력하고 ./runInstaller을 입력하면 실행됩니다. [oracle@JH dbhome_1]$ export DISPLAY=:1 [oracle@JH dbhome_1]$ ./runInstaller 절때로 해당 실행한 터미널은 건들지마세요 아래부터는 그림으로 설명하겠습니다. 설치 완료되었습니다. cui 터미널을 실행하여 접속합니다. 이후 VNC를 종료시킵니다. [root@JH ~]# netstat -ntlp [root@JH ~]# kill -9 23706 터미널 PID 강제종료 보안상 VNC로 누군가 접속할 수 있기때문에 종료를 해줍니다. 오라클 설치 후 접속방법 [root@JH ~]# su – oracle SQL*Plus: Release 19.0.0.0.0 – Production on Wed
Jun 16 18:47:36 2021 Copyright (c) 1982, 2019, Oracle. All rights reserved. Connected to: SQL> 오라클 인스턴스, 오라클 리스너 실행 및 재시작 [root@JH ~]# su – oracle SQL> startup 오라클 인스턴스 실행시작 명령어 Total System Global Area 4999609728 bytes 오라클 인스턴스 시작전 데몬 상태 # netstat -ntlp Active Internet
connections (only servers) 오라클 인스턴스 시작 후 데몬 상태 # netstat -ntlp Active Internet connections (only servers) 오라클 리스너 실행 루트에서 oracle 계정으로 접속해야만 한다. (oracle database는 oracle이 소유자이기때문에 oracle로 로그인해야합니다.) [root@JH bin]# su oracle – [oracle@JH bin]$ lsnrctl stop # netstat -ntlp tcp6 0 0 :::1539 :::* LISTEN 3199/tnslsnr <– 오라클 리스너 실행데몬 tcp6 0 0 :::13777 :::* LISTEN 32240/ora_d000_ORCL <– 오라클 인스턴스 실행데몬 정상적으로 오라클리스너, 오라클 인스턴스가 실행되었습니다. P.S. 설치도중 에러 및 TIP 설치 중에 발생한 에러입니다. [INS-20802] Oracle Net Configuration Assistant failed. ifconfig # hostname JH # vi /etc/hosts ==================== ex) 로그로 설치 과정을 볼 수 있습니다. # tail -f /tmp/InstallActions2021-06-16_11-30-29AM/installActions2021-06-16_11-30-29AM.log 이상입니다. |