M1 맥북은 Apple Silicon 칩셋이다.
기존 Intel 칩셋(x86-64 기반)에서 Apple Silicon 칩셋(ARM 64 기반)으로 변경되었고,
Mac OS 라는 운영체제까지 더해지니 오라클 DB를 로컬 저장소에 생성할 수 없었다.
하지만 클라우드에 DB를 생성해놓으면 언제 어디서나 모든 컴퓨터로 접속할 수 있기 때문에
팀프로젝트를 할 때 다 같이 쉽게 공유할 수 있다는 점이 있다.
그럼 m1 맥북도 oracle db를 쓸 수 있는 방법을 알아보자.
🧐 그렇다면 클라우드 DB는 어떤 것을 써야하는가?
- 아마존 AWS
- 마이크로소프트 Azure
- 구글 Google Cloud
- 오라클 Oracle Cloud
이렇게 클라우드 서비스는 여러 기업들에서도 하고 있고 그 중 대표적인 4가지를 적어보았다.
대부분 Free Tier라고 무료로 쓸 수 있는 기간이나 요금제가 있다.
나는 아마존 AWS를 써보았기 때문에 AWS RDS 를 이용하여 오라클(Oracle) DB를 생성하려고 했었다.
하지만 Free Tier에서는 오라클을 사용할 수 없었고, Maria DB와 MySQL,PostgreSQL 등을 사용할 수 있었다.
그래서 다른 클라우드 서비스를 찾아보다가 오라클 클라우드(Oracle Cloud)를 쓰는 것으로 결정하게 되었다.
1. Oracle Cloud 가입하기
먼저 오라클 클라우드 사이트에 접속하여 회원가입을 진행한다.
사이트에 접속하게 되면 Oracle Free Tier의 기능과 특징, 그리고 AWS 와의 비교했을 때의 얻는 이점을 설명해준다.
로그인을 누르면 위와 같은 화면으로 오는데 회원가입을 하기 위해 Sign Up 을 누른다.
국가, 이름, 성, 이메일을 입력하고 내 전자메일 확인 을 누른다.
그러면 입력한 이메일로 인증 메일이 전송되는데 인증을 누른다.
인증을 누르면 위와 같은 화면으로 나오게 된다.
빨간색으로 적어놓은 부분이 필수로 입력해야 하는 부분이다.
이름, 성, 이메일은 전에 적어놓은 데이터가 자동으로 입력되어 있다.
비밀번호와 클라우드 계정 이름을 적으면 되는데, 클라우드 계정 이름은 나중에 바꿀 수 있다.
그리고 이 화면 밑에 중요한 부분인 리전을 정하는 곳이 있다.
리전은 서비스 거점, 즉 위 사진과 같이 홈 영역이라고 나와있다.
대한민국에서는 서울과 춘천이 있다.
주의할 점은 서울은 수요가 높기 때문에 인스턴스 가용성이 제한적이므로 춘천을 선택하는 것이 좋아보인다.
그 후 주소와 전화번호를 인증하고나면 만들어진다.
내 기억상으로는 이후에 카드를 등록하는 화면이 나왔던 걸로 기억하는데 안나오면 다음에 등록하면 된다.
2. Oracle Cloud DB 생성하기
자 이제 회원가입을 끝냈으니 본격적으로 DB를 만들어 보자.
로그인을 하면 아래와 같은 화면을 볼 수 있다.
우측 상단에서 언어를 바꿀 수 있다.
이제 DB를 생성하려면 중앙에 빨간색 네모칸 2개 중 하나를 선택하면 된다.
전부 오라클에서 자율운영을 하는 DB로써, 머신러닝을 통해 DBA가 수행하던 튜닝, 보안, 백업, 업데이트 같은 일상적인 관리 업무를 자동화하는 클라우드 데이터베이스이다.
기존 DB와 달리 사람의 개입없이 수행한다는 특징이 있는데 이런걸 보면 데이터가 크게 중요하지 않은 사기업에서는 DBA가 크게 필요하지 않을 것같다. 클라우스 서비스에서 알아서 해주니까 말이다.
그렇다면 ATP와 ADW 차이가 궁금할 수 있는데,
ADW는 가장 많이 자동화되어 있어서 DBA가 개입할 수 없고,
ATP는 압축과 인덱스같은 여러 작업들을 DBA가 직접 개입할 수 있다.
(웹 서비스를 할거면 ATP(Autonomous Transaction Processing) 선택 후 Apex을 이용하라는 글이 있다.)
일단 우리는 ATP 데이터베이스를 생성해보자.
ATP 데이터베이스 생성을 누르면 위 화면이 표시된다.
구획은 root로 그대로 두면되고,
표시 이름은 화면에도 나와있듯이 쉽게 식별하도록 도와주는 사용자에게 친숙한 이름이다.
데이터베이스 이름은 접속하기 위한 이름이다.
작업 로드 유형 선택은 트랜잭션 처리인 ATP가 선택되어 있다.
배치 유형 선택에 공유 인프라로 선택하면 된다.
그 후 데이터베이스 구성은 항상 무료 부분을 클릭하고 넘어가면 된다.
Free Tier 를 읽어봤으면 알겠지만 항상 OCPU 1개와 스토리지 20GB를 제공한다.
그 후 관리자 인증서 생성한다.
사용자 이름은 ADMIN으로 고정되어 있으며, 비밀번호만 생성한다.
네트워크 액세스는 모든 곳에서 보안 액세스를 하면 되는데 불안하면 두번째인 허용되는 IP 를 클릭하여 따로 설정한다.
이제 라이센스 포함됨을 선택하고 자율운영 데이터베이스 생성 을 클릭하면 오라클 클라우드 DB 생성 완료이다.
데이터베이스 생성을 누르면 위 화면처럼 DB생성중인데 조금만 기다리면 DB가 생성완료된다.
3. Oracle Cloud DB 접속하기
이제 DB가 사용가능하다고 뜬다.
데이터베이스 이름을 확인하고 DB 접속 을 클릭한다.
인스턴스 전자 지갑으로 전자 지갑 다운로드 한다.
전자지갑에 대한 비밀번호를 생성하고 다운로드를 하면 전자지갑이 다운로드 된다.
자 이제 SQL Developer로 오라클 클라우드 DB에 접속해보자
좌측 상단에 십자가 모양을 클릭해 새로운 연결을 만들자.
1번 : 이 접속을 뜻하는 접속 이름이다. 아무거나 적어도 된다.
2번 : admin 을 입력한다.
3번 : admin 계정의 비밀번호를 입력한다. 관리자 인증서 생성할 때 입력했던 비밀번호이다.
4번 : 우리가 접속하려는 유형은 클라우드 전자 지갑 이다.
5번 : 전자 지갑을 다운받았었는데 그 경로를 찾아서 압축되어있는 전자지갑 파일을 선택하면 된다.
SQL Developer의 찾아오기에서 다른 폴더를 읽을 수 없다면?
/usr/bash 에 전체 디스크 액세스 권한을 부여해야한다.
시스템 환경설정에서 보안 및 개인 정보 보호를 들어간다.
그 후 전체 디스크 접근 권한에서 bash를 추가하여 허용해줘야 한다.
만약에 없다면 중앙의 + 를 눌려서 추가한다.
그리고 Shift+Command+G 를 눌려서 다음과 같이 /bin 경로로 들어간다.
그렇게 들어가서 bash를 추가하면 된다.
1번 : 서비스 유형에 따라서 DB 쿼리 성능이나 동시성 등이 달라지게 된다.
(서비스 유형을 자세히 알고 싶으면 오라클 공식문서를 참조하자. 이때 우리는 ATP를 했으므로 Topics 두번째를 클릭하여 살펴보자)
공식문서를 참고해보면 DB를 연결할 때 서비스를 선택해야 한다.
서비스의 이름은 다음과 같다. 이 서비스들은 소비자 그룹(consumer groups)에 매핑된다.
- 데이터베이스 이름_tpurgent : 시간이 중요한 트랜잭션 처리 작업을 위한 가장 높은 우선 순위의 응용 프로그램 연결 서비스이다. 수동 병렬 처리를 지원한다.
- 데이터베이스 이름_tp : 트랜잭션 처리 작업을 위한 일반적인 응용 프로그램 연결 서비스이다. 병렬 처리로 실행되지 않는다.
- 데이터베이스 이름_high : 보고 및 일괄 작업을 위한 우선 순위가 높은 응용 프로그램 연결 서비스이다. 모든 작업은 병렬로 실행되며 대기열(Queue)에 포함된다.
- 데이터베이스 이름_medium : 보고 및 일괄 작업을 위한 일반적인 응용 프로그램 연결 서비스이다. 모든 작업은 병렬로 실행되며 대기열(Queue)에 포함된다. 이 서비스를 사용하면 병렬 처리 수준이 4로 제한된다. 동시성 제한(concurrency limit)을 수정할 수 있다.(이 경우 병렬 처리 수준도 변경됨)
- 데이터베이스 이름_low : 보고 또는 일괄 처리 작업을 위한 가장 낮은 우선 순위의 응용 프로그램 연결 서비스이다. 이 연결 서비스는 병렬 처리로 실행되지 않는다.
서비스를 사용하여 연결할 때 Autonomous Database는 소비자 그룹을 설정하는 것보다 연결을 구성하는게 더 많은 작업을 수행함
공식문서를 참고하면 위와 같은 내용이 있다.
위 내용을 참고하여 우리는 high로 설정하여 해보자.
2번 : 테스트를 클릭하였을때 좌측 하단에 상태가 성공으로 뜨면 전부 잘 입력한 것이다.
3번 : 이제 이 접속 정보들을 저장하여 다음번에도 편하게 불러오자.
4번 : 바로 접속하면 DB를 쓸 수 있다.
접속하면 다음과 같이 sql 쿼리문을 작성할 수 있는 곳이 나오면 성공이다.
마지막으로 확인하기 위해 위 쿼리문을 입력해서 위와 같은 결과가 나오면 정상적으로 접속이 잘 된 것이다.
'데이터베이스' 카테고리의 다른 글
FK(외래키)를 주식별자인 기본키(PK)로 꼭 넣어야할까? 아니면 비식별자로 넣어야할까? (2) | 2024.02.05 |
---|---|
맥 m1 mysql 데이터베이스 경로(위치) 찾기 (0) | 2023.08.01 |
인덱스(index)란? (0) | 2023.03.23 |
H2 데이터베이스 설치 (0) | 2022.02.17 |
오라클 클라우드 DB - 스프링부트 프로젝트 연결 (4) | 2022.02.13 |