[개발도구] 오라클 11g 데이터베이스 생성

|


자리의 개발도구 다루기

RDBMS 부문 : ORACLE 11g 데이터베이스 생성

원문 : 자리의 달콤한 꿈 이야기

글 : 자리 | 이미지 : ORACLE 11g




오라클(Oracle)은 미국 오라클(ORACLE)사의 관계형 데이터베이스 관리 시스템의 이름입니다. 현재 유닉스 환경에서 가장 널리 사용되는 RDBMS이며, 검색이나 업데이트용 언어로는 국제표준화기구의 표준 구조화 조회 언어와 PL/SQL을 지원합니다.




 ─────────────────────────────────────────────────────────────────────────

  명 칭

  ORACLE 11g

 

  ORACLE

  운영 체제  크로스 플랫폼
  종 류  관계형 데이터베이스

  라이선스

  상용 라이선스

 ─────────────────────────────────────────────────────────────────────────

  오라클 공식 사이트

   ORACLE 

 ────────────────────────────────────────────────





오라클사의 오라클은 버전 5부터 다음의 코드를 사용하고 있습니다.


■ 오라클 v5

■ 오라클 v6

■ 오라클7

■ 오라클8 데이터베이스

■ 오라클8i 데이터베이스 릴리즈 1

■ 오라클8i 데이터베이스 릴리즈 2

■ 오라클8i 데이터베이스 릴리즈 3

■ 오라클9i 데이터베이스 릴리즈 1

■ 오라클9i 데이터베이스 릴리즈 2

■ 오라클 데이터베이스 10g 릴리즈 1

■ 오라클 데이터베이스 10g 릴리즈 2

■ 오라클 데이터베이스 11g 릴리즈 1

■ 오라클 데이터베이스 11g 릴리즈 2

■ 오라클 데이터베이스 12c 릴리즈 1

■ 오라클 데이터베이스 12c 릴리즈 2







그리드 컴퓨팅  < grid computing >

최근 활발히 연구가 진행되고 있는 분산 병렬 컴퓨팅의 한 분야로서, 원거리 통신망(WAN, Wide Area Network)으로 연결된 서로 다른 기종의(heterogeneous) 컴퓨터들을 묶어 가상의 대용량 고성능 컴퓨터를 구성하여 고도의 연산 작업(computation intensive jobs) 혹은 대용량 처리(data intensive jobs)를 수행하는 것을 일컫는다.

쉽게 말해 여러 컴퓨터를 가상으로 연결해서 엄청난 속도로 연산을 처리, 고도의 연산 작업을 쉽게 하는 것을 말한다.

그리드는 대용량 데이터에 대한 연산을 작은 소규모 연산들로 나누어 작은 여러 대의 컴퓨터들로 분산시켜 수행한다는 점에서 클러스터 컴퓨팅의 확장된 개념으로 볼 수 있으나, WAN 상에서 서로 다른 기종의 머신들을 연결한다는 점으로 인해 클러스터 컴퓨팅에서는 고려되지 않았던 여러 가지 표준 규약들이 필요해졌고, 현재 글로버스(Globus) 프로젝트를 중심으로 표준들이 정립되고 있는 중이다. 또한 다양한 플랫폼을 서로 연결한다는 점에서 클러스터 컴퓨팅과 차이가 있다.

  

클라우드 컴퓨팅  < cloud computing >

인터넷 기반 컴퓨팅의 일종으로, 공유 컴퓨터 처리 자원과 데이터를 컴퓨터와 다른 장치들에 요청 시 제공해준다. 구성 가능한 컴퓨팅 자원(: 컴퓨터 네트워크, 서버, 스토리지, 애플리케이션, 서비스)에 대해 어디서나 접근이 가능한, 주문형 접근을 가능케 하는 모델이며 최소한의 관리 노력으로 빠르게 예비 및 릴리스를 가능케 한다. 클라우드 컴퓨팅과 스토리지 솔루션들은 사용자와 기업들에게 개인 소유나 타사 데이터 센터의 데이터를 저장, 가공하는 다양한 기능을 제공하며 도시를 거쳐 전 세계로까지 위치해 있을 수 있다. 클라우드 컴퓨팅은 전기망을 통한 전력망과 비슷한 일관성 및 규모의 경제를 달성하기 위해 자원의 공유에 의존한다.

