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=enforcing 을 SELINUX=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 |