Cloud 와 관련하여 검색하다가, DB Guide넷 에서 Andrew님이 Cloud 관련하여 강좌 하는 것을 읽게 되었다.


클라우드는 대학생때 잠시 접했으며, 잠시 심취하여 외계 생명을 찾는데에 나의 Resource를 제공하고,

그에대해 신기하여 외국 전문 저널??은 아니지만

중립자 관련하여 또 Resource 를 제공할 수 있다고 하여 제공하고자 찾아봤다.


하지만 그게 전부였다..


5년이 넘게 지난 지금 이제는 조금 더 깊게 개념을 잡아 나가고자 또 찾아서 정리해 봤다.


이 글은 Andrew님이 연재하는 강좌를 읽고 그것을 정리한 부분이다.


혹여 저작권 관련하여 문제가 발생하지 않고자 모두 오픈하는 바입니다.


Andrew의 Cloud 이야기 1~3#을 정리한 내용입니다.


1#


앤드류 - 클라우딩 (DB Guide Net) 정리


위키피디아 클라우드 정의 

[클라우드 컴퓨팅은 IT 관련된 기능들이 서비스 형태로 제공되는 컴퓨팅 스타일

사용자들은 지원하는 기술 인프라스트럭처에 대한 전문 지식이 없거나 제어할 줄 몰라도 인터넷으로부터 서비스 이용 가능]

-> 필요한 서버들을 그때 그때마다 생성하고, 클라우드 서비스 사업자가 이 자원에 대해서 관리를 해 주기 때문에 지식이나 경험이 없는 사용자도 대규모 서비스를 손쉽게 사용이 가능(가상머신)

-> 더 많은 종류의 IT 자원들(서버 / DB 등)을 선택만 하면 바로 생성이 가능


서비스 업체에서 관리를 해주기 때문에 안정적인 서비스를 운영 기대

-> 클라우드의 가장 큰 특징인 자동화와 단명성 부분을 이용하지 못하는 것(클라우드 서비스는 자동으로 리소스를 관리할 수 있도록 API 제


● 클라우드 자동화

[프로그램을 이용하여 언제든 서버를 만들거나 중지/삭제가 가능.] 

ex) 사용자가 폭발적으로 늘어날 경우 새로운 컴퓨팅 리소스를 만들어 채워 넣음으로 서비스에 능동적으로 관리하며, 반대로 리소스가 필요 없을 경우 최소한의 리소스만 남겨 둠으로써 자원을 아낄 수 있음

-> 이전에는 간단한 스크립트 언어로 관리를 하였다면, 이제는 멀티 프로세스나 쓰레드(Thread)를 사용하고, 네트워크 프로그램을 사용해서 API를 사용할 정도의 실력이 필요


● 클라우드 단면성

[클라우드 공급자에 의해 서비스를 꺼버리거나 자연재해에 의해 파괴되어 문제가 발생 / 공급자에 의해 서비스가 좌지 우지 할 수 있음]

ex) 2012년 홍수로 인해 아마존의 데이터센터 중 하나가 작동 불능 상태

->클라우드에서 개발할 때에는 자신의 컴퓨팅 리소스가 사라질 수 있다는 것을 가정(IP/DNS 정보를 정적으로 지정은 피해야 함)

-> 내부적으로 코디네이터(Coordinator-동적)나 서비스 디스커버리(Discovery-정보를 찾는)를 중앙에 두고 

   다른 서버끼리는 이것을 통해 필요한 서버나 서비스의 정적인 정보를 조회


클라우드가 확장되면 될 수록 사용자의 개발 역량도 같이 향상이 되어야 하며, 그래야지 서비스가 커졌을때 규모 대비 적은 비용으로 유지가 가능


----------------------------------

#2

2014년 클라우드 현실


- 가트너의 신규 기술의 성쇠주기(2014)

hybrid cloud computing 과 cloud computing 에 대해 항목 표시

-> Cloud computing 은 사람들이 10년만에 클라우드라는 개념과 기술에 대해서 이해햐기 시작하였으며, 필요한 부분을 발견하기 시작함.

투자가 진행되었으며, 단적인 예로 가상머신에 대해 기피하지 않고 상용화가 되고 있는 수준에 이르렀음

또한, 이전과 달리 안정된 서비스에서 사용자의 요구사항의 변화에 능동적으로 대처하며 재빨리 수정하고 보완해서 제품을 변경하는 민첩성


이 높은 방식으로 개발을 진행 하고 있음


클라우드라는 개념과 관련 기술들이 인기를 다시 끌고 있는 것이라고 생각


----------------------------------

#3

클라우드에서는 빅데이터의 하둡 만큼 오픈스택이라는 유명한 솔루션이 있음.