지지자들은 클라우드 컴퓨팅을 통해 기업들이 선행 투자 인프라스트럭처 비용(: 서버 구매)을 없앨 수 있다고 주장한다. 그뿐 아니라, 단체들이 컴퓨터 인프라스트럭처에 시간과 비용을 들이는 대신 핵심 사업에 집중할 수 있게 한다. , 클라우드 컴퓨팅을 통해 기업들이 자신들의 응용 프로그램의 기동 및 실행 속도를 더 빠르게 할 수 있게 하여 취급 용이성을 개선시키고 유지보수를 줄여줄 수 있게 도와주며 정보기술(IT) 팀들이 유동적이고 예측 불가능한 사업 수요를 충족시키기 위해 자원을 더 빠르게 조절할 수 있게 한다. 클라우드 제공자들은 일반적으로 종량제(pay as you go) 모델을 사용한다. 관리자들이 클라우드 가격 모델에 적응하지 않을 경우 예상 밖으로 높은 비용을 지불할 수 있다.

2009년에 고용량 네트워크, 저비용 컴퓨터 및 스토리지 장치를 이용할 수 있게 되었을 뿐 아니라 하드웨어 가상화, 서비스 지향 아키텍처, 자율 및 유틸리티 컴퓨팅이 널리 채택됨에 따라 클라우드 컴퓨팅의 성장으로 이어졌다. 기업들은 컴퓨팅의 수요가 증가함에 따라 규모를 키울 수 있고, 수요가 줄어들면 규모를 낮출 수 있다. 2013, 클라우드 컴퓨팅은 높은 컴퓨팅 파워, 값싼 서비스 비용, 고성능, 확장성, 접근성, 이용성의 이점으로 인해 매우 수요가 높은 서비스나 유틸리티가 되었다. 일부 클라우드 업체들은 매년 50%의 성장률을 경험하고 있으나, 초기 단계이기 때문에 클라우드 컴퓨팅 서비스를 더 신뢰할만하고 사용자 친화적으로 만들어야 할 필요가 있다.

클라우드 서비스란 인터넷 상에 자료를 저장해 두고, 사용자가 필요한 자료나 프로그램을 자신의 컴퓨터에 설치하지 않고도 인터넷 접속을 통해 언제 어디서나 이용할 수 있는 서비스를 말한다. 클라우드 서비스를 통해 인터넷 상에 저장된 자료들은 간단한 조작 및 클릭으로 쉽게 공유하고 전달할 수 있다. 인터넷 상의 서버에 단순히 자료를 저장하는 것뿐만 아니라, 따로 프로그램을 설치하지 않아도 웹에서 제공하는 응용 프로그램의 기능을 이용하여 원하는 작업을 수행할 수 있으며, 여러 사람이 동시에 문서를 공유하면서 작업을 진행할 수도 있다.

  

SaaS  < Software as a Service >

"on-demand software"로도 불리며, 소프트웨어 및 관련 데이터는 중앙에 호스팅되고 사용자는 웹 브라우저 등의 클라이언트를 통해 접속하는 형태의 소프트웨어 전달 모델이다.

  

PaaS  < Platform as a Service >

클라우드 컴퓨팅 서비스의 분류의 하나로서, 일반적으로 앱의 개발 및 시작과 관련된 인프라를 만들고 유지보수하는 복잡함 없이 고객이 애플리케이션을 개발, 실행, 관리할 수 있게 하는 플랫폼을 제공한다. SaaS의 개념을 개발 플랫폼에도 확장한 방식으로, 개발을 위한 플랫폼 구축을 할 필요 없이 필요한 개발 요소들을 웹에서 쉽게 빌려 쓸 수 있게 하는 모델이다.

