본문 바로가기
공부/Linux

[레드햇 계열] 오라클 11g R2 설치

by 리빈아빠 2016. 4. 1.
반응형

서론

오라클을 리눅스에 설치 해볼 일이 생겨서 설치를 해보았다. 나중에 또 설치 할일이 생기면 찾아 보면서 찾기 힘들 것 같아서 포스팅 해본다.

본론

요구사항 확인 및 사용자 생성

패키지 요구 사항 클릭

추가 소프트웨어 요구사항 클릭

 

위의 요구 사항들을 확인 한 뒤 관련 패키지들을 설치해 준다. 필자는 Linux6이라 아래가 필요함

 

binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)

On Oracle Linux 6, Red Hat Enterprise Linux 6, and Asianux Server 4:

  • unixODBC-2.2.14-11.el6 (x86_64) or later

  • unixODBC-2.2.14-11.el6.i686 or later

  • unixODBC-devel-2.2.14-11.el6 (x86_64) or later

  • unixODBC-devel-2.2.14-11.el6.i686 or later

오라클을 설치 하려면 사용자 계정이 따로 필요하다.

아래 처럼 그룹 만들고 oracle 유저를 만들면서 그룹 줘버림

#groupadd oinstall
#groupadd dba
#useradd -g oinstall -G dba oracle
#passwd oracle

 

커널 및 자원 제한 설정

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
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 = 1048576

위처럼 커널 파라미터 값을 오라클에서 권장한 값으로 바꾸어 주어야 한다. 아래 명령어를 쳐서 수정 한 뒤 확인을 해보면 아래와 같다

#vi /etc/sysctl.conf
위에 맞게 수정 한 뒤 :wq
#/sbin/sysctl -p

net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 536870912
kernel.shmall = 2097152
kernel.shmmni = 4096
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048576

 

여기까지 진행 후에 이제 oracle 유저로 접속하여 자원 제한 설정을 해 준다.

#vi /etc/security/limits.conf
아래 내용 추가 후 :wq
oracle  soft    nproc   2048
oracle  hard    nproc   65536
oracle  soft    nofile  1024
oracle  hard    nofile  65536
oracle  soft    stack   10240

다른 서버라면 호스트명 FQDN 으로 변경하기

로컬에 설치하는 것이 아닌 다른 서버에 설치 하기위해서는 FQDN의 형식의 호스트명이 필요하다고 한다. rebin.tistory.com 식으로 아이디, 주소명의 형태의 호스트명이어야 한다. 물론 자기 로컬에 설치할 때는 패스 해도 되는 부분이다.

설치할 해당 서버에 접근 하여 아래 그림들을 참고하여 수정 해준 뒤 dnsmasq를 리스타트 해주자.

 

 

#vi /etc/hosts 수정 후 :wq #vi service dnsmasq restart #host oracle.test.co.kr 해당 IP주소가 잘 나오면 성공

사용자 설정 및 설치 준비

오라클을 설치할 폴더의 권한을 주고 사용자 환경 변수를 수정 한다.

#mkdir -p /u01/app/oracle
#chown -R oracle:oinstall /u01/app/oracle
#chmod -R 775 /u01/app/oracle
 
#mkdir -p /u01/app/oraInventory
#chown -R oracle:oinstall /u01/app/oraInventory
#chmod -R 775 /u01/app/oraInventory
 
#mkdir -p /data/database/oracle
#chown -R oracle:oinstall /data/database/oracle
#chmod -R 775 /data/database/oracle

#vi /home/oracle/.bash_profile

아래의 내용 들을 추가 한다.

export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$PATH

다운로드 받은 압축파일을 받아 설치를 진행해 본다.

#mkdir -p /app/oracle
#su - oracle
$unzip linux.x64_11gR2_database_1of2.zip
$unzip linux.x64_11gR2_database_2of2.zip
$cd database/runInstaller

Check if the DISPLAY variable is set. 오류

오라클을 리눅스에 설치할 때에는 GUI환경에서 설치를 해야 한다. x-window 쪽의 오류로 아래 링크를 따라 들어가 조금만 설정 해주면 문제 없이 진행 된다. 그냥 export DISPAY=:0 하면 되는 것 같긴 함..

클릭

 

혹시나 링크가 추후에 깨질 수도 있어서 안의 내용을 아래에 퍼왔다.

root user로 변경한 후  xhost +를 실행

#xhost +

 access control disabled, clients can connect from any host ->>나와도 상관없음.

