공유 소비
공급자가 객체를 공유하면 수신자가 공유를 소비하기 위해 따라야 할 몇 가지 단계가 있습니다.
- 소비 공유 개요:
데이터 공유를 소비하려면 데이터 공유를 구독하고 공유에 포함된 테이블의 뷰를 생성해야 합니다.
- 버전 지정된 공유 소비:
수신자는 공유 프로파일을 다운로드하고, 데이터 공유 제공자에 가입하고, 공유를 등록하고, 공유 위에 외부 테이블을 만들어야 합니다. 데이터 공유 도구는 활성화 메일을 사용하여 수신자에게 전송된 JSON 프로파일을 사용하여 액세스 권한을 부여합니다. 액세스 권한이 부여된 후 데이터 공유 도구는 공유 객체를 데이터 링크 도구와 링크합니다. 여기서 소비자는 데이터 링크 작업을 실행하고 제공자가 공유하는 객체에 액세스할 수 있습니다.
- 실시간 공유 소비:
이를 통해 수신자로서 데이터베이스의 실시간 데이터를 소비할 수 있습니다.
- 공유 제공자 엔티티 세부정보 보기:
라이브 공유 또는 델타 공유 제공자 엔티티 항목 오른쪽에 있는 작업 아이콘을 사용하여 생성한 라이브 공유 또는 델타 공유 제공자 엔티티에 대한 세부정보를 볼 수 있습니다.
- 공유 소비 개요
공유 소비 페이지는 공유 제공자를 검색하고 추가할 수 있는 옵션과 함께 공유 제공자 목록의 개요를 제공합니다. - 버전이 지정된 공유 사용
Oracle Autonomous Database 내에서 공유 버전 지정 데이터를 사용할 수 있도록 하려면 다음 단계를 따라야 합니다. 델타 공유를 통해 공유되는 데이터는 Autonomous Database에서 자동으로 사용할 수 없고 검색할 수 없습니다. - 버전이 지정된 공유에 대해 파일 레벨 변경 데이터 피드 액세스 사용
자율운영 AI 데이터베이스는 버전이 지정된 공유를 지원합니다. 여기서 데이터는 일련의 고유 버전으로 게시됩니다. 게시된 각 버전은 특정 Parquet 파일 세트를 참조합니다. - 실시간 공유 사용
데이터 공유를 통해 공유되는 라이브 데이터는 자동으로 소비할 수 없습니다. - 공유 제공자 엔티티 세부정보 보기
공유 제공자 엔티티에 대한 세부정보를 보려면 공유 제공자 엔티티 항목 오른쪽에 있는 작업 아이콘을 누른 다음 세부정보 보기를 누릅니다. - 삭제 벡터와 데이터 블록 테이블 공유
자율운영 AI 데이터베이스가 델타 공유 소비자인 경우 데이터 블록 델타 테이블을 공유하는 방법에 대해 설명합니다.
상위 항목: 데이터 공유 도구
소비 공유 개요
[공유 소비] 페이지는 공유 제공자를 검색하고 추가할 수 있는 옵션과 함께 공유 제공자 목록의 개요를 제공합니다.
- Data Studio 메뉴의 데이터 공유 메뉴에서 공유 소비를 선택합니다.
- 데이터 공유 페이지에서 제공자 및 소비자 섹션에 있는 공유 소비 위젯을 누릅니다.
공유 소비 페이지에는 다음이 포함됩니다.
consume-share-new.png 그림에 대한 설명
- 지난 7일 동안 사용 가능한 라이브 공유 제공자
이 영역에는 최근 7일 동안 만든 사용 가능한 라이브 공유 공급자 목록이 표시됩니다. 원하는 대로 필드를 업데이트할 수 있습니다. 또한 최근 7일 동안 사용 가능한 공유에 나열된 공유 오른쪽에 있는 + 기호를 사용하여 라이브 공유에 가입할 수 있습니다.
-
가입된 공유 제공자 검색 필드
가입된 공유 제공자의 이름을 입력하여 생성한 공유 수신자를 검색할 수 있습니다. 가입된 공유 제공자의 이름(예: REVIEW_PROVIDER)을 입력하고 돋보기 아이콘을 눌러 검색을 완료합니다. 공유 도구는 검색 결과를 표시 영역에 표시합니다.
- 새 공유 제공자에 가입하려면 + 공유 제공자에 가입을 선택합니다. 이 아이콘을 탐색하려면 공유 제공자에 가입을 참조하십시오.
- 내 공유 ID
공유 ID는 Autonomous Database의 고유한 공급업체입니다. 이 ID를 클립보드에 복사하여 공유 수신자 생성 마법사의 [공유 ID] 필드에 붙여넣습니다. 이렇게 하면 라이브 공유를 공유 제공자와 공유할 수 있습니다.
- 도구모음
도구 모음은 정렬 기준, 페이지 크기, 새로 고침 및 엔티티 뷰 옵션으로 구성됩니다.
- 설정으로 정렬
도구 모음의 정렬 기준 컨트롤을 사용하여 정렬 값을 설정하면 설정이 도구 모음 아래의 작은 상자에 표시됩니다. 상자에서 X 아이콘을 눌러 설정을 삭제할 수 있습니다. 또는 도구 모음의 정렬 기준 컨트롤로 돌아가서 설정을 변경할 수 있습니다.
-
화면표시 영역
[소비자 공유 제공자 검색] 필드 아래의 영역에는 검색으로 반환된 엔티티와 [필터] 패널에 설정된 필터 조건과 일치하는 엔티티가 표시됩니다. 정렬 기준 단추를 누른 다음 정렬 값을 설정하여 엔티티를 정렬할 수 있습니다.
상위 토픽: 공유 소비
버전 지정된 공유 사용
Oracle Autonomous Database 내에서 공유 버전 지정 데이터를 사용할 수 있도록 하려면 다음 단계를 따라야 합니다. 델타 공유를 통해 공유되는 데이터는 Autonomous Database에서 자동으로 사용할 수 없고 검색할 수 없습니다.
- JSON 프로파일 다운로드
- 데이터 공유 제공자 구독
- 사용 가능한 공유 등록
- 공유에 대한 외부 테이블 생성
JSON 프로파일 정보
델타 공유 프로파일을 사용하면 공유 제공자에 연결하고 델타 공유 서버에 액세스할 수 있습니다. 프로파일 정보는 클라이언트 인증서가 포함된 zip 파일로 JSON 형식으로 저장됩니다. 공유 데이터에 액세스하려면 권한이 부여된 JSON 프로파일을 사용하여 공유 객체를 등록해야 합니다. 그런 다음 JSON 프로파일을 사용하여 델타 공유 서버로 인증하고 사용 가능한 데이터 공유에 액세스할 수 있습니다.
JSON 프로파일 다운로드
공유 도구가 공유 객체를 만들면 수신자는 델타 공유 프로파일을 다운로드할 수 있는 링크가 포함된 전자 메일 알림을 받습니다. Database Actions 콘솔에서 JSON 프로파일을 다운로드할 수도 있습니다.
-
공유 제공 페이지에서 수신자 옆의 점 3개를 누르고 클립보드에 프로파일 활성화 링크 복사를 선택합니다.
-
웹 브라우저에서 링크를 열어 델타 프로파일 다운로드 페이지에 액세스합니다.
-
프로파일 정보 가져오기를 눌러 델타 공유 JSON 프로파일이 포함된 zip 파일을 다운로드합니다.
주:
보안상의 이유로 프로파일 정보를 한 번만 다운로드할 수 있습니다. 버튼을 두 번 누르면 프로파일 다운로드가 실패합니다. 자세한 내용은 빠른 시작 안내서를 참조하십시오.
JSON 프로파일 유형
이 이미지는 JSON 프로파일을 보여주며 데이터 블록에 대해 bearerToken 및 OIDC를 사용하여 델타 공유를 소비하는 방법을 보여줍니다.
델타 공유는 다음 프로파일을 지원합니다.
-
BearerToken을 사용하는 프로파일 버전 1
이 JSON 파일은 토큰을 새로 고칠 수 있도록
tokenEndpoint,clientID및clientSecret를 포함할 수 있습니다. -
데이터 블록 공유에 대해 OIDC(PL/SQL만 해당)를 사용하는 프로파일 버전 2
이 JSON 파일에는 OIDC(OpenID Connect) 및 OAuth 클라이언트 인증서(예:
clientId,clientSecret및tokenEndpoint)가 포함됩니다. Databricks OIDC 프로파일은shareCredentialsVersion 2및type oauth_client_credentials를 사용하지만bearerToken는 지원하지 않습니다. Autonomous Database는tokenEndpoint를 사용하여 유효성이 짧은 토큰에 액세스하고 토큰을 자동으로 새로 고칩니다.프로파일 버전 2는 배포할 수 있는 오래 지속되는 베어러 토큰이 없고, 더 쉽게 비밀을 회전하고, 더 많은 자동화를 제공하기 때문에 더 나은 보안을 제공합니다.
주:
OIDC의 경우 Databricks endpoint 및 IdP tokenEndpoint에 대한 아웃바운드 액세스를 허용해야 합니다.
공유 소비에서 델타 공유 제공자를 구독하는 경우 JSON 파일 버전 1 또는 버전 2를 사용하거나 제공자 JSON 공유 필드에서 직접 zip 파일을 업로드할 수 있습니다.
{
"shareCredentialsVersion": 1,
"endpoint": "https://myhost.us.example.com/ords/prov/_delta_sharing/",
"tokenEndpoint": "http://myhost.us.example.com:1234/ords/pdbdba/oauth/token",
"bearerToken": "-xxxxxxxxxxxxxxxxxxxxx",
"expirationTime": "20XX-01-13T07:53:11.073Z",
"clientID": "xxxxxxxxxxxxxxxxxxxxxx..",
"clientSecret": "xxxxxxxxxxxxxxxxxxxx.."
}-
shareCredentialsVersion: 프로파일 형식 버전 1을 표시합니다. -
endpoint: Autonomous Database에서 호스트하는 델타 공유 서버의 기본 HTTPS URL을 지정합니다. 이 REST 끝점을 호출하여 공유, 스키마, 테이블을 검색하고 Parquet 파일에 대한 서명된 URL을 인출할 수 있습니다. -
tokenEndpoint: 토큰 끝점을 지정합니다. 공유 도구 클라이언트는 Oracle을 사용하여 공유를 소비하는 경우 토큰 끝점을 사용하여 Bearer 토큰의 시간 초과를 새로 고칩니다. -
bearerToken: 인증 서버가 로그인 요청에 대한 응답으로 생성하는 암호화 문자열입니다. 일반적으로 유효성이 더 깁니다. -
expirationTime: 인증이 만료되는 데 걸리는 시간입니다. clientID: 인증을 위해 인스턴스를 등록할 때 인증 서버가 생성하는 공용 식별자를 지정합니다.clientSecret: 인증 서버가 권한 부여를 위해 생성하는 암호 식별자를 지정합니다.
{
"shareCredentialsVersion": 2,
"endpoint": "https://myhost.us.example.com/ords/prov/_delta_sharing/",
"tokenEndpoint": "http://myhost.us.example.com:1234/ords/pdbdba/oauth/token",
"type": "oauth_client_credentials",
"clientId": "xxxxxxxxxxxxxxxxxxxxxx..",
"clientSecret": "xxxxxxxxxxxxxxxxxxxx..",
"tokenScope": "xxxxxxxxxx"
}-
shareCredentialsVersion: 프로파일 형식 버전 2를 표시합니다. -
endpoint: Autonomous Database에서 호스트하는 델타 공유 서버의 기본 HTTPS URL을 지정합니다. 이 REST 끝점을 호출하여 공유, 스키마, 테이블을 검색하고 Parquet 파일에 대한 서명된 URL을 인출할 수 있습니다. -
tokenEndpoint: 토큰 끝점을 지정합니다. -
type: 사용할 인증 플로우입니다. OAuth 2.0 클라이언트 자격증명 부여입니다. clientId: 인증을 위해 인스턴스를 등록할 때 인증 서버가 생성하는 공용 식별자를 지정합니다.clientSecret: 인증 서버가 권한 부여를 위해 생성하는 암호 식별자를 지정합니다.-
tokenScope: 토큰 획득 시 요청할 OAuth 범위(대개 공백으로 구분됨)입니다. 공유 검색 및 데이터 검색을 위해 부여된 액세스 레벨을 결정합니다.
두 프로파일에서 클라이언트 ID의 경우 차이를 확인합니다. 프로파일 1에는 clientID가 있고 프로파일 2에는 clientId가 있습니다.
보안 개선 내용
공유 수신자는 ADMIN 사용자 또는 다른 권한이 있는 사용자로 APPEND_HOST_ACE 프로시저를 사용하여 공유 제공자의 시스템에 대한 ACL(액세스 제어 목록)을 설정해야 합니다. 이렇게 하면 인터넷을 통해 공유에 액세스할 수 있습니다.
주:
공유 제공자 추가 마법사를 사용하여 호스트(공유 제공자)의 ACL(액세스 제어 목록)에 ACE(액세스 제어 항목)를 추가하기 전에 이 작업을 수행해야 합니다. 이전 단계에서 다운로드한 JSON 프로파일에서 호스트 이름을 찾을 수 있습니다.
예를 들어, 데이터베이스 사용자 A_SHARE_USER가 이름이 지정된 호스트(공유 제공자)의 끝점에 액세스하도록 허용하려면 SQL Worksheet 편집기에서 관리자로 실행해야 하는 PL/SQL 프로시저의 샘플이 여기에 있습니다. 전제 조건으로 위 예제에 제공된 대로 델타 공유 JSON 프로파일의 끝점 등록 정보에서 호스트 이름을 추출합니다. 예제의 호스트 이름은 myhost.us.example.com입니다.
BEGIN
dbms_network_acl_admin.append_host_ace(
host =>'myhost.us.example.com',
lower_port=>443,
upper_port=>443,
ace => xs$ace_type(
privilege_list => xs$name_list('http', 'http_proxy'),
principal_name =>'A_SHARE_USER',
principal_type => xs_acl.ptype_db));
COMMIT;
END;
/
다음은 해당 설명이 포함된 매개변수입니다.
- host(호스트) - 호스트의 이름 또는 IP 주소를 지정합니다. 호스트 또는 도메인 이름은 대소문자를 구분하지 않습니다.
- 하한 포트 - 선택적 TCP 포트 범위의 하한 포트를 지정합니다.
- upper port(상한 포트) - 선택적 TCP 포트 범위의 상한 포트를 지정합니다.
- ace – 액세스 제어 항목입니다.
- privilege list(권한 목록) - 부여 또는 거부할 네트워크 권한 목록을 지정합니다.
- principal_name - 권한이 부여되거나 거부되는 주체(데이터베이스 사용자 또는 역할)입니다. 대소문자를 구분합니다.
- principal_type - 사용하는 주체 유형을 지정합니다.
DBMS_NETWORK_ACL_ADMIN 패키지 하위 프로그램에 대한 자세한 내용은 PL/SQL 패키지 및 유형 참조 문서를 참조하십시오.
PRIV_ORDS_ACL CONSTANT PLS_INTEGER := 8;프라이빗 끝점에서 델타 공유에 대한 아웃바운드 액세스 허용
소비자 자율운영 AI 데이터베이스가 프라이빗 끝점을 사용하는 경우 델타 공유 제공자에 가입하고 공유 데이터에 대한 외부 테이블을 생성하기 전에 아웃바운드 액세스를 구성합니다.
델타 공유는 제공자 endpoint 및 tokenEndpoint를 사용하여 공유를 검색하고 액세스 토큰을 얻습니다. 그런 다음 소비자 데이터베이스는 델타 공유 서버에서 반환된 서명된 URL을 사용하여 오브젝트 스토리지에서 직접 공유 Parquet 파일을 읽습니다. 따라서 델타 공유 제공자 끝점과 서명된 URL에서 참조하는 오브젝트 스토리지 호스트 모두에 대해 아웃바운드 접속을 구성합니다.
필요 조건
-
소비자 자율운영 AI 데이터베이스는 프라이빗 엔드포인트 액세스를 사용합니다.
-
ADMIN으로 데이터베이스에 연결할 수 있습니다.
-
제공자의 델타 공유 JSON 프로파일이 있습니다.
-
공유 파일이 방화벽 또는 IP 규칙으로 보호되는 퍼블릭 스토리지 끝점 뒤에 저장되는지 아니면 프라이빗 스토리지 끝점 뒤에 저장되는지 알고 있습니다.
아웃바운드 액세스 구성
-
소비자 데이터베이스에 ADMIN으로 연결합니다.
-
현재 아웃바운드 경로 지정 모드를 확인하십시오.
SELECT property_name, property_value FROM database_properties WHERE property_name = 'ROUTE_OUTBOUND_CONNECTIONS';질의에서 행을 반환하지 않으면 속성이 설정되지 않습니다. 이 경우 퍼블릭 끝점에 대한 아웃바운드 접속은 서비스 VCN NAT 게이트웨이를 사용합니다.
-
ROUTE_OUTBOUND_CONNECTIONS가 설정되지 않은 경우 퍼블릭 끝점에 대해 소비자 데이터베이스에서 사용되는 아웃바운드 IP 주소를 확인합니다.SELECT cloud_identity FROM v$pdbs;JSON 출력에서
OUTBOUND_IP_ADDRESS필드를 찾습니다.-
서명된 URL이 방화벽 또는 IP 규칙으로 보호되는 퍼블릭 스토리지 끝점을 참조하는 경우 스토리지 서비스 허용 목록에 소비자 데이터베이스
OUTBOUND_IP_ADDRESS을 추가합니다. -
공유 파일이 프라이빗 스토리지 끝점을 사용하는 경우 퍼블릭 IP 허용 목록 대신 프라이빗 접속 및 DNS를 구성하십시오. 이렇게 하면 개인 네트워크 경로를 통해 소비자 데이터베이스가 저장 영역 계정에 도달할 수 있습니다.
-
-
프라이빗 끝점을 통해 델타 공유 트래픽 경로를 지정합니다.
ALTER DATABASE PROPERTY SET ROUTE_OUTBOUND_CONNECTIONS = 'ENFORCE_PRIVATE_ENDPOINT';주:
Oracle은
ENFORCE_PRIVATE_ENDPOINT를 사용할 것을 권장합니다.PRIVATE_ENDPOINT의 제한 사항이 포함되어 있고DBMS_CLOUD패키지 및 외부 테이블에 의해 생성된 아웃바운드 접속에도 적용됩니다.이 등록 정보가 설정된 경우 아웃바운드 접속은 VCN 보안 목록 또는 프라이빗 끝점과 연관된 NSG(네트워크 보안 그룹)에 구성된 프라이빗 끝점 송신 규칙을 준수해야 합니다.
기본 동작을 복원하려면 다음을 실행합니다.
ALTER DATABASE PROPERTY SET ROUTE_OUTBOUND_CONNECTIONS = ''; -
소비자 데이터베이스가 다음과 같은 모든 필수 호스트를 분석하고 연결할 수 있는지 확인합니다.
-
델타 공유 엔드포인트
-
tokenEndpoint(있는 경우) -
쿼리 시 반환된 서명된 URL에서 참조하는 오브젝트 스토리지 호스트
-
공유 제공자에 가입하기 전에 소비자 스키마에서 제공자 호스트에 필요한 ACL 항목을 생성합니다.
JSON 프로파일을 업로드하여 공유 제공자 구독 생성
이 프로세스에서는 구성 및 인증서에 대한 제공자의 JSON 프로파일을 로드하여 수신자에 대한 액세스를 사용으로 설정합니다.
- 공유 소비 페이지를 열고 + 공유 제공자에 가입을 눌러 드롭다운에서 델타 공유 제공자에 가입을 선택합니다. 그러면 [공유 제공자에 가입] 창이 열립니다.