구글이나 네이버, 다음 등에서 제공하는 공개 API들이 PaaS의 일종이며, 구글의 '앱 엔진'이나 Bungee Labs '번지커넥트' 등은 직접 온라인 서비스를 개발에서 배포, 관리 까지 가능한 플랫폼을 제공하고 있다.

  

IaaS  < Infrastructure as a Service >

서버, 스토리지, 네트워크를 가상화 환경으로 만들어, 필요에 따라 인프라 자원을 사용할 수 있게 서비스를 제공하는 형태이다. IaaS의 예는 다음과 같다. IaaS의 환경이 가상화 일 필요는 없다. 예를 들면 IBM의 베어메탈 클라우드가 그 예이다. 대표적인 기술로는 서버 가상화, 데스크톱 가상화 등이다.

  

오라클 RAC  < Oracle Real Application Clusters >

2001년 미국 오라클사가 개발한 클러스터링 및 고가용성을 위한 옵션이다. 오라클 RAC을 사용하면 여러 대의 컴퓨터가 동시에 한 대의 DBMS 서버에 접속하여 데이터를 이용할 수 있다. 이를 이용해 DB 클러스터링을 구현할 수 있다. 오라클 9i에 처음 도입되었다. 오라클은 오라클 클러스터웨어를 이용하여 노드 클러스터링을 사용한다는 조건 하에 스탠더드 에디션에 RAC를 포함시키고 있다.

오라클 RAC 환경의 볼륨 관리를 위해서 오라클 10g부터 지원되는 자동 스토리지 관리(ASM) 기능이나, 베리타스(Veritas) 등의 타사 솔루션을 이용할 수 있다. 고가용성과 페일오버를 위해 공유 디스크를 이용하는 오라클 RAC는 공유 디스크 없이 필요에 따라 노드 간의 역할을 스탠바이에서 프라이머리로, 또는 프라이머리에서 스탠바이로 바꾸는 오라클 데이터 가드와는 다르다.

 

맵리듀스  < MapReduce >

구글에서 대용량 데이터 처리를 분산 병렬 컴퓨팅에서 처리하기 위한 목적으로 제작하여 2004년 발표한 소프트웨어 프레임워크다. 이 프레임워크는 페타바이트 이상의 대용량 데이터를 신뢰도가 낮은 컴퓨터로 구성된 클러스터 환경에서 병렬 처리를 지원하기 위해서 개발되었다. 이 프레임워크는 함수형 프로그래밍에서 일반적으로 사용되는 MapReduce라는 함수 기반으로 주로 구성된다.

현재 MapReduceJavaC++, 그리고 기타 언어에서 적용이 가능하도록 작성되었다. 대표적으로 아파치 하둡에서 오픈 소스 소프트웨어로 적용되었다.

 

알고리즘  < Algorithmus , algorithm >

어떠한 문제를 해결하기 위한 여러 동작들의 모임이다. 유한성을 가지며, 언젠가는 끝나야 하는 속성을 가지고 있다. 수학과 컴퓨터 과학에서 알고리즘이란 작동이 일어나게 내재하는 단계적 집합이다. 알고리즘은 연산, 데이터 진행 또는 자동화된 추론을 수행한다. 알고리즘이라는 단어는 페르시아의 수학자이던 알콰리즈미의 이름에서 따온 것이다.

 

빅 데이터  < big data >

기존 데이터베이스 관리도구의 능력을 넘어서는 대량(수십 테라바이트)의 정형 또는 심지어 데이터베이스 형태가 아닌 비정형의 데이터 집합조차 포함한 데이터로부터 가치를 추출하고 결과를 분석하는 기술이다.

다양한 종류의 대규모 데이터에 대한 생성, 수집, 분석, 표현을 그 특징으로 하는 빅 데이터 기술의 발전은 다변화된 현대 사회를 더욱 정확하게 예측하여 효율적으로 작동케 하고 개인화된 현대 사회 구성원 마다 맞춤형 정보를 제공, 관리, 분석 가능케 하며 과거에는 불가능했던 기술을 실현시키기도 한다.

