Autonomous Database를 사용하여 클라우드 코드 저장소에 파일 관리 및 저장
Autonomous Database는 클라우드 코드(Git) 저장소에서 파일을 관리하고 저장하는 루틴을 제공합니다. 지원되는 클라우드 코드 저장소는 GitHub, AWS CodeCommit 및 Azure 저장소입니다.
관련 항목
Autonomous Database를 사용한 클라우드 코드 저장소 정보
DBMS_CLOUD_REPO
패키지는 Autonomous Database에서 Cloud Code Repository에 액세스하기 위한 단일 인터페이스를 제공합니다.
지원되는 클라우드 코드 저장소는 다음 기능을 제공합니다.
-
Git 버전 제어 시스템: Git는 모든 파일 세트의 변경 사항을 추적하기 위한 소프트웨어로, 일반적으로 소프트웨어 개발 중에 협력적으로 소스 코드를 개발하는 프로그래머 간의 작업을 조정하는 데 사용됩니다. 속도, 데이터 무결성 및 분산된 비선형 워크플로우에 대한 지원이 목표입니다.
-
Git Repository: Git Repository는 프로젝트의 가상 저장 영역입니다. 필요한 경우 액세스할 수 있는 코드 버전을 저장할 수 있습니다.
DBMS_CLOUD_REPO
API는 저장소 핸들(REPO
객체)을 사용합니다. 저장소 핸들은 특정 클라우드 제공자의 클라우드 코드 저장소를 나타내는 불투명 JSON 객체입니다. REPO
객체를 다른 DBMS_CLOUD_REPO
API로 전달할 수 있습니다. 이 불투명 객체는 DBMS_CLOUD_REPO
프로시저 및 함수가 다중 클라우드와 호환되도록 보장합니다. 한 클라우드 코드 저장소 제공자에서 다른 클라우드 코드 저장소로 이전할 때 코드를 변경할 필요가 없습니다.
-
저장소를 초기화할 수 있도록 하는 저장소 초기화 작업입니다.
자세한 내용은 클라우드 코드 저장소 초기화를 참조하십시오.
-
저장소를 생성, 나열, 업데이트 또는 삭제할 수 있는 저장소 관리 작업입니다.
자세한 내용은 클라우드 코드 저장소 생성 및 관리를 참조하십시오.
-
저장소에서 분기를 생성, 나열, 병합 또는 삭제할 수 있는 저장소 분기 관리 작업입니다.
자세한 내용은 클라우드 코드 저장소에서 브랜치 생성 및 관리를 참조하십시오.
-
스키마에 있는 모든 객체의 메타 데이터 DDL을 Repository로 엑스포트합니다.
자세한 내용은 클라우드 코드 저장소 브랜치로 스키마 객체 익스포트를 참조하십시오.
-
파일을 업로드, 다운로드, 업데이트 및 삭제하는 저장소 파일 관리 작업입니다.
자세한 내용은 클라우드 코드 저장소와 함께 파일 작업 사용을 참조하십시오.
-
데이터베이스 객체 메타데이터 DDL을 저장소로 익스포트하고 클라우드 코드 저장소에서 데이터베이스로 SQL 문을 설치할 수 있는 SQL 설치 작업입니다.
자세한 내용은 클라우드 코드 저장소와 함께 SQL 설치 작업 사용을 참조하십시오.
클라우드 코드 저장소 초기화
DBMS_CLOUD_REPO
초기화 루틴은 Cloud Code Repository를 초기화합니다. 클라우드 코드 저장소 핸들을 얻은 후 핸들을 사용하여 클라우드 코드 저장소에 액세스합니다.
클라우드 코드 저장소를 초기화하려면 다음을 수행합니다.
초기화 함수에 대한 자세한 내용은 DBMS_CLOUD_REPO Initialization Operations을 참조하십시오.
클라우드 코드 Repository 생성 및 관리
DBMS_CLOUD_REPO
관리 루틴을 사용하면 저장소를 생성, 나열, 업데이트 또는 삭제하여 클라우드 코드 저장소를 관리할 수 있습니다.
먼저 클라우드 코드 저장소 핸들을 가져와서 저장소에 액세스합니다. 자세한 내용은 클라우드 코드 저장소 초기화를 참조하십시오.
자세한 내용은 DBMS_CLOUD_REPO 저장소 관리 작업을 참조하십시오.
클라우드 코드 저장소에서 브랜치 생성 및 관리
DBMS_CLOUD_REPO
관리 루틴을 사용하면 저장소에서 분기를 생성, 나열, 병합 또는 삭제하여 클라우드 코드 저장소 분기를 관리할 수 있습니다.
클라우드 코드 저장소 분기 관리 작업을 수행하려면 먼저 다음을 수행해야 합니다.
-
인증서 생성.
자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오.
-
핸들을 얻습니다.
자세한 내용은 클라우드 코드 저장소 초기화를 참조하십시오.
-
저장소 생성.
자세한 내용은 클라우드 코드 저장소 생성 및 관리를 참조하십시오.
-
ADMIN 사용자로 로그인하거나
DBMS_CLOUD_REPO
에 대한EXECUTE
권한을 가집니다.
자세한 내용은 DBMS_CLOUD_REPO 저장소 분기 관리 작업을 참조하십시오.
스키마 객체를 클라우드 코드 저장소 분기로 익스포트
DBMS_CLOUD_REPO
관리 루틴을 사용하면 스키마에 있는 객체의 메타데이터를 클라우드 코드 저장소 분기로 익스포트할 수 있습니다. 객체 이름 또는 객체 유형을 기준으로 목록을 필터링할 수 있습니다.
스키마 메타데이터를 익스포트하려면 먼저 다음을 수행해야 합니다.
-
인증서 생성.
자세한 내용은 CREATE_CREDENTIAL Procedure를 참조하십시오.
-
핸들을 얻습니다.
자세한 내용은 클라우드 코드 저장소 초기화를 참조하십시오.
-
저장소 생성.
자세한 내용은 클라우드 코드 저장소 생성 및 관리를 참조하십시오.
-
ADMIN 사용자로 로그인하거나
DBMS_CLOUD_REPO
에 대한EXECUTE
권한을 가집니다.
EXPORT_SCHEMA
프로시저를 사용하여 스키마에 있는 객체의 메타데이터를 클라우드 코드 저장소 분기로 익스포트합니다.
BEGIN
DBMS_CLOUD_REPO.EXPORT_SCHEMA
(
repo => l_repo,
schema_name => 'USER1',
file_path => 'myschema_ddl.sql'
filter_list =>
to_clob('[
{ "match_type":"equal",
"type":"table"
},
{ "match_type":"not_equal",
"type":"view"
},
{ "match_type":"in",
"type":"table",
"name": " ''EMPLOYEE_SALARY'',''EMPLOYEE_ADDRESS'' "
},
{ "match_type":"equal",
"type":"sequence",
"name": "EMPLOYEE_RECORD_SEQ"
},
{ "match_type":"like",
"type":"table",
"name": "%OFFICE%"
}
]'
);
);
END;
/
이 예에서는 USER1
스키마의 메타데이터를 l_repo
저장소로 익스포트합니다. 엑스포트에는 EMPLOYEE_SALARY
및 EMPLOYEE_ADDRESS
테이블의 메타 데이터와 OFFICE
를 포함하는 테이블 이름이 포함됩니다. 또한 EMPLOYEE_RECORD_SEQ
시퀀스를 익스포트하고 스키마에서 뷰를 제외합니다.
클라우드 코드 저장소에서 파일 작업 사용
DBMS_CLOUD_REPO
파일 작업을 사용하면 클라우드 코드 저장소에서 파일을 생성, 가져오기, 나열, 업데이트 또는 삭제할 수 있습니다.
파일 작업을 사용하기 전에 클라우드 코드 저장소 핸들을 가져옵니다. 자세한 내용은 클라우드 코드 저장소 초기화를 참조하십시오.
파일을 작업하기 전에 저장소를 만들어야 합니다. 자세한 내용은 클라우드 코드 저장소 생성 및 관리를 참조하십시오.
자세한 내용은 DBMS_CLOUD_REPO File Operations을 참조하십시오.
클라우드 코드 저장소와 함께 SQL 설치 작업 사용
DBMS_CLOUD_REPO
SQL 설치 작업을 사용하면 클라우드 코드 저장소에서 SQL 스크립트를 저장하고 다운로드할 수 있습니다.
SQL 설치 작업을 사용하기 전에 클라우드 코드 저장소 핸들을 확보하십시오. 자세한 내용은 클라우드 코드 저장소 초기화를 참조하십시오.
또한 SQL 설치 작업을 수행하기 전에 저장소를 만들어야 합니다. 자세한 내용은 클라우드 코드 저장소 생성 및 관리를 참조하십시오.
이 스크립트는 일반 SQL 스크립트가 아닌 스키마 설치 스크립트로 사용됩니다.
- 스크립트는 SQL*Plus 클라이언트 특정 명령을 포함할 수 없습니다.
- 스크립트는 바인드 변수 또는 매개변수화된 스크립트를 포함할 수 없습니다.
- SQL 문은 새 행(/)에 슬래시로 종료되어야 합니다.
- 스크립트에는 DDL, DML PLSQL 문이 포함될 수 있지만 직접
SELECT
문은 지원되지 않습니다. PL/SQL 블록 내에서 SELECT 사용이 지원됩니다.
EXECUTE IMMEDIATE
를 사용하여 실행할 수 있는 모든 SQL 문은 바인드 변수 또는 정의를 포함하지 않는 경우에 작동합니다.
자세한 내용은 DBMS_CLOUD_REPO SQL Install Operations을 참조하십시오.