본문 바로가기

DB/Oracle

[Oracle] 리눅스 cent OS 7 에 oracle 11g 설치

728x90

1. oracle 11g 리눅스 버전으로 다운로드

https://www.oracle.com/database/technologies/oracle-database-software-downloads.html

 

2. root 계정에 의존성 라이브러리 설치

 

root 계정 전환 명령어 : su -

 

계정 전환해주고 사진과 같이 순서대로 한줄 씩 입력.

붙여넣기 단축키가 안먹으니 마우스 우클릭 후 붙여넣기 선택하거나 Shift+Insert단축키

yum -y install compat-libstdc++-33.x86_64 binutils elfutils-libelf elfutils-libelf-devel
yum -y install glibc glibc-common glibc-devel glibc-headers gcc gcc-c++ libaio-devel
yum -y install libaio libgcc libstdc++ libstdc++ make sysstat unixODBC unixODBC-devel
yum -y install unzip
yum -y install compat-libstdc++-33.x86_64 binutils elfutils-libelf elfutils-libelf-devel  

되면 정상적으로 완료, Nothig to do는 이미 완료되어 있어서 아무것도 할게 없다는 뜻이라 무시하고 넘어가도됨

 

 

3. 파라미터 및 유저 리소스 설정

 

1) 파라미터 값 적용

 

vi /etc/sysct1.conf

 

 입력 후 엔터치고 단축키 i 누르면 입력할 수 있게 됨

 

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 1610612736 

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 39321
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128

fs.aio-max-nr = 1048576
fs.file-max = 6815744

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

 

내용 중 크기 변경을 원한다면 수정하고 삽입하기

그 다음 esc누르고 :wq! 명령어 입력 후 엔터

sysctl -p

2) 자원 사용 제한

vi /etc/security/limits.conf

 

입력 후 엔터치면 뭐라고 쭉 나와있는데 무시하고 단축키 i 누르고 맨 아래쪽으로 가서

oracle soft nproc 2048
oracle hard nproc 65536
oracle soft nofile 1024
oracle hard nofile 65536

  

해당 내용 삽입 후 esc :wq! 엔터

 

3) SELINUX설정  

vi /etc/selinux/config

 

입력 후 사진과 같이 뜨면 단축키 i 누르고 

SELINUX=enforcingSELINUX=disabled로 변경해주기

(호환성 문제 등의 이유로 비활성화(disabled) 하는 것이 필요할 수 있음  )

 

4. 유저 생성, 디렉토리 생성, 환경변수 설정

1) 유저 생성

 

groupadd dba (그룹에 dba 추가)
useradd -g dba oracle (dba그룹에 유저 oracle추가)

useradd -g : 그룹을 지정할 때 사용 (지정할 그룹은 미리 생성되어있어야함)

passwd oracle (유저 oracle에 passwd 설정)

 

 

2) 디렉토리 생성, 권한 부여 

mkdir -p /app/oracle 

(디렉토리 생성)

-p: 필요 시 상위 directory 생성

chown -R orcle:dba /app 

(app 디렉토리, 하위 모든 디렉토리 파일의 소유자를 dba로 변경)

-R : 지정한 파일의 하위파일까지 변경

chmod -R 775 /app

(  7 : 소유자 - 읽기, 쓰기, 실행   7 : 그룹 - 읽기, 쓰기, 실행  5 : 다른 사용자 - 읽기, 실행  )

-R: 지정한 모드를 directory 내의 모든 파일과 directory 권한 수정

 

3) 환경변수 설정

su - oracle 계정으로 전환 후 vi .bash_profile 명령어로 환경변수 설정해주기

export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1 
export ORACLE_SID=orcl 
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8  
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib 
export PATH=$PATH:$ORACLE_HOME/bin 

(/app/oracle 경로 설정)

(oracle 설치 디렉토리 경로 설정)

(데이터베이스 SID 설정)

(문자 인코딩)

(라이브러리 경로 설정)

(바이너리 경로 설정)

 

입력 후 esc :wq!로 저장하고 나오기

환경변수 적용

source ./.bash_profile

 

 

5. Oracle 설치

 

Xshell에서 새로운 세션을 연 후 오라클 계정으로 로그인

 

Xftp4 전송 프로그램 

 

ctrl alt f 눌러서 새 파일 전송창 열기

 

오라클 설치파일 전송 

왼쪽에서 오른쪽으로 드래그 앤 드롭하고 완료되면

 

오라클 계정에서 압축 된 폴더 압축 해제해주기 : unzip 오라클 압축 폴더명

 

 

압축해제 한 뒤 su - 명령어로 root 계정에서 xhost + IP (IP에 x서버 접근할 수 있는 권한 부여)  

IP자리에는 본인 IP입력 !!!!!!!!!

 

su - oracle 계정으로 전환 후 cd database 디렉토리로 이동.

./runInstaller 파일 실행 

 