이같이 빅 데이터는 정치, 사회, 경제, 문화, 과학 기술 등 전 영역에 걸쳐서 사회와 인류에게 가치있는 정보를 제공할 수 있는 가능성을 제시하며 그 중요성이 부각되고 있다.

하지만 빅데이터의 문제점은 바로 사생활 침해와 보안 측면에 자리하고 있다. 빅데이터는 수많은 개인들의 수많은 정보의 집합이다. 그렇기에 빅데이터를 수집, 분석할 때에 개인들의 사적인 정보까지 수집하여 관리하는 빅브라더의 모습이 될 수도 있는 것이다. 그리고 그렇게 모은 데이터가 보안 문제로 유출된다면, 이 역시 거의 모든 사람들의 정보가 유출되는 것이기에 큰 문제가 될 수 있다.

세계 경제 포럼은 2012년 떠오르는 10대 기술 중 그 첫 번째를 빅 데이터 기술로 선정 했으며 대한민국 지식경제부 R&D 전략기획단은 IT 10대 핵심기술 가운데 하나로 빅 데이터를 선정 하는 등 최근 세계는 빅 데이터를 주목하고 있다.



 

  관련 및 연계 홈페이지 링크 


 ■ 오라클

 비지니스 소프트웨어, 하드웨어 전문 기업, 클라우드, 빅데이터, 모바일, IT 서비스 및 제품 소개.


 



 『  ORACLE    




-   오라클 11g  데이터베이스  생성 방법  -



-  DBCA 를 이용한  오라클 11g  데이터베이스  생성 방법  -







모든 자료는 사용 전후의 솔직한 평을 기록하며 현재 기록된 시세나 정보는 201711월 기준으로 작성되었으므로 이후 경과일수에 따라 변경 폭이 커질 수 있습니다. 이 포스트는 정보공유 및 개발도구 초심 사용자들의 참고를 목적으로 작성되었습니다. 모든 사진은 클릭하면 확대되며 또 다른 블로그 네이버 블로그와 함께 합니다. 혹 하단 링크 이미지에 문제가 발생하면 'F5' 를 눌러 새로 고침해주세요.

 

 

다운로드 및 설치 편에 이어 오라클 11g 데이터베이스 생성을 다룹니다. 기타 관리 툴을 사용하여 생성하는 방법도 있겠으나 이 지면에서는 ‘Database Configuration Assistant’를 이용한 DB 생성만 다루려 하니 착오 없으시길 바랍니다.

 

 


오라클의 변천사


결론부터 말하자면 Internet에서 Grid를 거쳐 Cloud로의 발전을 거듭하며 버전을 뜻하는 숫자 뒤에 알파벳 이니셜을 추가하는 마케팅 전략을 구사하고 있어 사용자가 쉽게 버전을 구분할 수 있습니다.


 

89버전은 90년대 중반부터 인터넷 보급률이 크게 늘어나면서 오라클 역시 인터넷 환경을 지원한다는 의미로 Internet(인터넷)의 약자인 ‘i’라는 용어를 붙이기 시작합니다. 그 후 기술의 비약적인 발전과 더불어 관리 항목도 크게 늘어나면서 증가한 데이터의 양과 빠른 처리를 위해 여러 PC를 하나로 연결해 빠른 속도로 연산, 처리함을 의미하는 그리드 컴퓨팅(Grid Computer)의 약자인 ‘g’라는 용어를 채택하게 되며, 20137IT시장의 최대 이슈인 클라우드 기술을 이용하여 사용자들에게 응용프로그램(SaaS), 개발 플랫폼(PaaS), 인프라 서비스(IaaS)의 계층을 포함한 통합 IT 솔루션 집합에 접근할 수 있도록 서비스를 제공한다는 의미로 클라우드 컴퓨팅 (Cloud Computer)의 약자인 ‘c’로 변경하여 제품을 출시하게 되었습니다.

 

 


오라클의 버전별 차이점


Oracle i