#xclock(화면에 UI로 아날로그 시계가 뜬다. 시계를 닫고)

#xterm(다른 화면으로 터미널이 뜬다. user는 root이다.)

#xclock (다시 시계가 뜨는지 확인후 시계를 닫는다.)

#echo $DISPLAY(display를 확인한다.)

:0

 

#su – oracle(오라클 계정으로 변경)

$xclock(시계가 뜨는지 확인한다.- 아마도 에러가 날것이다.)

Error: can’t open display

 

$export DISPLAY=:0(DISPLAY 값을 root계정의 DISPLAY 값과 동일하게 맞춰 준다.)

$xclock (다시 시계가 뜨는지확인)

설치과정

1. 인스톨 화면이 뜬다.

 

2. 아래 체크 풀고 다음

 

 

3. 오류창 뜨면 YES 누르고 진행

 

 

4. Create and configure a database 선택 후 다음

 

 

5.  Server Class 선택 후 다음

 

 

6. Single Instance.. 선택 후 다음

 

 

7. Advanced install 선택 후 다음

 

 

8. Korean 추가 한 뒤 다음

 

 

9. Enterprise Edition (4.29GB) 선택 후 다음

 

 

10. 기본 값 대로 놓고 다음

 

 

11. Group Name 을 oinstall 선택 후 다음

 

 

12. General Purpose / Transaction Processing 선택 후 다음

 

 

13. Global database name 과 Oracle Service Identifier (SID) 항목 입력 후 다음

 

 

14. 해당 탭은 기본으로 놓고 다음 탭 선택

 

 

15. 다국어 지원을 위해서 두번째 선택 후 다음 탭

 

 

16. 체크 후 다음 탭

 

 

17. 체크 후 다음

 

 

18. Use Database Control for database management 선택 후 아래 적지 않고 다음

 

 

19. 기본값 설정으로 놓고 다음

 

 

20. 기본값 설정으로 놓고 다음

 

 

21. 비밀번호 설정 부분인데 다 통일하게 하기 위해 아래에 기입하고 다음

 

 

22. 둘다 dba로 놓고 다음

 

 

23. 설치하기 직전 누락된 패키지나 설정에 대한 검사를 하는 부분이다. 높은 버전의 패키지가 깔려 있을 경우 실패로 나올 수도 있다. 위에서 모두 다 설치 해주었었으므로 ignore All 체크 후 다음을 누르면 된다.

혹시 pdksh 관련 패키지가 없다고 보이면 아래 링크에서 다운 받아 설치를 진행한다. 의존라이브러리 관련 메세지가 뜨는데 무시하고 설치 하기 위해 아래와 같이 설치를 한다.

 

pdksh-5.2.14-8.i386.rpm

$rpm -Uvh --nodeps pdksh-5.2.14-8.i386.rpm

 

24. 설치할 정보 목록 확인 후 완료

 

25. 설치가 완료되면 Database Configuration Assistant 라는 창이 뜨는데 여기서 비밀번호나 계정 락을 풀기 위해 사용 할 수 있다. 설정을 할 거면 클릭 후 아래와 같은 창에서 입력 뒤 확인을 누르면 된다.

 

 

26. root권한으로 sh 파일 실행하라고 나오는 창이다. 터미널 하나 띄워서 그대로 실행하면 된다.

 

 

실행 한 뒤 오케이를 누르면 아래와 같이 완료 창이 뜬다.

 

 

각종 명령어들

당연히 오라클 유저로 해야 된다.

 

Network Configuration Assistant(NETCA)

$ORACLE_HOME 이동 후

$netca

 

Database Configuration Assistant.(DBCA)

$ORACLE_HOME 이동 후

$netca

$lsnrctl start    
리스너 기동
$lsnrctl status
리스너 기동 여부
$lsnrctl stop
리스너 중지

$emctl start dbconsole
EM 기동
$emctl status dbconsole
EM 기동 여부
$emctl status agent
EM 상태
$emctl stop dbconsole
EM 중지

$sqlplus "/ as sysdba"
sqlplus 접속
 
SQL>startup
DB 인스턴스 시작
SQL>shutdown
DB 인스턴스 중지
SQL>
DB 인스턴스 중지
SQL>shutdown
DB 인스턴스 중지
SQL>shutdown
DB 인스턴스 중지

SQL>create user 아이디 identified by 비밀번호
계정생성
SQL>grant connect,resource to 아이디
권한주기
SQL>alter user 아이디 account unlock
락 풀기

결론

뭐 되게 어렵진 않고 할만하다..