Autonomous Database (자율운영 데이터베이스) 목록 화면에서 선택된 Compartment (컴파트먼트) 를 확인하고 “자율운영 데이터베이스 생성” 버튼을 클릭합니다.
Autonomous Database 에서는 사용자 관리, SQL Developer, Data Loader 등 다양한 데이터베이스 사용 툴들을 제공합니다. 데이터베이스에 신규 스키마를 생성하고 어플리케이션 개발을 위해 스키마의 Owner 인 신규 사용자를 생성해야 합니다. (기본적으로 생성된 관리자 사용자인 ADMIN 사용자는 관리 용도로만 사용 권고) 데이터베이스 사용자 관리 툴을 이용하여 사용자 추가를 실습합니다.
Autonomous Database 의 상세 화면에서 우측 상단의 “모든 데이터베이스 작업 보기” 버튼을 클릭하면 별도의 브라우저 윈도우가 팝업되어 사용할 수 있는 Autonomous Database 사용 Tool들이 있는 Database Actions 메뉴 화면이 나타납니다.
Database Actions 메뉴에서 관리 탭의 데이터베이스 사용자 메뉴를 선택하여 클릭하면 사용자를 추가할 수 있는 화면으로 전환됩니다.
전환된 사용자 관리 화면에서 “+사용자 생성” 버튼을 클릭하면 사용자를 추가할 수 있는 메뉴가 나타납니다.
추가한 사용자(예:APPDEVELOP)가 사용자 목록에 나타났는지 확인 후 로그인된 ADMIN 사용자를 사인아웃합니다.
로그아웃을 수행하면 다시 로그인 화면이 나타납니다. 추가한 사용자(예:APPDEVELOP)로 Database Actions 화면으로 제대로 로그인이 되는지 확인합니다.
로그인한 Database Actions 화면에서 개발 탭의 SQL 메뉴를 클릭하여 SQL Developer 가 실행되는지 확인합니다.
이제 준비된 Autonomous Database 에 추가한 사용자의 스키마에 데이터를 로딩하는 방법에 대해 살펴봅니다. Autonomous Database 는 보다 손쉽게 데이터를 로딩할 수 있는 방법을 제공합니다. 로컬에 있는 CSV 파일을 Autonomous Database 로 데이터를 로딩하는 방법에 대해 실습합니다.
Database Actions 의 Data Load 툴을 이용하여 Local Disk 에 있는 CSV 파일을 Loading 할 수 있습니다. 먼저, 아래의 화면에서 Data Studio 의 데이터 로드 메뉴를 선택합니다. 전환된 데이터 로드 화면에서 데이터 로드 타일을 선택합니다.
데이터 로드 메뉴에서 로컬 파일 메뉴를 선택하면 아래에 로컬 파일을 업로드 할 수 있는 창이 나타납니다. 로컬 파일을 Drag 해서 파일을 끌어 놓거나 파일 선택 버튼을 클릭하여 로드할 데이터 CSV 파일을 선택하여 줍니다.
선택한 CSV 파일이 업로드되고 해당 파일을 Database 에 로드하기 전에 검토할 수 있습니다. 업로드된 파일명을 클릭하면 아래와 같이 테이블의 이름은 어떤 이름으로 만들 것인지 혹은 기존 테이블이 존재하면 데이터를 삽입하거나 병합할 것인지를 선택할 수 있습니다. 테이블 이름은 파일이름을 기준으로 자동으로 입력이 되는데 원하는 이름으로 변경할 수 있습니다.
닫기 버튼을 클릭하고 파일 목록 상단의 시작 버튼을 클릭하면 데이터 로딩을 시작합니다. 데이터 로딩이 완료되면 로딩 결과 보고서를 확인하실 수 있습니다.
로딩된 데이터를 확인하기 위해서 Database Actions 툴에서 제공하는 SQL Developer 를 통해 확인할 수 있습니다.
데이터를 Object Storage 에 대량으로 Parquet 파일 형태로 보관하고 있을 경우, Autonomous Database 의 Data Loader 툴을 통해 직접 Object Storage 에서 Autonomous Database 로 Data Load 를 수행할 수 있습니다.
Object Storage 에 있는 Parquet 파일을 Data Loading 하기 위해 Parquet 파일을 준비하여 Object Storage 로 업로드 합니다. 테스트를 위해 공개된 Parquet 파일을 다운로드하여 Object Storage 로 업로드 실습을 진행합니다. 먼저, 버킷 생성을 위해 Object Storage 의 버킷 메뉴로 이동합니다.
컴파트먼트를 확인한 후 버킷 생성 버튼을 클릭한 후 버킷 이름을 입력하고 스토리지 계층을 표준으로 선택한 후 버킷 생성 버튼을 클릭합니다.
생성된 버킷의 가시성이 기본적으로 프라이빗으로 설정된 것을 확인할 수 있는데, 편의상 이번 실습에서는 간편하게 스토리지의 인증 정보를 설정하지 않는 방법으로 간편하게 데이터 로딩을 하기 위해 가시성을 퍼블릭으로 편집합니다. (권고 사항은 보안을 위해 Object Storage 의 가시성은 프라이빗으로 설정을 권고합니다.)
버킷을 클릭하여 버킷의 상세 정보로 접근해서 객체 탭을 클릭하면 버킷에 올라가 있는 파일이나 폴더의 객체를 확인하실 수 있습니다. 객체 업로드 버튼을 클릭하여 로컬 디스크에 준비한 Parquet 파일들을 Object Storage 의 Bucket 에 업로드 합니다.
업로드된 Object Stroage 의 데이터를 접근하기 위해서는 객체의 위치 정보인 URI 정보를 획득해야 합니다. URI 정보는 아래와 같은 샘플 형식으로 객체의 위치 정보가 저장되어 있습니다. 객체의 위치 정보는 아래 화면과 같이 객체 세부정보 보기 메뉴를 선택하여 확인할 수 있습니다.
https://objectstorage.<region>.oraclecloud.com/n/<namespace>/b/<bucket>/o
로컬 파일 업로드와 동일하게 Database Actions 의 Data Load 툴을 이용하여 Object Storage 의 Parquet 파일을 Loading 할 수 있습니다. 먼저, 아래의 화면에서 Data Studio 의 데이터 로드 메뉴를 선택합니다. 전환된 데이터 로드 화면에서 데이터 로드 타일을 선택하고 전환된 화면에서 상단 탭의 클라우드 저장소를 클릭하시고 클라우드 저장소 위치 생성 버튼을 클릭합니다.
아래의 화면에서 버킷 URI 정보에 앞의 5번 단계에서 획득한 URI 정보를 복사하여 붙여넣기 한 후 다음 버튼을 클릭해 줍니다.
URI 정보에 정확한 정보가 입력되면 아래와 같이 업로드가 가능한 파일 목록이 나타납니다. 생성 버튼을 클릭하여 클라우드 위치 정보 생성을 마칩니다.
좌측의 Object Storage 내의 파일 목록에서 데이터 로드를 수행할 파일을 선택하고 우측의 창에 Drag & Drop 을 해 놓으면 아래 화면 처럼 데이터 로드가 준비됩니다. 시작 버튼을 클릭하여 데이터 로드를 시작합니다. 업로드가 완료되면 아래 그림과 같이 결과 보고서를 확인하실 수 있습니다. 여러개의 Parquet 파일이 있다면 반복적으로 수행하실 수 있습니다.
Object Storage 로부터 로딩된 Parquet 데이터 결과를 확인하기 위해서 Database Actions 툴에서 제공하는 SQL Developer 를 통해 확인할 수 있습니다. SQL Developer 의 좌측 네비게이터 목록에 테이블들이 추가된 것을 확인할 수 있고, 우측의 쿼리 결과 데이터가 성공적으로 로드가 된 것을 확인할 수 있습니다.
지금까지 Autonomous Database 에 Local Disk 와 Object Storage 에 저장된 CSV 파일, Parquet 파일을 Autonomous Database 에 기본적으로 탑재되어 있는 Data Loading 툴을 이용하여 손쉽게 Load 를 해 보았습니다. Autonomous Database 에 저장된 데이터를 조회할 수 있는 Python, Java, Node.js 어플리케이션 프로그램 개발 방법도 다루도록 하겠습니다. 아래 참고 자료 링크를 참조하세요.
이 글은 개인적으로 얻은 지식과 경험을 작성한 글로 내용에 오류가 있을 수 있습니다. 또한 글 속의 의견은 개인적인 의견으로 특정 회사를 대변하지 않습니다.
Phillsoo Lim DATAPLATFORM
oci database exadata autonomous