위처럼 오류 발생 시 su - 로 다시 root 계정 전환 후 

 

yum install xorg*
export DISPLAY=localhost:10.0
su - oracle
export DISPLAY=localhost:10.0
cd database 
./runInstaller

 

 

오류 날 경우 리눅스 모두 재부팅

 

재부팅 후 

su - oracle
export DISPLAY=localhost:10.0
cd database 
./runInstaller 

 

이렇게 뜬다면 성공! 프로그램이 하나 뜰거임 그 전까지 대기 

 

위처럼 보안 문제에 대한 알림을 받을 이메일,

보안 업데이트 수신 여부

 

-> 아무것도 적지 않고, 체크 해제 후 next

 

 

  이메일 주소를 입력하지 않았으므로 보안 문제에 대한 알림을 수신할 수 없다는 경고창

 

-> 무시하고 yes 

 

 

  Create and configure a database : 데이터 베이스 엔진 설치 후 데이터 베이스도 생성

  Install database software only : 데이터 베이스 엔진만 설치 

  Upgrade an existing database : 이전 데이터 베이스 업그레이드 

 

두번째 선택 후 추후에 dbca로 db 생성

 

 

  Single instance database installation : 단일 서버에서 실행되는 데이터 베이스

  Real Application Clusters database installation : 여러 노드에서 실행되는 공유 데이터베이스

                                                                             데이터베이스 인스턴스는 클러스터의 여러 노드에서 생성되고 구성됨 

 

단일 서버로 선택하고 next

 

언어 선택

 

 

Enterprise Edition : 확장성, 성능, 높은 가용성 및 운영하는데 필요한 보안 기능을 갖춘 자체 관리형 데이터 베이스   

Standard Edition : 업무 그룹, 부서 및 중소 규모 비즈니스가 비용을 절감할 수 있는 솔루션에 이상적, RAC 지원 O

Standard Edition One : Standart Edition과 비슷하나, RAC 지원 X

 

RAC(Real Application Cluster)이란? 여러개의 instance가 하나의 database를 엑세스 할 수 있음

 

원하는 Edition 선택 후 Next

 

 

※ Oracle Base : 오라클 엔진이 설치되는 Oracle 홈 디렉토리 위치 (모든 오라클 제품의 기본 위치)

  Software Location : 오라클 설치 디렉토리 제품 바이너리를 복사할 위치를 제공

 

오라클 엔진 설치  위치 == 운영 체제 환경파일(.profile, .bash_profile 등) 변수

 

  installer는 각 제품의 인벤토리 데이터를 포함할 하위 direectory를 자동으로 설정

 

※  운영체제 인증을 사용하여 데이터베이스를 만드려면 SYSDBA와 SYSOPER 권한이 필요하다.

 

권한부여

  SYSDBA -> OSDBA

  SYSOPER -> OSOPER  

 

 

패치나 운영 체제 설정 확인 후 Ignore All 체크 후 Next

 

요약 정보 확인 후 finish

 

설치 중에 발생되는 오류

해당 오류창이 나타나면 창을 닫지않고 Xshell의 새로운 창을 열어서 oracle계정으로 로그인

-> 오류 창의  cd /app/oracle/product/11.2.0/dbhome_1/ctx/lib 으로 이동  

-> 이동 후 vi ins_ctx.mk 파일 열기

 

파일 내용 중

ctxhx: $(CTXHXOBJ)
           -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)

-> -static 추가하여 정적 링크 수행

 

  정적 링크 : 실행파일에 필요한 라이브러리를 포함하여 컴파일

 

수정했다면 esc :wq!로 저장하고 나와서 아까 오류창의 Retry 눌러서 재진행 

 

 

두번째 오류

마찬가지로 파일 위치 찾고, 파일 열어서 아래와 같이 수정

 

-lnnz11(엘엔엔즤 숫자11) : 오라클 클라이언트와 서버 간의 통신 및 인증

              데이터 암호화, 네트워크 연결관리 등과 같은 다양한 기능제공 

 

 

 

위와 같은 창이 뜬다면 창 닫지 말고 cmd창으로 넘어와서 root 계정으로 전환 후 아래와 같이 해결

 

/app/oralnventory/orainstRoot.sh
/app/oracle/product/11.2.0/dbhome_1/root.sh

하고 다시 돌아가서 OK누르면 

 

oracle 설치 완료!

 

6. 리스너 구성

리스너란? 네크워크를 이용하여 클라이언트에서 오라클 서버로 연결하기 위한 오라클 네트워크 관리자

 

netca

 

오류 1 > netca를 찾지 못하는 경우 : export PATH=$ORACLE_HOME/bin:$PATH 

오류 2 > DISPLAY 환경 변수 설정: export DISPLAY=localhost:10.0

netca

 

 

※ Lister configuration : 리스너 구성

  Naming Methods configuration : 이름 지정 방법 구성

  Local Net Service Name configuration : 로컬 넷 서비스 이름 구성

  Directory Usage Configuration : 디렉토리 사용 구성

 

 

