■ Oracle Linux 설치

https://yum.oracle.com/oracle-linux-downloads.html

 

Oracle Linux Downloads

Oracle Linux Downloads Since 2006, Oracle Linux has been completely free to download and use. Free source code, binaries, and updates. Freely redistributable. Free for production use. Oracle Linux downloads are available in several forms:

yum.oracle.com

oracle linux download
7.9 OracleLinux-R7-U9-Server-x86_64-dvd.iso

Oracle VM VirtualBox > 도구 > 새로만들기

기본메모리 : 2GB
CPU : 2개
디스크 : 50GB

설정
저장소 : ISO 연결
네트워크 : 어댑터 2 활성화 : 호스트 전용 어댑터

시작 (centosOS 설치 흐름 동일)
Install Oracle Linux 7.9
English

SOFTWARE SELECTION
- Server with GUI
- Decelopment Tools

INSTALLATION DESTINATION
- 디스크 다시 체크

NETWORK & HOSTNAME
2개 회선 각각 ON
Configure -  부팅 시 자동 연결 체크
2번 회선 Host Name : oracle

계정
user1 / 1234

설치 완료 > root 접속


# ip확인
Open Terminal > ifconfig
...
192.168.56.102





<< putty >>

# 호스트명 확인
[접속계정@호스트명 현재디렉터리]

[root@oracle ~]# hostname
oracle

[root@oracle ~]# hostnamectl
   Static hostname: oracle
         Icon name: computer-vm
           Chassis: vm
        Machine ID: af1f82c5d9ce314d87190c48507e19e0
           Boot ID: b8504319b0cb4b6bae8d0394ebd935e5
    Virtualization: kvm
  Operating System: Oracle Linux Server 7.9
       CPE OS Name: cpe:/o:oracle:linux:7:9:server
            Kernel: Linux 5.4.17-2102.201.3.el7uek.x86_64
      Architecture: x86-64


# ip확인
[root@oracle ~]# ifconfig
... 192.168.56.102


# host 추가
[root@oracle ~]# vi /etc/hosts
...
192.168.56.102 oracle
>>> 내용 추가 후 저장

[root@oracle ~]# service network restart
Restarting network (via systemctl):                        [  OK  ]
>> 적용


# 커널 파라미터 설정
[root@oracle ~]#  vi /etc/sysctl.conf
...
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
# semaphores: semmsl, semmns, semopm, semmni
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
>>> 내용 추가 후 저장

[root@oracle ~]# /sbin/sysctl -p
>>> 적용


# oracle 유저의 리소스 제한 설정
[root@oracle ~]# vi /etc/security/limits.conf
...
oracle              soft    nproc   2047
oracle              hard    nproc   16384
oracle              soft    nofile  4096
oracle              hard    nofile  65536
oracle              soft    stack   10240
>>> 내용 추가 후 저장

- soft : 기본 한도
- hard : 최대 한도
- nproc : 최대 프로세스 생성 개수
- nofile : 최대 오픈 파일 개수


# 세션 무한작업 환경 : ssh 외 콘솔 접속 가능
[root@oracle ~]# vi /etc/pam.d/login
...
session    required     pam_limits.so
>>> 내용 추가 후 저장


# 오라클 설치를 위한 기본 패키지 설치 : 
[root@oracle ~]#    ---> 일괄 붙여넣기 > 자동 진행
yum install binutils -y
yum install compat-libstdc++-33 -y
yum install compat-libstdc++-33.i686 -y
yum install gcc -y
yum install gcc-c++ -y
yum install glibc -y
yum install glibc.i686 -y
yum install glibc-devel -y
yum install glibc-devel.i686 -y
yum install libgcc -y
yum install libgcc.i686 -y
yum install libstdc++ -y
yum install libstdc++.i686 -y
yum install libstdc++-devel -y
yum install libstdc++-devel.i686 -y
yum install libaio -y
yum install libaio.i686 -y
yum install libaio-devel -y
yum install libaio-devel.i686 -y
yum install libXext -y
yum install libXext.i686 -y
yum install libXtst -y
yum install libXtst.i686 -y
yum install libX11 -y
yum install libX11.i686 -y
yum install libXau -y
yum install libXau.i686 -y
yum install libxcb -y
yum install libxcb.i686 -y
yum install libXi -y
yum install libXi.i686 -y
yum install make -y
yum install sysstat -y
yum install unixODBC -y
yum install unixODBC-devel -y
yum install zlib-devel –y
yum install ksh -y
yum install elfutils-libelf-devel –y
...
선택나오면 y
...
Complete!