안전한 인터넷 플랫폼을 제공한다는 의미로 서버정지 및 재부팅 과정 없이 메모리 풀(buffer pool, shared pool, large pool)의 크기를 조절할 수 있는 기능, 데이터베이스에 표준 XML문서를 직접 저장할 수 있도록 해주는 기능, 보다 편리하게 데이터를 분할하는 List Partitioning 기능 등이 제공됩니다. 가장 큰 변화로는 Real Application Clusters, RAC기능의 도입을 꼽을 수 있습니다.

 

Oracle g

분산된 자원을 초고속 네트워크를 통해 하나의 큰 서버처럼 활용할 수 있는 기술로 프로비저닝(Provisioning), 부하관리(Load Balancing), 자동화 (Automation) 등을 지원하며 11g에 이르러 설치 기능, 저장영역의 기능 (SQL Advisor 기능), 대용량 데이터 처리기능, 자동 SQL튜닝 기능, 장애처리 기능 등이 향상되었습니다.

 

Oracle c

하나의 플랫폼을 여러 사용자가 사용하는 오라클 멀티테넌트(Oracle Multitenant) 아키텍처를 추가했습니다. , 클라우드 컴퓨팅을 통해 아키텍처 컨테이너 DB라는 가상의 DB가 존재하고 그 안에 많은 DB를 관리할 수 있습니다. 또한 데이터를 자동으로 관리해주는 기능이 추가 되었습니다. 자주 사용하는 핫 데이터와 그렇지 않은 콜드 데이터 등을 자동으로 분류해 줌으로써 데이터관리에 있어 많은 시간과 비용을 절감할 수 있다고 합니다.

2014년 이후부터 빅데이터 시대가 도래하면서 빅데이터를 위한 인-데이터베이스(in-Database) 맵리듀스(MapReduce) 기능을 강화했습니다. 따라서 이제 데이터분석가, 빅데이터 과학자들은 새로운 인-데이터베이스 예측 알고리즘 및 통계분석도구 R과 오라클 데이터베이스 12c의 통합을 통해 엔터프라이즈 정보와 빅데이터를 더욱 효과적으로 분석할 수 있게 되었습니다.

 

 

 

오라클 11g 데이터베이스 생성


윈도우 시작 메뉴에서 자주 사용 되는 앱혹은 최근 설치된 앱에서 오라클 관련 항목을 찾습니다. 오라클 항목 중 구성 및 이전 툴그룹에 진입하여 데이터베이스 생성 및 삭제를 담당하는 ‘Database Configuration Assistant’를 실행합니다. 팝업이 활성화되면 다음을 클릭합니다. 수행할 작업에 데이터베이스 생성을 선택한 후 또다시 다음을 클릭합니다. ‘데이터베이스 템플리트단계에 진입하면 범용 또는 트랜잭션 처리를 선택한 후 다음을 클릭합니다. 다음은 데이터베이스 ID’를 등록하는 단계로 전역데이터베이스명과 SID의 이름을 작명한 후 역시 다음을 클릭합니다. 전역데이터베이스 명을 입력하면 SID에도 동일한 이름으로 자동등록 되며 SID는 후에 리스너를 구성할 때 DB의 고유 식별자 역할을 하게 되므로 신중하게 등록하시고 혼돈을 막기 위해 전역데이터베이스명과 동일하게 작성하도록 합니다.


 

 

 

관리 옵션단계에서는 기본설정인 상태로 다음을 클릭합니다. ‘데이터베이스 인증서단계에서는 데이터베이스 생성 후 관리자 계정으로 개별 혹은 공통으로 등록된 비밀번호로 접근할 수 있도록 도와줍니다. 개별 관리와 공통관리는 보완과 관리적 측면에 각각의 장단점이 있으므로 역시 신중하게 등록하고 다음을 클릭합니다.


 

 


데이터베이스 파일 위치단계에서는 저장영역유형을 파일 시스템으로 두고 저장영역위치만 결정하여 다음을 클릭합니다. 다만 ‘Oracle-Managed Files’를 사용하면 오라클이 데이터베이스를 자동으로 관리해 주기 때문에 데이터베이스 파일 위치를 개별적으로 지정할 필요가 없으며, 저장영역 페이지에서 변경할 수 없다는 점만 알아두시기 바랍니다. 다음으로 복구 구성단계는 기본 설정된 구성으로 다음을 클릭합니다.


 


