일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- linux
- java
- 디자인패턴
- 패스트캠퍼스후기
- 직장인인강
- Spring
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online강의
- DB
- 자바연습문제
- 자바기초
- 패캠챌린지
- 리눅스
- 패스트캠퍼스
- 직장인자기계발
- 스프링
- DesignPattern
- 자바예제
- 국비
- 자바
- 자바기본
- java기초
- 재택근무
- 디자인
- javabasic
- 한번에끝내는JavaSpring웹개발마스터초격차패키지Online
- 데이터베이스
- ncs
- String
- js
- 웹
- Today
- Total
FIF's 코딩팩토리
CentOS에 Oracle12c 설치후 local에서 접속하기 본문
Virtual Box에 CentOS를 깔아 Server로 지정했다.
Windows(local) 에서 sql-developer를 사용해 데이터 입력시
CentOS(Server) 에 데이터가 저장되는걸 볼 수 있는 포스팅.
1. 개요
Version
● OS : Cent OS 7 64bit
● DB : Oracle 12C R2(12.2.0.1.0)
2. 설치
2.1. CentOS에 오라클 설치
2.1.1. 패키지 설치
Oracle 설치에 필요한 패키지를 설치한다.
# yum update # yum install -y binutils compat-libcap1 gcc gcc-c++ glibc glibc glibc-devel glibc-devel ksh compat-libstdc++-33 libaio libaio libaio-devel libaio-devel libgcc libgcc libstdc++ libstdc++ libstdc++-devel libstdc++-devel libXi libXi libXtst libXtst make sysstat xorg-x11-apps |
2.1.2. Group과 User생성
Oracle 계정의 필요한 그룹과 유저를 생성 한다.
# groupadd oinstall # groupadd dba # useradd -g oinstall -G dba oracle # passwd oracle |
2.1.3. Oracle 계정의 Oracle Base 디렉토리 생성 및 환경 변수 설정
Oracle의 base가 되는 디렉토리 생성 후 권한을 부여 한다.
# cd /home/oracle # mkdir db # chown -R oracle:oinstall db # chmod -R 775 db # chmod g+s db |
Oracle 계정의 환경 변수 설정을 하기 위해 편집한다.
vi /home/oracle/.bash_profile
export TMP=/tmp export TMPDIR=/tmp export ORACLE_BASE=/home/oracle/db export ORACLE_SID=orcl export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/dbhome_1 export ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib PATH=$PATH:$HOME/.local/bin:$HOME/bin export PATH=$ORACLE_HOME/bin:$PATH |
2.1.4. 커널 설정 수정
커널 설정을 위해 /etc/sysctl.conf를 편집한다.
아래와 화면과 같이 sysctl.conf의 맨 아래Line에 입력 한다.
vi /etc/sysctl.conf
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 1987162112 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 = 1048586 |
수정한 커널내용을 적용 및 확인 한다.
# sysctl -p |
2.1.5. shell limit 설정
Oracle 계정의 Shell limit를 설정 하기 위해 /etc/security/limits.conf를 편집한다.
vi /etc/security/limits.conf
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 |
2.1.6. Oracle Download
프로그램을 내려받기 위해서는 오라클 계정을 갖고 있어야 한다.
계정은 누구나 쉽게 만들 수 있으므로 오라클에 회원가입을 하자.
https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Accept에 꼭 체크를 해준다.
다양한 플랫폼별로 준비된 오라클 데이터베이스 설치 프로그램 중에서 Linux x86-64 버전을 내려받는다.
다운로드가 완료되면 lunuxx64_12201_database.zip 파일 이름으로 저장된다.
2.1.7. Oracle Install
Oracle site에서 다운받은 Oracle 설치파일을 unzip으로 해제후 Oracle 계정으로 접속한다.
# unzip linuxx64_12201_database.zip # su - oracle $ cd /home/oracle/database |
오라클설치파일 실행하기
$ ./runinstaller
|
2.1.8. Configure Security Update
보안 문제에 대한 정보를 메일로 수신하지 않기 때문에 언 체크를 하고 Next한다.
팝업창이 뜨면 Yes를 클릭 한다.
2.1.9. Installation Option
데이터베이스를 생성하고 Next 한다.
2.1.10. System Class
서버 클래스로 선택하고 Next 한다.
2.1.11. Database Installation Option
싱글 인스턴스 데이터베이스 설치를 선택하고 Next 한다.
2.1.12. Install Type
고급 설치를 선택하고 NEXT 한다.
2.1.13. Database Edition
엔터프라이즈 에디션을 선택하고 NEXT 한다.
2.1.14. Installation Location
오라클 설치 경로 확인 후 NEXT 한다.
2.1.15. Create Inventory
오라클 인벤토리 설정 후 NEXT 한다.
2.1.16. Configuration Type
데이터베이스 타입을 General Purpose로 선택 후 NEXT 한다.
2.1.17. Database Identifiers
오라클 글로벌 이름과 SID, Pluggable 이름을 입력 후 NEXT 한다.
2.1.18. Configuration Options
메모리 탭에서 자동 메모리 설정을 언 체크하고 메모리 사이즈를 설정한다.
2.1.19. Configuration Options
Character sets 탭으로 이동 하여 기본 AL32UTF8로 설정하고 NEXT 한다.
실제 다른 character encoding 고르고 넘어가면 나중에 Jira 설치 과정 중에 create a project 할때 project에 들어갈 table생성 후 record들이 안들어가져서 결국 project 생성을 할 수 없는 기이한 현상이 발생한다.
oracle 재설치 없이 character encoding을 바꾸고자 하면 https://jehna.tistory.com/36 여기를 따라한다.
2.1.20. Database Storage
오라클 파일 시스템 경로를 설정하고 NEXT 한다.
2.1.21. Management Options
EM(Enterprise Manager) Cluld Control 등록을 언체크 하고 NEXT 한다.
2.1.22. Recovery Options
복구를 사용할 경우 Enable Recovery를 체크하고, 아니면 언체크 한 후 NEXT 한다.
2.1.23. Schema Passwords
비밀번호을 전체 동일 하게 선택 후 패스워드 입력 하고 Next 한다. 오라클 에서 권장하는 비밀번호가 아니므로 진행 하겠느냐에 Yes를 선택한다.
오라클에서 권장하는 비밀번호는 8자리 이상의 영문자 대문자, 소문자, 숫자가 모두 포함 된다.
2.1.24. Operationg System Group
권한이 부여된 운영 시스템 그룹 설정 후 NEXT 한다.
2.1.25. Prerequisite Checks
“전체 조건 검사 수행 시 최대 스택 사이즈가 다릅니다.” 라고 메시지가 나타나면
ulimit -s 해서 stack size를 확인 할 수 있다.
ulimit -s 10240 명령어를 입력 하여 stack size를 늘려준다.
위의 검사에서 "smartmontools" , "net-tools" 등이 없다고 뜨면
$ yum install smartmontools
$ yum install net-tools
등의 명령어로 설치해준다.
2.1.26. Summary
검사가 끝나면 Oracle 설치에 대한 정보를 Report 형식으로 보여준다.
확인 후 Install 을 선택한다.
2.1.27. Install Product
새로운 터미널을 열어서 root로 접속 하고 스크립트 명령어를 입력 한다.
작업이 완료가 되면 앞서 나왔던 팝업창을 OK 선택 한다.
orainstRoot.sh 실행결과이다.
해석하자면 “다음 권한 변경 중/opt/oracle12/oraInventory. 그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다. 월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다.
그룹 이름 변경 중 /opt/oracle12/oraInventory 대상 oinstall. 스크립트 실행이 완료되었습니다.” 정도이다. |
root.sh 실행 결과이다. 엔터 치고 넘어가자.
2.1.28. Finish
설치가 완료되면 close를 선택하여 GUI를 끈다.
2.1.29. sqlplus 테스트
관리자 계정으로 로그인
SQL> sqlplus “/as sysdba” SQL> startup //오라클 Database 시작 |
만일 한글이 깨져서 나온다면 오라클에서 식별가능한 로케일 환경변수를 추가해야 한다.
SQL> SELECT * FROM sys.props$ where name=”NLS_CHARACTERSET;”
|
아래 내용을 .bash_profile에 추가한다.
export NLS_LANG=KOREAN_KOREA.AL32UTF8 |
SQL> shutdown //데이터베이스 종료 |
2.2. 계정만들고 권한주기
2.2.1. ism 계정 만들기
SQL> sqlplus |
user-name과 password를 입력하여 SQL에 접속한다.
또는
SQL> sqlplus “/as sysdba” |
로 접속한다.
관리자 계정은 sys와system이고 passwd는 오라클 설치시에 입력했던
Specify Schema Passwords이다.
ism계정을 만들고 비밀번호를 123123으로 설정한다.
SQL> create user ism identified by 123123; |
아래와 같은 에러메시지가 출력될 것이다.
이유는 Oracle 12c로 업데이트 되면서 전체적인 구조가 변경되어 사용자 생성 방법이나 규칙들이 조금씩 변경됐기 때문에 나타나는 오류다. 해결방법은 2가지다.
1) 생성할 계정명 앞에 ‘C##’키워드 붙여주기
2) 예전의 스크립트 방식 그대로 생성 가능하도록 설정 변경
C## 키워드가 붙는 이유는 12c전에 등장하는 CDB, PDB 개념 때문인데
자신의 환경이 연습용이거나 12c의 클라우드 계정을 염두해서 사용할것이 아니면 두번째 방법을 추천한다고들 한다.
두번째 방법은 아래 한줄만 추가하면 된다.
ALTER SESSION SET “_ORACLE_SCRIPT” = TRUE; |
아래와 같은 문구가 출력되고, 성공적으로 계정을 만들었다.
2.2.2. ism 계정에 모든 권한 주기
SQL> grant connect, resource, dba to ism; |
ism계정에 권한이 성공적으로 주어졌다.
2.3. SQL-Client로 ORACLE 서버 접근
2.3.1. 로컬에서 sql-developer로 서버의 ISM계정 접근
접속이름 : 임의로 자신이 접속이름 설정(한글,영어 가능)
사용자 이름 : 연결할 DB계정 ID
비밀번호 : 연결할 DB계정 PW
호스트이름 : 연결할 DB IP주소(로컬이면 localhost로 냅두고, 외부DB연결이면 IP주소로 적는다)
포트 : 디폴트 1521이다. 아니면 다른포트번호 적기
SID : 설시치 지정한 전역 DB이름, 따로 지정안했다면 orcl 이다.
2.3.2. 연결이 안될경우
아래와 같은 문구가 뜨는 이유는 오라클 설치이후 기본적으로 외부접근이 막혀있기 때문이다.
리스너를 통해 외부접근을 허용해주자.
아래 경로로 가기.
linstener.ora 아래와 같이 vi모드로 편집.
HOST주소를 서버IP로 변경(localhost가 default로 설정돼있음)
SID 등록(경로설정 주의)
수정이 완료되면 리스너 재시작
>$ lsnrctl stop >$ lsnrctl start |
리스너 스타트 성공
오라클 관리자 계정으로 startup해서 db시작
(NOMOUNT -> MOUNT -> OPEN의 과정을 거침)
># sqlplus “/as sysdba” SQL> startup
|
2.3.3. 로컬에서 쿼리문 작성후 서버에서 확인
--PEOPLE 테이블 생성, 칼럼은 NAME 하나 CREATE TABLE people( NAME VARCHAR(100) NOT NULL ); --NAME칼럼에 'Jhon' 데이터 넣기 INSERT INTO people(name) VALUES('Jhon'); --PEOPLE 테이블 확인 SELECT * FROM people; --커밋 commit; |
서버에 데이터가 성공적으로 저장됐다.
'Database(데이터 베이스)' 카테고리의 다른 글
MariaDB 기본 SQL문장 사용법 (0) | 2019.05.24 |
---|---|
CentOS7에 MariaDB설치후 SQL-developer로 접근 (0) | 2019.05.23 |
서버이중화, Failover, LoadBalance 뜻 (0) | 2019.05.23 |
DAO vs DTO vs VO (0) | 2019.05.23 |
Oracle RAC(Real Application Cluster)란? (0) | 2019.05.21 |