subscribe-share-provider-version-providersettings.png 그림에 대한 설명 -
제공자 설정에서 다음을 지정합니다.
-
공유 소스: 델타 공유 제공자 JSON을 선택합니다.
-
제공자 JSON 공유: 다음 옵션을 사용하여 JSON 프로파일을 공유할 수 있습니다.
파일에서: 이 옵션을 선택하고 델타 공유 프로파일 JSON을 눌러 시스템에서 JSON 프로파일을 찾아 업로드합니다. 또는 제공자 JSON 공유 필드에 JSON 프로파일이 포함된 zip 파일을 직접 업로드할 수도 있습니다.
JSON: 제공된 공간에 JSON 파일의 콘텐츠를 붙여넣으려면 이 옵션을 선택합니다. 시작 및 끝 중괄호를 포함한 전체 콘텐츠를 복사해야 합니다.
-
공유 제공자 세부정보에 제공자 이름을 입력하고 선택적으로 설명을 추가합니다.
-
- 대화 상자의 Add Shares(공유 추가) 탭에서 사용 가능한 공유 목록을 봅니다. 사용 가능한 공유에서 사용할 공유를 누르고 사용 가능한 옵션 중 하나를 선택합니다.

subscribe-share-provider-version-addshares.png 그림 설명- >: 이 옵션을 사용하면 사용 가능한 공유를 선택한 공유로 이동할 수 있습니다.
- <: 선택한 공유를 선택한 공유에서 제거하려면 이 옵션을 선택합니다.
- >>: 이 옵션을 사용하면 모든 공유를 선택한 공유로 이동할 수 있습니다.
- <<: 선택한 공유를 선택한 공유에서 모두 제거하려면 이 옵션을 선택합니다.
-
가입을 눌러 공유를 추가합니다. 제공자가 성공적으로 생성되면 확인 프롬프트가 나타납니다. 제공자를 성공적으로 생성한 후 이제 [데이터 로드] 페이지의 [클라우드 객체 링크] 화면이 표시됩니다.
- 클라우드 스토리지 위치 필드에서 제공자의 이름을 볼 수 있습니다. 공유는 공유에 추가하는 파일과 함께 소스 파일 위치에 나타납니다.