SDN without SDN at daumkakao - Andrew 님이 진행한 세미나


https://www.openstack.org/summit/vancouver-2015/summit-videos/presentation/sdn-without-sdn-at-daumkakao


오픈스택 서밋에서 컨테이너 관련 세션이 가장 인기 있음.

멀티테넌시(multi-tenancy) : 하나의 서버에 여러 명의 사용자(Tenanter?테넌트)가 사용할 수 있도록 해주는 개념

하나의 물리자원을 가상자원으로 나누어서 사용하여 리소스 사용량을 극대화 시킬 수 있는 개념 -> 가원 격리(resource isolation)

다른 사용자가 실행시킨 프로세스에 영향을 받지 않고 자신의 프로세스를 사용 가능

대부부분의 클라우드 서비스와 솔루션들이 이를 위해서 가상화를 사용

가상이지만 완전히 물리 서버와 동일한 느낌을 주는 프로그램과 기술을 사용

(클라우드 기술 = 가상화 기술이라고도 함)


네임 스페이스(namespace) - 자원 격리 기술의 새로운 통칭[표준화](컨테이너 기술)

코드를 작성할 때 중복되는 이름들을 막거나, 해당 모듈이나 패키지에서만 변수들의 이름을 검색하도록 정의 한 것을 컴퓨팅 자원 사용에도 


적용

이 기술을 사용해서 가상화 없이도 사용자 프로세스를 격리 시켜서 사용 가능

ex) 구글에서 가장 먼저 사용 (보그-borg라는 이름으로 사용하다가 쿠버네티스(kubernetes)라는 이름으로 오픈소스화)


컨네이너 목적

- 리소스 관리의 표준화

1. 컴퓨팅 리소스의 표준화 - 서버를 추가하는 것이 아닌 표준으로 구분된 인스턴스를 추가 요청

2. 모니터링의 표준화 - 서로의 목적에 따라 모니터링이 아닌 표준화 되고 단일화 된 형태로 처리




반응형

'Cloud' 카테고리의 다른 글

[Cloud] Andrew 의 Cloud 정리-2  (0) 2016.01.15





난 도대체 뭘 선택 해야 할까...

오라클을 계속 공부하고 싶은데...다시 새로운 DB를 공부를 해야될까...


돈을 쫒아서 가야 될까...아니면 조금 더 기다려야 되는 걸까...


내가 추구해야하는 게 무엇일까...


다시 한번 큰 갈림길에 서 있다....

반응형

'Life' 카테고리의 다른 글

누군가에게 제안하기 전에..  (0) 2016.07.01
블로그의 의미  (0) 2016.03.14
2016 병신년 늦은 새해 인사  (0) 2016.01.06
즐거운 여름휴가 (1)  (0) 2015.08.05
처음은 아니지만 블로그의 시작  (1) 2015.07.31

MS Server 에서 Oracle 로 마이그레이션 테스트가 필요하여

직접 진행해 봤다.


Oracle 10g의 경우 현재 최신 버전의 SQL Developer로는 테스트가 되지 않았다.


이유는 저장소를 생성하며 에러가 발생하는 부분인데, 스크립트상 11g 에서만 호환이 되는 부분이라 예상이 되어,

10g는 Sql developer 를 하위 버전으로 진행(3.XX Version) 하였으며 정상적으로 되는 부분을 테스트 하였다.


이 부분을 문서로 만들었으며, 또한 블로그에도 공개하는 바이다.

많은 테스트를 통해서 추가적으로 업데이트를 할 예정이다.(문서상으로 진행하며, 블로그는 최종적으로 올릴까 한다)


많이 참고하시기 바라며, 혹시라도 문의 사항이나 추가 사항이 있으면 댓글 부탁 드립니다.

(이미지는 PDF 파일로 다운받아 보시면 됩니다.)


MS SQL to Oracle using SQL Developer_초안.pdf



MS SQL to Oracle using SQL Developer

By. Louis Kim.

1. 목적

- MS SQL 의 데이터를 Oracle 로 Migration

- 10g 및 11g 테스트 진행 / MS SQL Server 2008 R2

2. 테스트 장비 및 Tool Version

- 10.2.0.5 / sqldeveloper64-3.0.04.34-no-jre

- 11.2.0.4 / sqldeveloper-4.1.3

3. SQL Developer 환경셋팅 (모든 SQL developer 버전 동일)

- SQL Developer 에서 MS SQL 로 접속하기 위해서 JDBC 드라이버 추가 필요