데이터베이스 내용단계에서도 기본 설정된 값으로 다음을 클릭합니다. ‘초기화 매개변수단계에서는 문자집합탭으로 이동하여 사용할 언어에 따라 기본값 혹은 유니코드(AL32UTF8)를 선택하셔야 합니다. 이미지에는 포함이 되진 않았지만 문자집합설정 후 접속모드로 이동하여 전용서버 혹은 공유서버를 선택하고 다음을 클릭합니다. 공유서버는 동시접속자가 많을 경우 해당되는 모드입니다.


 

 


데이터베이스 저장영역단계부터는 확인하는 단계로 다음혹은 확인을 눌러 데이터베이스를 생성하시면 되겠습니다. 데이터베이스의 생성엔 시간이 다소 경과될 수 있음을 미리 알려드립니다.

생성된 데이터베이스는 바로 사용할 수 없고 ‘Listener.ora’ ‘tnsnames.ora’ 파일을 설정해야 하는 선행과정이 있습니다.

 

 

 

오라클 11g 접속 예비절차


앞에서 언급했듯이 데이터베이스 생성 후 ‘Listener.ora’ ‘tnsnames.ora’ 파일의 설정이 필요합니다. 먼저 Oracle listener를 설정합니다. 이 과정은 서버 측에서 준비되어야할 과정이며, ‘Listener.ora’ 파일의 위치는 대략적으로 ‘ORACLE_HOME/network/admin’ 폴더 안에 존재하고 있습니다. 리스너 파일을 열어 아래와 같이 수정합니다. 푸른색 폰트와 붉은색 폰트는 사용자가 수정할 값을 의미합니다. 이 또한 복사가 쉽도록 댓글에 등록해 두겠습니다.


 

 LISTENER =

 (DESCRIPTION_LIST =

 (DESCRIPTION =

 (ADDRESS = (PROTOCOL = TCP)(HOST = IP주소)(PORT = 포트번호))

 )

 )

 SID_LIST_LISTENER =

 (SID_LIST =

 (SID_DESC =

 (ORACLE_HOME =오라클홈경로)

 (SID_NAME = SID)

 )

 )


   

수정 후 내용을 저장합니다. ‘cmd’ 창을 호출하여 리스너 상태를 확인하고 시작하면 서버측은 완료됩니다. 명령어는 아래와 같습니다.

 

lsnrctl status LISTENER : 리스너 상태 확인 명령어

 

lsnrctl start LISTENER : 리스너 시작 명령어

 


클라이언트 측에서는 오라클 클라이언트 버전을 다운로드 받아 설치합니다.




  

‘tnsnames.ora’ 파일은 기본적으로 C:\oracle\app\oracle\product\11.2.0\server\network\ADMIN 경로에 위치하고 있습니다.

 

 

 TESTDB =

 (DESCRIPTION =

 (ADDRESS_LIST =

 (ADDRESS = (PROTOCOL = TCP)(HOST = IP주소)(PORT = 포트번호))

 )

 (CONNECT_DATA =

 (SERVICE_NAME = SID)

 )

 )



 

수정 후 내용을 저장하고 오라클에 접속합니다. 기타 다양한 오류로 접속이 실패한다면 해당 오류코드를 복사하여 네이버에서 검색해 보실 것을 권장합니다.     FIN.







      개발도구에 대한 다른 게시글도 확인해 보세요 !!!       


 

     



 



트랙백 0 And 댓글 1
  1. ★자리 2017.11.20 12:46 신고 address edit & del reply

    LISTENER =
    (DESCRIPTION_LIST =
    (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IP주소)(PORT = 포트번호))
    )
    )
    SID_LIST_LISTENER =
    (SID_LIST =
    (SID_DESC =
    (ORACLE_HOME =오라클홈경로)
    (SID_NAME = SID명)
    )
    )


    TESTDB =
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = IP주소)(PORT = 포트번호))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = SID명)
    )
    )


    lsnrctl status LISTENER
    lsnrctl start LISTENER