그림 link-cloud-object.png에 대한 설명공유 폴더 카트를 확장하고 공유한 파일을 소스에서 데이터 링크 카트로 끌어 놓습니다.
데이터 링크 카트에서 시작을 선택하여 데이터 링크 작업을 실행합니다.
- Database Actions에서 생성된 테이블을 확인합니다.
- 이동 경로에서 Database Actions를 눌러 Database Actions 실행 페이지로 돌아갑니다.
- SQL 타일을 누릅니다.
- 외부 테이블을 선택하여 워크시트로 끌어 놓습니다.
테이블에 대한 SQL Select 문이 나타납니다. 이 SQL 문은 공유 데이터를 소비하기 위해 실행할 수 있습니다.

그림 xt_sql.png에 대한 설명
상위 토픽: 공유 소비
버전 지정된 공유에 대한 파일 레벨 변경 데이터 피드 접근 사용
자율운영 AI 데이터베이스는 버전이 지정된 공유를 지원하며, 데이터는 순차적인 버전으로 게시됩니다. 게시된 각 버전은 특정 Parquet 파일 세트를 참조합니다.
파일 레벨 변경 데이터 피드의 작동 방식
데이터 피드를 변경하면 소비자는 매번 최신 전체 스냅샷을 읽는 대신 게시된 두 버전 간에 변경된 파일만 처리할 수 있습니다.
예를 들어, 공급자는 1TB 공유를 버전 3으로 게시하고, 데이터를 수정하고, 버전 4를 게시합니다. 소비자는 전체 1TB 스냅샷을 다시 읽는 대신 버전 3과 버전 4 간의 차이를 요청하고 반환된 증분 파일만 처리할 수 있습니다.
이 기능을 사용하려면 버전 기반 액세스를 사용으로 설정합니다.
버전 기반 액세스 사용
버전 지정된 공유에 대한 기록 버전 및 파일 레벨 변경 사항에 대한 액세스를 사용으로 설정하려면 수신자와 공유 모두에 대한 버전 액세스를 구성합니다.
-
VERSION_ACCESS_CURRENT는 현재 버전에 대한 액세스만 허용합니다. -
VERSION_ACCESS_ANY를 사용하면 현재 및 폐기된 버전에 액세스할 수 있습니다.
다음 PL/SQL 예제를 사용합니다.
BEGIN
DBMS_SHARE.UPDATE_RECIPIENT_PROPERTY(
recipient_name => 'my_recipient',
recipient_property => DBMS_SHARE.PROP_RECIPIENT_VERSION_ACCESS,
new_value => DBMS_SHARE.VERSION_ACCESS_ANY);
DBMS_SHARE.UPDATE_SHARE_PROPERTY(
share_name => 'my_versioned_share',
share_property => DBMS_SHARE.PROP_SHARE_VERSION_ACCESS,
new_value => DBMS_SHARE.VERSION_ACCESS_ANY);
END;
/
주:
버전 기반 액세스를 사용으로 설정하려면 두 속성을 모두 업데이트해야 합니다.
델타 공유 REST API를 사용하여 변경 데이터 요청
델타 공유 변경 엔드포인트를 사용하여 테이블에 대한 변경 데이터를 요청합니다.
요청 예:
GET {prefix}/shares/my_share/schemas/my_schema/tables/my_table/changes?startingVersion=3&endingVersion=4
Authorization: Bearer <token>
응답은 줄바꿈으로 구분된 JSON이며 요청된 버전 범위에 대한 프로토콜, 메타데이터 및 변경 파일 작업 객체를 포함합니다.
응답 단편 예:
{"protocol":{"minReaderVersion":1}}
{"metaData":{"format":{"provider":"parquet"}}}
{"add":{"url":"https://.../part-0001.snappy.parquet","id":"file-a","size":573,"version":4}}
{"remove":{"url":"https://.../part-0000.snappy.parquet","id":"file-c","size":573,"version":4}}
이를 통해 소비자는 요청된 버전 범위에 대해 반환된 파일만 처리할 수 있습니다.
버전 범위에 대해 변경된 파일을 읽고 행 수를 보고하는 Oracle 특정 Databricks 예는 Oracle Delta Sharing CDF를 참조하십시오.
상위 토픽: 공유 소비
실시간 공유 소비
데이터 공유를 통해 공유되는 라이브 데이터는 자동으로 사용할 수 없습니다.
라이브 데이터 공유를 소비하려면 구독하고 라이브 공유에 포함된 테이블의 뷰를 생성해야 합니다. SQL 스크립트를 사용하여 뷰를 query할 수 있습니다.
- [공유 소비] 페이지를 열고 + 공유 제공자에 가입을 눌러 드롭다운에서 라이브 공유 제공자에 가입을 선택합니다. 그러면 [공유 제공자에 가입] 대화상자가 열립니다.
- Subscribe to Share Provider 대화 상자의 Provider Settings 창에서 다음 세부정보를 지정합니다.