- jtds-1.3.1-dist.zip (http://sourceforge.net/projects/jtds/) 파일을 다운 받아서 압축풀기

- sql developer -> 도구 -> 환경설정 -> 데이터베이스-> 타사 JDBC 드라이버 -> 항목 추가 (압축 푼 Jar 파일 등록)

 

 

4. Oracle 접속 및 MS SQL 접속

Oracle 권한은 가급적 DBA 권한을 부여하여 진행 (Migration 작업 시 오류 발생하며, 제대로 작업이 진행되지 않음)

- 2개의 DB에 모두 동시에 접속이 가능

- MS SQL Server 접속

  

- Oracle 접속

 

- 접속 확인

 

 

5. 저장소 생성(Repository)

- Migration 하기 전에 저장소를 반드시 생성

- 저장소는 메타 데이터를 수집 및 변화를 해주는 작업을 해주는 곳

The Migrations Repository is a database schema that stores the meta_data collected and transformed in the migration process.

- 저장소 생성(저장소는 Oracle 에서 생성)

저장소를 생성할 신규 유저(DBA권한을 보유한 유저)로 진행

CREATE USER MIG_USER IDENTIFIED BY MIG_USER DEFAULT TABLESPACE USERS;

GRANT CONNECT, RESOURCE, DBA TO MIG_USER;

생성한 유저(MIG_USER) 로 접속한 후 저장소 생성

도구[탭] -> 이전 -> 저장소 관리 -> 저장소 생성

저장소 생성 시 해당 접속 정보(11g_MIG_USER)로 생성

 

 

 

6. Migration 진행

6-1. MS Server To Oracle 11g

A. Migration 하려는 MS sql 데이터 베이스를 우클릭 하여 [Oracle 이전]을 선택

 

B. [이전 마법사] 대로 진행

 

저장소의 경우 앞에서 진행하면서 생성한 저장소를 선택


이름 및 폴더 디렉토리를 지정(Log가 저장)

로그 폴더에 Migration script가 생성 및 저장


온라인으로 진행 시 현재 MSSQL DB의 내용을 가져오게 되며, 오프라인으로 진행 시 Dump파일을 이용하여 MSSQL DB의 내용을 가져오게 된다. (MSSQL 의 dump는 *.ocp 파일을 선택)


데이터 Type을 정할 때 기준으로 삼는 데이터베이스 선택

Data type을 확인 후 변경이 필요할 경우 변경


참고) 블로그1

DATETIME -> TIMESTAMP(6) 에서 DATETIME -> DATE 로

BIGINT -> NUMBER(10,0) 에서 BIGINT -> NUMBER(19,0)



변환할 Object들을 선택


온라인으로 하는 경우 Oracle에 스크립트가 생성

오프라인으로 설정할 경우 생성 스크립트가 설정한 디렉토리에 저장


온라인으로 진행하는 경우 Oracle에 데이터가 자동으로 저장

오프라인으로 하는 경우 저장소에서 만든 경로에 스크립트가 생성



마지막으로 확인 및 진행


완료

 

확인(User 생성 여부)

 

Table 및 객체 생성 확인

 

 - Migration 이 완료 되면 우측과 같이 저장소에 해당 내역이 저장되어 있는 것을 확인 가능

 - Oracle 에서는 Mig 라는 유저가 생성되어 생성된 유저로 MS SQL 의 정보들이 migration 이 된 것을 확인





6-2. MS Server To Oracle 10g

10g와 동일한 방법으로 진행 하되, 다음과 같은 버전으로 진행(하위버전) sqldeveloper64-3.0.04.34-no-jre

7. 비고

A. 설정 시 문제 사항

요청한 작업을 수행하는 중 오류 발생:

I/O Error: SSO Failed: Native SSPI library not loaded. Check the java.library.path system property.

위의 jtds-1.3.1-dist.zip 을 푼 파일에서 \jtds-1.3.1-dist\x64\SSO 내의 ntlmauth.dll 를 C:\Windows\System32 내에 붙여 넣은 후 종료 후 다시 실행하여 진행


SQL Developer 실행 시 "Unable to create an instance of the Java Virtual Machine error" 오류 발생 : "SQL Developer 설치 폴더"\ide\bin 폴더 내의 ide.conf 파일을 편집기로 열어서 다음과 같이 수정

AddVMOption -Xmx256M 

SQL Developer 실행 후 브라우저 창이 안 보이는 경우 : 윈도우 탐색기 옵션에서 "보호된 운영 체제 파일 숨기기"을 해제해야 하고 "숨김 파일 및 폴더 표시"을 설정

"C:\Users\사용자 계정명\AppData\Roaming" 폴더 내의 "SQL Developer" 폴더 삭제 후 다시 SQL Developer 실행


B. 추가 시 작성



반응형

+ Recent posts