> Add > 

 

>Listener 이름 설정 후 >

 

※ 프로토콜 : TCPS(TCP의 보안 버전, 데이터의 기밀성과 무결성을보장하는데 사용되는 프로토콜)

 

Next>

 

>  오라클 기본 포트넘: 1521 >

 

> 다른 리스너 구성여부 선택 : NO > 

Next > finish

리스너 구성 완료

 

 

7. Database 생성

 

오라클 계정에서 $ dbca

 

※ 데이터베이스 생성 도구 : 삭제, 템플릿 관리 등 다양한 작업지원

 

설치 프로그램 인코딩 오류 (문자 깨짐 현상) 시 프로그램 종료 후   

oracle계정에서 $ export LANG=C

                         $ export LC_ALL=C

                         입력 후 다시

                         $ dbca

 

 

※ 블록 크기 같은속성 변경이 필요할 시 테이터파일이 없는 템플릿 사용 그 외 데이터 파일이 미리 생성된 템플릿 선택 

 

  General Purpose or Teansation Processing : 범용 또는 트랜잭션 처리 (일반적인 요구사항에 알맞게 구성)

  Custom Database : 사용자 정의 데이터베이스

  Data Warehouse : 데이터 분석에 필요한 구성 제공

 

(oracle DB는 전역 데이터베이스 이름으로 고유하게 식별됨)

 

ORACLE_SID == Global Database name == SID 

동일하게 입력해주기

 

 

관리 옵션 : default > 

 

> 비밀번호가 단순할 경우 복잡성 정책을 충족하지 못한다는 경고 메세지 무시하고 Yes >

 

 

  File System : 오라클이 OS를 통해 디스크에 접근

                      편의성이 높은 대신 OS에 대한 의존도가 높아 OS성능 영향을 크게 받음

※ Raw Device : 오라클이 직접 디스크에 접근

                      디스크에서 직접 I/O -> 성능, 속도 우수함 단, 관리 방식이 까다로움

  ASM(Automatic Storage Management) : 위 두가지의 장점을 모아 효율적인 디스크 관리

           Grid System에 적합 

 

 > 단일 서버에서 테이터베이스 파일을 관리 하는데 효율적인 File System 선택

 

 

데이터베이스 복구 영역 지정 : default > 

 

 

데이터베이스 샘플 스키마 추가 여부 : 사용자의 학습을 돕기 위한 교육자료

                                                             실제 데이터를 가진 샘플 스키마 제공 (테이블스페이스 생성, 약130MB)

 

 

  메모리 설정 

  SGA + PGA에 일정메모리 할당

  40% 정도로 자동 설정

  Use Automatic Memory Management : 유동적으로 SGA, PGA 증가 or 감소

                                                              지정한 최대값 이상으로 증가되지 않음

 

Next전에 Sizing탭으로 이동>

 

Block : 최소 저장 단위 (데이터 베이스 생성 후 변경 불가)

Proccess > 데이터베이스에 동시에 연결할 수 있는 프로세스의 최대 수 지정(사용자 프로세스 + 오라클 백그라운드 프로세)

 

Character Sets설정으로 이동>

 

여러 언어 그룹 저장이 가능한  Use Unicode 선택 > 위와 같이 Korea언어 설정해주기

 

Connection Mode로 이동>

 

※ Dedicated Server Mode : 각 클라이언트 접속에 대한 전용 리소스를 할당

                                        

  Shared Server Mode: 모든 클라이언트 접속에 대해 할당된 리소스의 공유 풀을 사용

 

Next 이후부턴 요약정보 확인 후 설치.

완료되면 finish!

이렇게 뜬다면 정상적으로 설치 완료!

 

8. Database 구동 상태 확인

oracle 계정에서

sqlplus / as sysdba 

※ 아직 등록된 사용자가 없기 때문에 / as sysdba로 시스템계정 로그인을 해야함

 

※ sqlplus를 찾지 못하는 경우 환경변수 설정에 문제가 있을 가능성이 높음 vi .bash_profile 확인하기 

 

startup

 

오류)

ORA-01081 : 이미 시작되었기에 발생하는 오류 -> 무시하고  SELECT

 

※ SQL >  여기서는 Backspace가 안먹음 : ctrl 누르고 Backspace

SELECT name FROM v$database;

(데이터베이스 이름 조회)

 

SELECT status FROM v$instance;

(instance 상태 확인)

 

 

exit

오라클 계정으로 전환 후

 

lsnrctl status

(리스너 수동 상태 확인)

 

ps -ef | grep ora_

(프로세스 구동상태 확인)

 

 

끝~~~~~

'DB > Oracle' 카테고리의 다른 글

[Oracle] 오라클 DB 삭제 deinstall  (0) 2024.03.12
[Oracle] backup & recovery 백업 및 복구  (0) 2024.03.11