1. 의존 라이브러리 설치 (root계정으로 설치)
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
2. 파라미터 값 설정
[root@localhost ~]# vi /etc/sysctl.conf
아래 코드를 맨 아랫줄에 추가해 준다.
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 10523004
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
3. 유저 자원 사용 제한값 설정
[root@localhost ~]# vi /etc/security/limits.conf
아래 코드를 맨 아랫줄에 추가해 준다.
oracle soft nproc 2048
oracle hard nproc 65536
oracle soft nofile 1024
oracle hard nofile 65536
4. SELINUX 설정을 해제한다.
[root@localhost ~]# vi /etc/selinux/config
아래와 같이 ‘SELINUX=disabled’ 추가
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
5. 유저 생성
[root@localhost ~]# groupadd dba
[root@localhost ~]# useradd -g dba oracle
[root@localhost ~]# passwd oracle
6. 디렉토리 생성 및 권한 부여
[root@localhost ~]# mkdir -p /home/oracle
[root@localhost ~]# chown -R oracle:dba /oracle
[root@localhost ~]# chmod -R 775 /oracle
7. 환경변수 설정
7-1. oracle계정으로 접속
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ vi .bash_profile
7-2. 환경변수 설정
.bash_profile에 해당 코드를 추가한다.
export ORACLE_BASE=/home/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
8. oracle 설치
오라클 11g 설치파일을 filezilla를 통해 서버로 옮긴다.
이후 압축을 해제한다.
[oracle@localhost ~]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@localhost ~]$ unzip linux.x64_11gR2_database_2of2.zip
영어설정
[oracle@localhost ~]$ export LANG=C
압축 해제 후 설치
[oracle@localhost ~]$ cd /home/oracle/database
[oracle@localhost database]$ ./runInstall
9. 설치 과정
9-1. I wish to reveive security updates via.... 체크해지
9-2. insall database software only 선택
9-3. single instance database installation 선택
9-4. Korean 선택 > 추가
9-5. Enterprise Edition 선택
9-6. 넘기고
9-7. oraInventory 디렉터리가 없다면 생성해서 oracle:dba 권한을 부여한 후 next를 누른다.
9-8. 넘겨준다
9-9. Ignore All에 체크를 해주고 넘긴다.
9-10. 확인하고 finisth
9-11. 설치 중 84%에서 발생한 error대처
Error in invoking... 이라는 error메시지가 나오는데 여기서 나오는 error의 경로를 따라가서 vi로 열어준다..
[oracle@localhost ~]$ cd /mnt/data/oracle/product/11.2.0/dbhome_1/ctx/lib
[oracle@localhost ~]$ vi ins_ctx.mk
아래와 같은 구문을 찾는다.
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
찾아서 아래와 같이 변경한다.
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
Retry버튼을 누른다.
이후 비슷한 애러가 나오는데 해당 경로로 이동한다.
[oracle@localhost ~]$ cd /mnt/data/oracle/product/11.2.0/dbhome_1/system/lib
[oracle@localhost ~]$ vi ins_emagent.mk
아래와 같은 구문을 찾는다
$(SYSMANBIN) emdctl:
$(MK_EMAGENT_NMECTL)
다음과 같이 변경한다.
$(SYSMANBIN) emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11
Retry버튼을 누른다. 마지막에 쉘 스크립트를 실행하라는 안내 창이 뜬다.
root계정에서 실시해야 한다.
[root@localhost ~]# /mnt/data/oracle/oraInventory/orainstRoot.sh
[root@localhost ~]# /mnt/data/oracle/product/11.2.0/dbhome_1/root.sh
Enter the full pathname of the local bin directory:..[ENTER]키 입력
설치가 완료되면 orcale계정으로 돌아가 환경변수를 적용한다.
[oracle@localhost ~]$ source .bash_profile
10. 리스너 설정
아래의 명령어로 리스너를 생성한다.
[oracle@localhost database]$ netca
10-1 Listener configuration
10-2. 최초 구성이므로 Add
10-3.부터 쭉 NEXT 하고 Finish
11. 데이터베이스 생성
아래의 명령어로 데이터베이스를 생성한다.
[oracle@localhost ~]$ dbca
11-1. next
11-2. create
11-3. next
11-4. oracle_sid와 database이름을 설정한다.
11-5. next
11-6. password를 설정하는데 관리자 전체 게정에 동일 패스워드를 사용한다는 옵션 체크하고 password를 설정한다.
11-7. memory sizing설정 까지 전부 next
11-8. Memory 탭에서 memory size를 설정한다.
Character Sets 탭에서 Choose from the list of chacter set부분을 선택한 뒤 WIN949로 설정
아래쪽에 National Character Set -> UTF8 / Default Language -> Korean / Default Territory -> Korea
로 설정한다.NEXT
11-9. 나머지 전부 NEXT한다.
12. 데이터베이스 및 리스너 실행
아래의 명령어로 sqlplus를 실행시킨다
[oracle@localhost ~]$ sqlplus “/as sysdba”
아래의 명령어로 DB를 가동한다
SQL > shutdown immediate
SQL > startup
SQL > exit
그리고 아래의 명령어로 리스너의 상태를 확인한다.
[oracle@localhost ~]$ lsnrctl status
13. 외부에서 접속을 할 수 있도록 방화벽을 열어준다.
(루트 계정으로)
[root@localhost ~]# firewall-cmd --zone=public --permanent --add-port=1521/tcp
포트 리로드
[root@localhost ~]# firewall-cmd --reload
포트 열기는 아래 포스트에서도 확인할 수 있다.
2021.03.31 - [OS (운영체제)/리눅스] - [LINUX] 리눅스 포트 열기
'DB (데이터베이스) > Oracle (오라클)' 카테고리의 다른 글
[ORACLE] ORACLE(오라클) IMPORT (IMPDP)사용 (0) | 2022.07.07 |
---|---|
[ORACLE] ORACLE(오라클) EXPORT ( EXPDP) 사용 (0) | 2022.07.07 |
[ORACLE] DBMS_CRYPTO 권한부여 (0) | 2022.05.13 |
[ORACLE] Toad에서 system계정으로 oracle 19c접속 시 권한 문제 발생 (0) | 2021.04.27 |
[ORACLE] ORA-28001 the password expired 해결방법 (0) | 2021.04.21 |