OCI에서 무료로 제공하는 Database 서비스 중에 Autonomous Database 에는 아래 3가지가 있다.
이 중에 3번 Autonomous Transaction Processing (ATP) 를 사용해 클라우드 데이터베이스를 만들어보자.
Compartment(구획)는 OCI자원을 구조적으로 나누어 관리하기 위한 폴더같은 것이다.
=> compartments를 검색하고 Compartments 클릭!
사용자 이름으로 된 compartment (root) 와
"ManagedCompartmentForPaaS"로 된 compartment 하나가 기본으로 생성되었다.
현재 Compartments 상태
abg1418(root)
ㄴ ManagedCompartmentForPaaS
compartment를 하나 추가해보자.
Create Compartment 클릭하고 'Compartment 이름'과 'Compartment 설명'을 입력.
만들고 보니 Database말고 다른 것도 관리하려면 이름을 바꿔야 할 것 같아서 "Nomal"로 바꿨다.
*** ④ Create Compartment를 클릭한 후, 새로고침을 하면 새로 생긴 Compartment가 보인다.
=> 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"을 사용할 수 없습니다.
=> Database connection을 눌러보자.
Wallet을 다운받을 수도 있고 Connection Strings 도 볼 수 있다.
Connection Strings에 TNS name이 있는데 아래 링크에 따르면,
TNS Name | 설명 |
---|---|
high | 보고 및 배치 작업 서비스 중에 우선순위가 가장 높고, 병렬처리를 지원함 |
midium | 보고 및 배치 작업 서비스 중에 우선순위가 보통이고, 병렬처리를 지원함 |
low | 보고 및 배치 작업 서비스 중에 우선순위가 가장 낮고, 병렬처리를 지원하지 않음 |
tp | 트랜잭션 처리를 위한 서비스 중에 우선순위가 낮고, 병렬처리를 지원하지 않음 |
tpurgent | 트랜잭션 처리를 위한 서비스 중에 우선순위가 높고, 수동 병렬처리를 지원함 |
=> Download Wallet 클릭!
=> 비밀번호를 입력하고 다운받는다.
다운받고 압축을 풀면 이런 파일들이 있다.
이후 참고링크
About Connecting to an Autonomous Database Instance
인텔리제이 Database, OCI 연결 가이드
Wallet 없이 Connection String 으로 JDBC 연결하기
=> 접속 유형 변경
=>
① 접속 이름 입력.
② ADMIN 과 비밀번호 입력.
③ 다운받은 Wallet_[DB이름].zip 파일을 압축 푼 상태가 아닌 압축된 상태로 입력.
④ 사용할 TNS name 선택.
⑤ ~ ⑦ 테스트 결과 확인 후 접속.
넣어야 할 데이터를 DB에 복사를 하고 application에서 접근하려고 한다.
여러가지 방법을 해보다가 TLS 인증을 해제하고,
내 PC 또는 서버 PC에만 엑세스 권한을 주어 사용하려고 한다.
=> '내 IP주소 추가' 를 통해 내 IP를 추가하거나 사용하는 서버의 IP or VCN을 추가한다.
=> 'mTLS 인증 필요' 체크박스를 해제한다.
Wallet_[DB이름] 폴더에서 tnsnames.ora를 열어서,
어플리케이션에서 연결할 TNS를 선택하여 Connection String을 ()째로 복사한다.
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]
끝!