subscribe-live-share-provider.png 그림에 대한 설명공유 소스 섹션에서 라이브 공유 제공자에서 선택을 선택하고 드롭다운에서 제공자를 선택합니다.
Share Provider Details(공유 제공자 세부정보) 필드에 다음을 입력합니다.- 제공자 이름: 제공자의 이름을 지정합니다.
- 설명: 제공자에 대한 설명을 입력합니다.
다음을 눌러 공유 추가 탭으로 진행합니다.
- 대화 상자의 Add Shares(공유 추가) 탭에서 사용 가능한 공유 목록을 봅니다. 사용 가능한 공유에서 사용할 공유를 누르고 사용 가능한 옵션 중 하나를 선택합니다.

add-shares.png 그림 설명- >: 이 옵션을 사용하면 사용 가능한 공유를 선택한 공유로 이동할 수 있습니다.
- <: 선택한 공유를 선택한 공유에서 제거하려면 이 옵션을 선택합니다.
- >>: 이 옵션을 사용하면 모든 공유를 선택한 공유로 이동할 수 있습니다.
- <<: 선택한 공유를 선택한 공유에서 모두 제거하려면 이 옵션을 선택합니다.
가입을 눌러 공유를 추가합니다. 제공자가 성공적으로 생성되면 확인 프롬프트가 나타납니다. 제공자를 성공적으로 생성한 후 이제 [데이터 로드] 페이지의 [클라우드 객체 링크] 화면이 표시됩니다.
- 클라우드 스토리지 위치 필드에서 공유 제공자의 이름을 볼 수 있습니다. 공유는 공유에 추가하는 파일과 함께 소스 파일 위치에 나타납니다.

