오라클 클라우드를 예전부터 사용해보고 싶었지만 회원가입을 안 시켜줘서 사용하지 못했었는데, 이번에 회원가입이 되었다! 듣기로는 회원가입이 되어도 인스턴스 생성을 못한다고 들었는데, 바로 생성되었다.

오라클 해킹 이슈로 불안한 마음이 있지만, 이번 일을 계기로 전체 보안에 더 신경 쓰지 않을까 하는 생각에 기존에 사용하던 서버를 옮기기로 결정하였다!
오라클 해킹이슈
이전에 사용하던 서버는 우리나라에서 제공하는 서비스 업체를 사용했었고, 한글이 제공되며 현대적이고 이해하기 쉬운 UI 구조라서 너무 마음에 들었지만!
새벽에 가끔씩 서버가 응답을 안 하거나 갑자기 긴급 점검을 한다거나 하는 상황도 있어서 내 프로젝트가 사용자에게 배포되기 전에는 무조건 옮겨야겠다는 생각을 했었다.
오라클은 선택한 가장 큰 이유는 프리티어 혜택이 가장 큰 이유였고, 송수신, 스토리지 비용이 저렴하다고 생각이 들었다.

하지만..레퍼런스가 정말 많이 없다...
aws를 검색하면 엄청나게 많은 정보들이 있는데, 오라클은 확실히 적다.. 오히려 글이 많이 없는 것이 더 사용하고 싶은 마음이 들었고, 직접 헤딩하면서 정리하기 위해 오라클로 최종 결정 하였다.
aws 에서는 iam이 있어서 그랬던건가 복잡하다고 느껴졌는데, oracle 에서는 instance, db 생성이 정말 간단했다.. 이게 끝인가? 싶을정도로 간단했다. 이건 아직 처음 사용해봐서 모르는 것 일수도 있다..!

처음에 Oracle Linux로 설정이 되어있는데, 이것도 Price Free 버전이 있다.
나는 Ubuntu Canonical Ubuntu 20.04 선택하였다.

cpu는 기본으로 선택되어 있는걸 선택했다. 확인해보니 프리요금제로 선택이 되어있는 모습


Security
여기서 제공해주는 Security가 무엇을 뜻하는지 잘 모르겠다.
보안을 강화해주는 것 같은데, 읽다가 어려워서 포기!
기본적으로 해제 토글이 선택되어 있고 크게 보안이 필요하지 않아서 해제 된 상태로 진행
아래 링크 확인
보안 관련 제공 자료 링크
Networking
Automatically assign public IPv4 address 할당만 확인하고 진행
자동으로 체크 되어있다.

Add SSH keys
Generate a key pair for me로 시작하고 싶었는데, 어떤 블로그 글에서 접근 오류에 고생했다는 글을 봐서 그 분과 같이 paste public key로 진행하였다.

GPT 한테 물어봐도 잘 알려준다.
ssh 키페어 생성 자료 링크
키 정보를 어디부터 첨부해야하는지 10초정도 고민했는데 입력창 바로 아래에 example : ssh-rsa 라고 잘 나와있었다..ㅎㅎ;
Boot volume
확실하진 않다. 50GB 이상(?) 초과(?) 설정하면 나중에 바꿀 수 없다는 블로그 글을 봤는데, 벌써부터 모험을 하고 싶지는 않기에 기본 값인 46.6GB로 설정하여 진행하였다.


Transaction Processing 선택
그리고 패스워드만 입력해주고 나머지는 기본값으로 진행
비밀번호 꼭 확실하게 알아야한다... 이유는 이따가..!

IntelliJ IDEA Ultimate,
java 21v
implementation("com.oracle.database.jdbc:ojdbc11:23.7.0.25.01")
implementation("com.oracle.database.security:oraclepki:23.7.0.25.01")
implementation("com.oracle.database.security:osdt_cert:21.17.0.0")
implementation("com.oracle.database.security:osdt_core:21.17.0.0")
repositories {
mavenCentral()
maven {
url = uri("https://maven.oracle.com")
credentials {
username = "oracle id"
password = "oracle password"
}
}
}
properties
spring.datasource.url=jdbc:oracle:thin:@{TNSNAME}?TNS_ADMIN={파일경로}
spring.datasource.username={DBID}
spring.datasource.password={DBPASS}
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
이제 연결하기
내가 만든 db 페이지 접근

db 연결

wallet

이걸 다운받는다. 여기서 아까 비밀번호를 기억하라는 말이 여기서 중요해진다..
비밀번호를 막 입력해도 발급이 된다...!!!!! 비밀번호가 틀려도 유효하지 않아도 다운로드가 되어서 몇 시간을 날렸는지 모르겠다..
왜냐하면 oracle 계정 비밀번호는 특수기호가 하나면 되지만 db 생성할 때 비밀번호는 특수기호가 2개 들어간다ㅠㅠ! 계정 비밀번호랑 똑같다고 착각했다..
다운받고 압축을 풀면

파일들이 나온다.
tnsnames.ora
아까 properties에서 {TNSNAME} 여기에 해당하는게 tnsname.ora 파일에 작성되어있다.
dbusername은 기본적으로 ADMIN으로 되어있다. 확인이 하고 싶다면


ㅎㅎ..이건 3시간 삽질하며 찾은 정보이다.
기존에 db 연결할 때 port, url로 접근하였지만 이건 TNS 로 변경해줘야한다.
TNSADMIN : 이건 wallet 파일을 압축을 푼 경로를 지정한다.
TNS name : wallet 경로가 잘 지정이 되었다면 알아서 잘 뜬다

만약 안뜬다면 위에서 말했던 tnsnames 파일을 열면 확인 가능

