[OCI / Database] ATP OracleDB 구축, 기존 데이터 복사, Spring boot와 DB 연결

dOcOb·2023년 2월 4일
0

OCI 연대기

목록 보기
3/5

OCI에서 무료로 제공하는 Database 서비스 중에 Autonomous Database 에는 아래 3가지가 있다.

  1. Autonomous Data Warehouse
  2. Autonomous JSON Database
  3. Autonomous Transaction Processing

이 중에 3번 Autonomous Transaction Processing (ATP) 를 사용해 클라우드 데이터베이스를 만들어보자.




1. Oracle DB 구축하기


Autonomous Database 가이드
Autonomous Data Warehouse 가이드



1.1 Compartment 추가하기


Compartment(구획)는 OCI자원을 구조적으로 나누어 관리하기 위한 폴더같은 것이다.

=> compartments를 검색하고 Compartments 클릭!

사용자 이름으로 된 compartment (root) 와
"ManagedCompartmentForPaaS"로 된 compartment 하나가 기본으로 생성되었다.

현재 Compartments 상태

abg1418(root)
   ㄴ ManagedCompartmentForPaaS

compartment를 하나 추가해보자.

Create Compartment 클릭하고 'Compartment 이름'과 'Compartment 설명'을 입력.
만들고 보니 Database말고 다른 것도 관리하려면 이름을 바꿔야 할 것 같아서 "Nomal"로 바꿨다.

*** ④ Create Compartment를 클릭한 후, 새로고침을 하면 새로 생긴 Compartment가 보인다.



1.2 Autonomous Database


=> Autonomous Database 클릭


=>
① 좌측 Compartment에서 아까 만든 Compartment를 클릭하여 선택 후,
② 클릭


=>
Display name, Database name 을 정하고,
Transaction Processing,
Shared infrastructure를 선택한다.

가이드에서 Data Warehouse와 Transaction Processing

Oracle Autonomous Data Warehouse is a cloud data warehouse service that eliminates virtually all the complexities of operating a data warehouse, securing data, and developing data-driven applications.

Oracle Autonomous Transaction Processing is a cloud database service that eliminates the complexity of operating and securing high-performance databases.

가이드에 Transaction Processing에 high-performance라는 말이 있어서 이걸 쓰기로 했다.


=> 무료 서비스를 사용할 것이기 때문에 Always Free를 선택한다.


=>
ⓛ 관리자 비밀번호를 설정한 후,
쭈우우욱 내리면 맨 아래에 여러가지 정보를 통보받을 메일을 입력하고,
② 나머지는 기본으로 설정되어있는 상태로 만든다.


비밀번호 조건

암호는 12자에서 30자 사이여야 하며 하나 이상의 대문자, 하나의 소문자 및 하나의 숫자를 포함해야 합니다. 암호에는 큰따옴표(") 문자나 사용자 이름 "admin"을 사용할 수 없습니다.




2. Oracle DB 접속하기


=> Database connection을 눌러보자.



2.1 Connection 정보


Wallet을 다운받을 수도 있고 Connection Strings 도 볼 수 있다.

Connection Strings에 TNS name이 있는데 아래 링크에 따르면,

TNS Name 가이드

TNS Name설명
high보고 및 배치 작업 서비스 중에 우선순위가 가장 높고, 병렬처리를 지원함
midium보고 및 배치 작업 서비스 중에 우선순위가 보통이고, 병렬처리를 지원함
low보고 및 배치 작업 서비스 중에 우선순위가 가장 낮고, 병렬처리를 지원하지 않음
tp트랜잭션 처리를 위한 서비스 중에 우선순위가 낮고, 병렬처리를 지원하지 않음
tpurgent트랜잭션 처리를 위한 서비스 중에 우선순위가 높고, 수동 병렬처리를 지원함



2.2 연결 테스트


=> Download Wallet 클릭!

=> 비밀번호를 입력하고 다운받는다.

다운받고 압축을 풀면 이런 파일들이 있다.


이후 참고링크

About Connecting to an Autonomous Database Instance
인텔리제이 Database, OCI 연결 가이드
Wallet 없이 Connection String 으로 JDBC 연결하기

2.2.1 SQL Developer와 ATP 연결

SQL Developer 다운로드 링크

=> 접속 유형 변경

=>
① 접속 이름 입력.
② ADMIN 과 비밀번호 입력.
③ 다운받은 Wallet_[DB이름].zip 파일을 압축 푼 상태가 아닌 압축된 상태로 입력.
④ 사용할 TNS name 선택.
⑤ ~ ⑦ 테스트 결과 확인 후 접속.



2.3 Spring boot에서 DB연결하기


local에서 ATP로 데이터 삽입하기

넣어야 할 데이터를 DB에 복사를 하고 application에서 접근하려고 한다.
여러가지 방법을 해보다가 TLS 인증을 해제하고,
내 PC 또는 서버 PC에만 엑세스 권한을 주어 사용하려고 한다.


2.3.1 ATP 네트워크 설정 변경

=> '내 IP주소 추가' 를 통해 내 IP를 추가하거나 사용하는 서버의 IP or VCN을 추가한다.

=> 'mTLS 인증 필요' 체크박스를 해제한다.

2.3.2 Connection String

Wallet_[DB이름] 폴더에서 tnsnames.ora를 열어서,
어플리케이션에서 연결할 TNS를 선택하여 Connection String을 ()째로 복사한다.


2.3.3 application.properties

local에서 프로젝트를 실행할 때는 properties에 아래의 코드를 넣었었다.

spring.datasource.driver-class-name=oracle.jdbc.OracleDriver spring.datasource.url=jdbc:oracle:thin:@localhost:1521:XE
spring.datasource.username=[username]
spring.datasource.password=[password]

jdbc:oracle:thin:@localhost:1521:XE 를 대신

복사한 String을 url에 입력한다.
jdbc:oracle:thin:@[Connection String]


끝!

profile
반은 해야 시작이다.

0개의 댓글