그림 link-cloud-object.png에 대한 설명공유 폴더 카트를 확장하고 공유한 파일을 소스에서 데이터 링크 카트로 끌어 놓습니다.
데이터 링크 카트에서 시작을 선택하여 데이터 링크 작업을 실행합니다.
상위 토픽: 공유 소비
공유 제공자 엔티티 세부정보 보기
공유 제공자 엔티티에 대한 세부정보를 보려면 공유 제공자 엔티티 항목 오른쪽에 있는 작업 아이콘을 누른 다음 세부정보 보기를 누릅니다.
모든 엔티티의 세부정보에는 계보 및 영향 섹션이 포함됩니다.
특정 공유 제공자 엔티티의 경우 작업 컨텍스트 메뉴를 사용하여 다음 작업을 수행할 수 있습니다.
- 세부정보 보기: 공유 제공자 엔티티 세부정보 보기를 참조하십시오.
- 공유 관리: 공유에 대한 공유 관리 제공자 대화 상자를 엽니다. 수신자와 공유하도록 선택한 공유를 나열합니다. 수신자와 공유하려는 공유 목록을 편집할 수 있습니다. 확인을 눌러 변경 사항을 저장하거나 취소를 선택하여 편집 프로세스를 취소합니다.
- 테이블로 로드: [공유] 탭이 선택된 [데이터 로드] 페이지로 이동합니다.
- 테이블 링크: [공유] 탭이 선택된 [링크 데이터] 페이지로 이동하여 관련 링크 객체를 보고 실행합니다. 데이터 링크 작업에 공유 데이터를 추가하려면 공유 데이터를 끌어 놓습니다.
- 이름 바꾸기: 제공자 이름을 바꿉니다. 변경하려면 예를 선택하고, 그렇지 않으면 아니오를 누릅니다.
- 끝점 복사: 끝점을 복사합니다.
- 삭제: 공유 제공자 엔티티를 제거합니다.
상위 토픽: 공유 소비
삭제 벡터와 데이터 블록 테이블 공유
자율운영 AI 데이터베이스가 델타 공유 소비자인 경우 데이터브릭 델타 테이블을 공유하는 방법에 대해 설명합니다.
ORA-29913: error while processing ODCIEXTTABLEFETCH routine다음 시나리오에서 자율운영 AI 데이터베이스가 델타 공유 소비자인 경우 데이터브릭 제공업체가 델타 테이블을 공유할 수 있습니다.
-
시나리오 1 - 테이블에서 삭제 벡터 삭제
-
시나리오 2 - 뷰 생성 및 보기 공유
-
시나리오 3 - 이후 테이블에 대한 작업 영역 설정에서 삭제 벡터 사용 안함
시나리오 1 - 테이블에서 삭제 벡터 삭제
특정 테이블에서 deletionVectors 사용을 중지할 준비가 된 경우 이 옵션을 사용합니다.
-
Databricks에서 실행하십시오.
ALTER TABLE table_name DROP FEATURE deletionVectors -
델타 공유에
table_name테이블을 추가하고 자율운영 AI 데이터베이스를 소비자로 구성합니다.
이 옵션은 보류 중인 모든 삭제를 적용하고 테이블에서 deletionVectors 기능을 제거합니다. 테이블은 deletionVectors가 없는 일반 델타 테이블처럼 작동합니다.
-
뷰 구체화에 대한 진행 중인 비용이 없습니다.
-
자율운영 AI 데이터베이스에서 간단히 구현할 수 있습니다.
-
대형 테이블에 대해 일회성 재작성
-
자율운영 AI 데이터베이스뿐만 아니라 이 표를 읽는 모든 워크로드에 영향을 미칩니다.
-
삭제 벡터의 이점은 나중에 이 테이블에서 삭제됩니다.
시나리오 2 - 뷰 생성 및 뷰 공유
기본 테이블에 deletionVectors를 유지하려는 경우 이 옵션을 사용합니다.
-
Databricks에서 실행하십시오.
CREATE VIEW view_name AS SELECT * FROM table_name; -
테이블 대신 델타 공유에
view_name뷰를 추가합니다.자율운영 AI 데이터베이스 소비자는 다음 쿼리를 실행할 수 있습니다.
SELECT * FROM "MY_SHARE"."MY_SCHEMA"."view_name";
이 시나리오에서는 Databricks 기본 테이블이 삭제 벡터를 계속 사용합니다. Databricks는 뷰를 실행할 때 삭제 벡터를 해결하므로 자율운영 AI 데이터베이스에서 이들을 볼 수 없습니다. 자율운영 AI 데이터베이스와 같은 비데이터브릭 수신자의 경우 Databricks는 뷰를 구체화하고 제공자에게 컴퓨트 및 스토리지를 청구할 수 있습니다. 공급자는 Databricks에서 자재화 TTL을 구성하여 비용과 데이터 새로고침 간의 균형을 제어하거나, 새 데이터의 경우 TTL을 짧거나 낮추거나, 비용 효율적인 경우 TTL을 길거나 높게 제어할 수 있습니다.
-
기본 테이블에 대한 변경 사항이 없습니다.
-
다른 데이터 블록 워크로드는 삭제 벡터를 계속 사용할 수 있습니다.
-
뷰에 필터, 마스킹 또는 열 투영을 추가할 수 있습니다.
-
공급자는 Databricks의 뷰 구체화 및 저장에 대한 비용을 부담합니다.
-
비용 관리 및 데이터 신선도를 위한 TTL 설정 관리
-
테이블을 공유하는 것보다 복잡합니다.
시나리오 3 - 이후 테이블에 대한 작업 영역 설정에서 삭제 벡터 사용 안함
새 테이블에서 기본적으로 삭제 벡터를 사용하지 못하도록 하려면 이 옵션을 사용합니다.
-
Workspace settings(작업 공간 설정) 또는 Admin 콘솔을 Databricks 관리 사용자로 열고 Advanced(고급)로 이동합니다.
-
삭제 벡터 자동 사용을 찾아 사용 안함으로 설정합니다.
-
변경 사항을 저장하고 실행 중인 컴퓨트를 재시작합니다.
ALTER TABLE table_name
SET TBLPROPERTIES ('delta.enableDeletionVectors' = FALSE);이 시나리오에서는 이 변경 이후에 생성된 모든 새 테이블에서 기본적으로 삭제 벡터가 활성화되지 않습니다. 그러나 이미 삭제 벡터를 사용하는 기존 테이블에는 앞에서 설명한 시나리오가 필요합니다.
-
새 테이블에서 삭제 벡터를 자동으로 사용하지 못하도록 합니다.
-
자율운영 AI 데이터베이스와 공유되는 미래 테이블에 대한 추가 유지 관리가 필요하지 않습니다.
-
이미 삭제 벡터를 사용하는 기존 테이블을 수정하지 않습니다.
-
작업 영역 전체 설정의 유지 관리입니다. 일부 내부 작업 로드는 기본적으로 삭제 벡터를 계속 사용할 수 있습니다.
데이터 블록에서 삭제 벡터가 사용으로 설정되었는지 확인합니다.
데이터 브릭의 특정 테이블에 대해 삭제 벡터가 사용으로 설정되었는지 여부를 확인하려면 다음 명령을 실행합니다.
SHOW TBLPROPERTIES table_name ('delta.enableDeletionVectors');
상위 토픽: 공유 소비