# 보안커널 수정 : 보안상 문제로 설치거부관련
[root@oracle ~]# vi /etc/selinux/config
...
SELINUX=enforcing

SELINUX=permissive
>>> 내용 수정 후 저장

- enforcing : 강제모드
- permissive : 허용하 로그를 남긴다.
- disabled : 비활성화


# 설치를 위해 방화벽을 해제
[root@oracle ~]# systemctl status firewalld
...
Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled)
   Active: active (running)
>>> 상태확인 : 활성화

[root@oracle ~]# systemctl stop firewalld
>>> 중지

[root@oracle ~]# systemctl disable firewalld
>>> 비활성화

[root@oracle ~]# systemctl status firewalld
...
 Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
>>> 상태확인 : 비활성화


# 그룹생성
[root@oracle ~]# groupadd oinstall
[root@oracle ~]# groupadd dba
[root@oracle ~]# groupadd oper

[root@oracle ~]# tail -3 /etc/group
oinstall:x:1001:
dba:x:1002:
oper:x:1003:


# 유저생성
[root@oracle ~]# useradd -g oinstall -G dba,oper oracle

[root@oracle ~]# tail -1 /etc/passwd
oracle:x:1001:1001::/home/oracle:/bin/bash


# 비번설정
[root@oracle ~]# passwd oracle
1234


# 오라클 설치할 디렉터리 생성
[root@oracle ~]# mkdir -p /u01/app/oracle/product/11.2.0.4/db_1

[oracle@oracle database]$ ls -dl /u01
drwxr-xr-x . 3 root root 17 Dec  6 23:45 /u01


# 디렉터리 소유자:그룹 변경 (하위 데이터 포함)
[root@oracle ~]# chown -R oracle:oinstall /u01

# 디렉터리 권한 변경 (하위 데이터 포함)
[root@oracle ~]# chmod -R 775 /u01

[root@oracle ~]# ls -dl /u01
drwxrwxr-x. 3 oracle oinstall 17 Dec  6 23:45 /u01


# root -> oracle 계정 변경 후 작업
[root@oracle ~]# su - oracle
[oracle@oracle ~]$


# 환경변수 설정
[oracle@oracle ~]$ vi .bash_profile
export TMP=/tmp
export ORACLE_HOSTNAME=oracle
export ORACLE_UNQNAME=ora11g    # DB명(임의)
export ORACLE_BASE=/u01/app/oracle    
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/db_1
export ORACLE_SID=ora11g    # 인스턴스명
PATH=/usr/sbin:$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
>>> 내용 추가 후 저장

[oracle@oracle ~]$ source .bash_profile
>>> 적용

[oracle@oracle ~]$ echo $ORACLE_BASE
/u01/app/oracle
[oracle@oracle ~]$ echo $ORACLE_HOME
/u01/app/oracle/product/11.2.0.4/db_1
>>> 확인



<< FTP >>

192.168.56.102 : 22 oracle 접속

p13390677_112040_LINUX_1of7 .zip
p13390677_112040_LINUX_2of7.zip
>>> 윈도우 -> 오라클로 파일 복



<< putty >>

# ZIP 압축 해제
[oracle@oracle ~]$ unzip p13390677_112040_LINUX_1of7.zip
[oracle@oracle ~]$ unzip p13390677_112040_LINUX_2of7.zip

[oracle@oracle ~]$ ls
database  p13390677_112040_LINUX_1of7.zip  p13390677_112040_LINUX_2of7.zip



<< MobaXterm >>

MobaXterm_installer_23.3.msi 설치
- putty+GUI기능

session > ssh
192.168.56.102
oracle


# 원격접속 정보 확인
[oracle@oracle ~]$ xauth
Using authority file /home/oracle/.Xauthority

xauth> info
Authority file:       /home/oracle/.Xauthority
File new:             no
File locked:          no
Number of entries:    1
Changes honored:      yes
Changes made:         no
Current input:        (stdin):1

xauth> exit


# 오라클 설치
[oracle@oracle ~]$ cd database

[oracle@oracle database]$ ls -l runInstaller
-rwxr-xr-x. 1 oracle oinstall 10305 Aug 28  2013 runInstaller
>>> 실행권한 확인

[oracle@oracle database]$ ./runInstaller
...

오라클 인증있을 경우 사용

서포트 스킵
소프트웨어만 설치(2)
싱글 인스턴스 db 설치(1)
English
엔터프라이즈 에디션

미리 설정을 했기 때문에 자동 셋팅되어있다

 

미리 설정을 했기 때문에 자동 셋팅되어있다

 

미리 설정을 했기 때문에 자동 셋팅되어있다

 

Ignore All 체크

yes - Install

여기서 멈춰서 오류해결하자

<< putty >>

# 설치로그파일 확인
[oracle@oracle database]$ vi /u01/app/oraInventory/logs/installActions2023-12-07_12-51-35AM.log
>>> /u01/app/oracle/product/11.2.0.4/db_1/sysman/lib/ins_emagent.mk 수정해라


# ins_emagent.mk 오류 수정
[oracle@oracle database]$ vi /u01/app/oracle/product/11.2.0.4/db_1/sysman/lib/ins_emagent.mk

/emdctl    ---> 검색(176행)

$(SYSMANBIN)emdctl:
        $(MK_EMAGENT_NMECTL)

175 $(SYSMANBIN)emdctl:
176         $(MK_EMAGENT_NMECTL) -lnnz11
>>> 수정 후 저장


# Retry > 설치 다시 진행
... 

여기서 멈춰서 내용 순서대로 하자

# 화면의 내용대로 설정하자
1.  putty

2. root 계정
[oracle@oracle database]$ su -

3. 스크립트 순서대로 복사 > 실행
[root@oracle ~]# /u01/app/oraInventory/orainstRoot.sh
[root@oracle ~]#  /u01/app/oracle/product/11.2.0.4/db_1/root.sh
...
Enter the full pathname of the local bin directory: [/usr/local/bin]: 엔터

3. OK

...
설치완료



<< MobaXterm >>

# NET Configuration Assistant 리스너 구성
- 네트워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한 오라클 네트워크 관리자

[oracle@oracle database]$ netca

리스너 구성
이름 디폴트
tcp
성공하면 위 화면에서 피니시


# 리스너 상태 확인
[oracle@oracle database]$ lsnrctl status
...
Alias                     LISTENER
...


# DB생성  Database Configuration Assistant
[oracle@oracle database]$ dbca

Create a DataBase
General Purpose or Transaction Processing : Yes

Global Database Name & SID : ora11g
>>> ORACLE_SID=ora11g    # 환경변수에 설정한 값

Configure Enterprose  Manager (기본값)
Enable automatic maintenance tasks 체크 (기본값)

전체 유저 비번동일 oracle 

Storage Type : File System (기본값)
Use Database File Locations from Template (기본값)

Specify Fast Recovery Area (기본값)

Sample Schemas 체크

Memory - Typical (기본값)
Characher Sets - Use Unicode
Connection Mode - dedicated Server Mode (기본값)

요약정보 확인 후 Finish



<< putty >>

# 오라클 프로세스 확인
[oracle@oracle ~]$ ps -ef | grep oracle

- ps : 리눅스에서 현재 실행중인 프로세스 목록을 보여주는 명령어
    -e : 숨겨진 프로세스 포함 모두 출력
    -f : 풀포맷으로 리스트 출력


# SQL접속
[oracle@oracle database]$ sqlplus / as sysdba

SQL> !
>>> 나가기

 SQL> ! 명령어
>> ! + shell 명령어 그대로 사용가능

SQL> ! lsnrctl status



<< sqldeveloper >>

sys / oracle

# 원격접속 연결 : sys
sys / oracle
롤 : SYSDBA
호스트이름 : IP주소
포트 : 1521 (기본값)
SID :  ora11g


# 데이터베이스 정보
select * from v$database;


# 유저확인
select * from dba_users;
>>> 유저목록확인
hr    account_status : expired & locked

alter user hr IDENTIFIED by hr account unlock;
>>> hr 계정 잠금해제

select * from dba_users;
hr    account_status : open

hr / hr

# 원격접속 연결 : hr
hr / hr
호스트이름 : IP주소
포트 : 1521 (기본값)
SID :  ora11g


# 내 권한 확인
SELECT * FROM user_tab_privs;