[OCI] Autonomous Database에서 Oracle Cloud Infrastructure SDK for PL/SQL a.k.a. PL/SQL SDK를 사용해 보았습니다.
4974 단어 오라클oraclecloudAutonomousplsqloci
소개
Oracle Cloud Infrastructure SDK for PL/SQL(PL/SQL SDK)이 출시되어 공유 인프라의 Autonomous Database에서 이미 사용할 수 있습니다.
Oracle Cloud Infrastructure Documentation Developer Guide
PL/SQL SDK를 사용하여 오브젝트 스토리지 버킷의 오브젝트 목록을 검색하고 오브젝트 이름을 DB의 테이블에 저장하는 PL/SQL 프로그램을 작성해 보았습니다.
절차
1. 키 쌍 만들기
2. 테넌트, 사용자의 OCID 확인
3. API 키 생성
4. SDK를 이용하기 위한 자격 증명(자격 증명)의 작성
5. PL/SQL SDK를 사용한 프로그램 작성
1. 키 쌍 만들기
이 정보를 참조하여 PEM 형식의 RSA 키 쌍을 만듭니다.
htps : // / cs. cぉd. 오라 cぇ. 코 m/엔-우 s/아아 s/곤텐 t/아피/곤세 pts/아피시 g 닌 g케 y. htm
2. 테넌트, 사용자의 OCID 확인
콘솔에서 테넌트의 OCID, 사용자의 OCID를 확인하고 메모해 둡니다.
3. API 키 생성
「아이덴티티」→「유저」→「유저의 상세」
리소스 필드에서 API 키를 클릭합니다.
공개 키 추가 버튼을 클릭합니다.
공개 키 붙여넣기를 선택하여 만든 키 쌍의 공개 키 내용을 복사하여 붙여넣고 추가를 클릭합니다.
공개 키를 추가한 후 표시되는 지문을 기록해 둡니다.
4. SDK를 이용하기 위한 자격 증명(자격 증명)의 작성
이번에는 MY_SDK_CRED라는 SDK 액세스를 위한 자격 증명을 만듭니다.
private_key에는 작성한 비공개 키의 내용으로부터 헤더(-----BEGIN RSA PRIVATE KEY-----), 꼬리말(-----END RSA PRIVATE KEY-----)를 제외한 부분 를 설명합니다.SET DEFINE OFF
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'MY_SDK_CRED',
user_ocid => 'ユーザのOCID',
tenancy_ocid => 'テナントのOCID',
private_key => 'MIIE......',
fingerprint => '公開キーのフィンガープリント'
);
END;
/
이번에는 Autonomous Database에 표준 탑재된 SQL Developer Web에서 실행했습니다.
5. PL/SQL SDK를 사용하여 PL/SQL 프로시저 작성
이번에는 다음과 같은 PL/SQL 프로시저를 작성했습니다.
· 리전, 네임 스페이스 및 버킷 이름을 받고 해당 스토리지 버킷에있는 객체 목록을 검색하고 검색된 객체의 이름을 object_list 테이블에 삽입
object_list 테이블은 다음 SQL로 작성됩니다.CREATE TABLE object_list (
object_name VARCHAR2(100)
);
실제로 작성한 PL/SQL 프로시저는 다음과 같습니다.CREATE OR REPLACE PROCEDURE get_obj_list(namespace IN VARCHAR2, bucket IN VARCHAR2, region_id IN VARCHAR2)
IS
object_summary dbms_cloud_oci_obs_object_storage_object_summary_tbl;
response_body dbms_cloud_oci_obs_object_storage_list_objects_t;
response dbms_cloud_oci_obs_object_storage_list_objects_response_t;
json_obj json_object_t;
l_keys json_key_list;
BEGIN
-- 指定されたバケット内のオブジェクトリストの取得
response := dbms_cloud_oci_obs_object_storage.list_objects(
namespace_name => namespace,
bucket_name => bucket,
credential_name => 'MY_SDK_CRED',
region => region_id);
response_body := response.response_body;
object_summary := response_body.objects;
-- 取得したオブジェクト名をobject_list表にINSERT
FOR i IN object_summary.first..object_summary.last LOOP
INSERT INTO object_list VALUES (object_summary(i).name);
END LOOP;
COMMIT;
END;
/
6. PL/SQL 프로시저의 동작 확인
PL/SQL 프로시저를 작성할 수 있었으므로, 동작을 확인해 보겠습니다.
먼저 object_list 테이블을 비웁니다.TRUNCATE TABLE object_list;
그런 다음 실제로 테이블에 데이터가 있는지 확인합니다.SELECT * FROM object_list;
방금 만든 PL/SQL 프로시저를 실행합니다.
여기에서는,
네임스페이스: nrhnlrqdttaw
버킷 이름: MyBucket
지역: ap-tokyo-1
로 실행합니다.
또한 이 버킷에는 5개의 객체가 저장되어 있습니다.
EXECUTE get_obj_list('nrhnlrqdttaw','MyBucket','ap-tokyo-1');
object_list 테이블의 내용을 확인합니다.SELECT * FROM object_list;
이런 식으로 PL/SQL SDK를 사용하여 버킷의 객체 이름 목록을 검색하고 Autonomous Database의 테이블에 저장할 수있었습니다.
PL/SQL SDK는 오브젝트 스토리지 뿐만 아니라 다양한 OCI의 서비스에 대응하고 있기 때문에, 여러가지 활용할 수 있을 것 같습니다.
앞으로도 여러가지 시험해보고 싶습니다.
Reference
이 문제에 관하여([OCI] Autonomous Database에서 Oracle Cloud Infrastructure SDK for PL/SQL a.k.a. PL/SQL SDK를 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/500InternalServerError/items/b7aba5d96c6c7b5e186b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
1. 키 쌍 만들기
2. 테넌트, 사용자의 OCID 확인
3. API 키 생성
4. SDK를 이용하기 위한 자격 증명(자격 증명)의 작성
5. PL/SQL SDK를 사용한 프로그램 작성
1. 키 쌍 만들기
이 정보를 참조하여 PEM 형식의 RSA 키 쌍을 만듭니다.
htps : // / cs. cぉd. 오라 cぇ. 코 m/엔-우 s/아아 s/곤텐 t/아피/곤세 pts/아피시 g 닌 g케 y. htm
2. 테넌트, 사용자의 OCID 확인
콘솔에서 테넌트의 OCID, 사용자의 OCID를 확인하고 메모해 둡니다.
3. API 키 생성
「아이덴티티」→「유저」→「유저의 상세」
리소스 필드에서 API 키를 클릭합니다.
공개 키 추가 버튼을 클릭합니다.
공개 키 붙여넣기를 선택하여 만든 키 쌍의 공개 키 내용을 복사하여 붙여넣고 추가를 클릭합니다.
공개 키를 추가한 후 표시되는 지문을 기록해 둡니다.
4. SDK를 이용하기 위한 자격 증명(자격 증명)의 작성
이번에는 MY_SDK_CRED라는 SDK 액세스를 위한 자격 증명을 만듭니다.
private_key에는 작성한 비공개 키의 내용으로부터 헤더(-----BEGIN RSA PRIVATE KEY-----), 꼬리말(-----END RSA PRIVATE KEY-----)를 제외한 부분 를 설명합니다.SET DEFINE OFF
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'MY_SDK_CRED',
user_ocid => 'ユーザのOCID',
tenancy_ocid => 'テナントのOCID',
private_key => 'MIIE......',
fingerprint => '公開キーのフィンガープリント'
);
END;
/
이번에는 Autonomous Database에 표준 탑재된 SQL Developer Web에서 실행했습니다.
5. PL/SQL SDK를 사용하여 PL/SQL 프로시저 작성
이번에는 다음과 같은 PL/SQL 프로시저를 작성했습니다.
· 리전, 네임 스페이스 및 버킷 이름을 받고 해당 스토리지 버킷에있는 객체 목록을 검색하고 검색된 객체의 이름을 object_list 테이블에 삽입
object_list 테이블은 다음 SQL로 작성됩니다.CREATE TABLE object_list (
object_name VARCHAR2(100)
);
실제로 작성한 PL/SQL 프로시저는 다음과 같습니다.CREATE OR REPLACE PROCEDURE get_obj_list(namespace IN VARCHAR2, bucket IN VARCHAR2, region_id IN VARCHAR2)
IS
object_summary dbms_cloud_oci_obs_object_storage_object_summary_tbl;
response_body dbms_cloud_oci_obs_object_storage_list_objects_t;
response dbms_cloud_oci_obs_object_storage_list_objects_response_t;
json_obj json_object_t;
l_keys json_key_list;
BEGIN
-- 指定されたバケット内のオブジェクトリストの取得
response := dbms_cloud_oci_obs_object_storage.list_objects(
namespace_name => namespace,
bucket_name => bucket,
credential_name => 'MY_SDK_CRED',
region => region_id);
response_body := response.response_body;
object_summary := response_body.objects;
-- 取得したオブジェクト名をobject_list表にINSERT
FOR i IN object_summary.first..object_summary.last LOOP
INSERT INTO object_list VALUES (object_summary(i).name);
END LOOP;
COMMIT;
END;
/
6. PL/SQL 프로시저의 동작 확인
PL/SQL 프로시저를 작성할 수 있었으므로, 동작을 확인해 보겠습니다.
먼저 object_list 테이블을 비웁니다.TRUNCATE TABLE object_list;
그런 다음 실제로 테이블에 데이터가 있는지 확인합니다.SELECT * FROM object_list;
방금 만든 PL/SQL 프로시저를 실행합니다.
여기에서는,
네임스페이스: nrhnlrqdttaw
버킷 이름: MyBucket
지역: ap-tokyo-1
로 실행합니다.
또한 이 버킷에는 5개의 객체가 저장되어 있습니다.
EXECUTE get_obj_list('nrhnlrqdttaw','MyBucket','ap-tokyo-1');
object_list 테이블의 내용을 확인합니다.SELECT * FROM object_list;
이런 식으로 PL/SQL SDK를 사용하여 버킷의 객체 이름 목록을 검색하고 Autonomous Database의 테이블에 저장할 수있었습니다.
PL/SQL SDK는 오브젝트 스토리지 뿐만 아니라 다양한 OCI의 서비스에 대응하고 있기 때문에, 여러가지 활용할 수 있을 것 같습니다.
앞으로도 여러가지 시험해보고 싶습니다.
Reference
이 문제에 관하여([OCI] Autonomous Database에서 Oracle Cloud Infrastructure SDK for PL/SQL a.k.a. PL/SQL SDK를 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/500InternalServerError/items/b7aba5d96c6c7b5e186b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
콘솔에서 테넌트의 OCID, 사용자의 OCID를 확인하고 메모해 둡니다.
3. API 키 생성
「아이덴티티」→「유저」→「유저의 상세」
리소스 필드에서 API 키를 클릭합니다.
공개 키 추가 버튼을 클릭합니다.
공개 키 붙여넣기를 선택하여 만든 키 쌍의 공개 키 내용을 복사하여 붙여넣고 추가를 클릭합니다.
공개 키를 추가한 후 표시되는 지문을 기록해 둡니다.
4. SDK를 이용하기 위한 자격 증명(자격 증명)의 작성
이번에는 MY_SDK_CRED라는 SDK 액세스를 위한 자격 증명을 만듭니다.
private_key에는 작성한 비공개 키의 내용으로부터 헤더(-----BEGIN RSA PRIVATE KEY-----), 꼬리말(-----END RSA PRIVATE KEY-----)를 제외한 부분 를 설명합니다.SET DEFINE OFF
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'MY_SDK_CRED',
user_ocid => 'ユーザのOCID',
tenancy_ocid => 'テナントのOCID',
private_key => 'MIIE......',
fingerprint => '公開キーのフィンガープリント'
);
END;
/
이번에는 Autonomous Database에 표준 탑재된 SQL Developer Web에서 실행했습니다.
5. PL/SQL SDK를 사용하여 PL/SQL 프로시저 작성
이번에는 다음과 같은 PL/SQL 프로시저를 작성했습니다.
· 리전, 네임 스페이스 및 버킷 이름을 받고 해당 스토리지 버킷에있는 객체 목록을 검색하고 검색된 객체의 이름을 object_list 테이블에 삽입
object_list 테이블은 다음 SQL로 작성됩니다.CREATE TABLE object_list (
object_name VARCHAR2(100)
);
실제로 작성한 PL/SQL 프로시저는 다음과 같습니다.CREATE OR REPLACE PROCEDURE get_obj_list(namespace IN VARCHAR2, bucket IN VARCHAR2, region_id IN VARCHAR2)
IS
object_summary dbms_cloud_oci_obs_object_storage_object_summary_tbl;
response_body dbms_cloud_oci_obs_object_storage_list_objects_t;
response dbms_cloud_oci_obs_object_storage_list_objects_response_t;
json_obj json_object_t;
l_keys json_key_list;
BEGIN
-- 指定されたバケット内のオブジェクトリストの取得
response := dbms_cloud_oci_obs_object_storage.list_objects(
namespace_name => namespace,
bucket_name => bucket,
credential_name => 'MY_SDK_CRED',
region => region_id);
response_body := response.response_body;
object_summary := response_body.objects;
-- 取得したオブジェクト名をobject_list表にINSERT
FOR i IN object_summary.first..object_summary.last LOOP
INSERT INTO object_list VALUES (object_summary(i).name);
END LOOP;
COMMIT;
END;
/
6. PL/SQL 프로시저의 동작 확인
PL/SQL 프로시저를 작성할 수 있었으므로, 동작을 확인해 보겠습니다.
먼저 object_list 테이블을 비웁니다.TRUNCATE TABLE object_list;
그런 다음 실제로 테이블에 데이터가 있는지 확인합니다.SELECT * FROM object_list;
방금 만든 PL/SQL 프로시저를 실행합니다.
여기에서는,
네임스페이스: nrhnlrqdttaw
버킷 이름: MyBucket
지역: ap-tokyo-1
로 실행합니다.
또한 이 버킷에는 5개의 객체가 저장되어 있습니다.
EXECUTE get_obj_list('nrhnlrqdttaw','MyBucket','ap-tokyo-1');
object_list 테이블의 내용을 확인합니다.SELECT * FROM object_list;
이런 식으로 PL/SQL SDK를 사용하여 버킷의 객체 이름 목록을 검색하고 Autonomous Database의 테이블에 저장할 수있었습니다.
PL/SQL SDK는 오브젝트 스토리지 뿐만 아니라 다양한 OCI의 서비스에 대응하고 있기 때문에, 여러가지 활용할 수 있을 것 같습니다.
앞으로도 여러가지 시험해보고 싶습니다.
Reference
이 문제에 관하여([OCI] Autonomous Database에서 Oracle Cloud Infrastructure SDK for PL/SQL a.k.a. PL/SQL SDK를 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/500InternalServerError/items/b7aba5d96c6c7b5e186b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
이번에는 MY_SDK_CRED라는 SDK 액세스를 위한 자격 증명을 만듭니다.
private_key에는 작성한 비공개 키의 내용으로부터 헤더(-----BEGIN RSA PRIVATE KEY-----), 꼬리말(-----END RSA PRIVATE KEY-----)를 제외한 부분 를 설명합니다.
SET DEFINE OFF
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'MY_SDK_CRED',
user_ocid => 'ユーザのOCID',
tenancy_ocid => 'テナントのOCID',
private_key => 'MIIE......',
fingerprint => '公開キーのフィンガープリント'
);
END;
/
이번에는 Autonomous Database에 표준 탑재된 SQL Developer Web에서 실행했습니다.5. PL/SQL SDK를 사용하여 PL/SQL 프로시저 작성
이번에는 다음과 같은 PL/SQL 프로시저를 작성했습니다.
· 리전, 네임 스페이스 및 버킷 이름을 받고 해당 스토리지 버킷에있는 객체 목록을 검색하고 검색된 객체의 이름을 object_list 테이블에 삽입
object_list 테이블은 다음 SQL로 작성됩니다.CREATE TABLE object_list (
object_name VARCHAR2(100)
);
실제로 작성한 PL/SQL 프로시저는 다음과 같습니다.CREATE OR REPLACE PROCEDURE get_obj_list(namespace IN VARCHAR2, bucket IN VARCHAR2, region_id IN VARCHAR2)
IS
object_summary dbms_cloud_oci_obs_object_storage_object_summary_tbl;
response_body dbms_cloud_oci_obs_object_storage_list_objects_t;
response dbms_cloud_oci_obs_object_storage_list_objects_response_t;
json_obj json_object_t;
l_keys json_key_list;
BEGIN
-- 指定されたバケット内のオブジェクトリストの取得
response := dbms_cloud_oci_obs_object_storage.list_objects(
namespace_name => namespace,
bucket_name => bucket,
credential_name => 'MY_SDK_CRED',
region => region_id);
response_body := response.response_body;
object_summary := response_body.objects;
-- 取得したオブジェクト名をobject_list表にINSERT
FOR i IN object_summary.first..object_summary.last LOOP
INSERT INTO object_list VALUES (object_summary(i).name);
END LOOP;
COMMIT;
END;
/
6. PL/SQL 프로시저의 동작 확인
PL/SQL 프로시저를 작성할 수 있었으므로, 동작을 확인해 보겠습니다.
먼저 object_list 테이블을 비웁니다.TRUNCATE TABLE object_list;
그런 다음 실제로 테이블에 데이터가 있는지 확인합니다.SELECT * FROM object_list;
방금 만든 PL/SQL 프로시저를 실행합니다.
여기에서는,
네임스페이스: nrhnlrqdttaw
버킷 이름: MyBucket
지역: ap-tokyo-1
로 실행합니다.
또한 이 버킷에는 5개의 객체가 저장되어 있습니다.
EXECUTE get_obj_list('nrhnlrqdttaw','MyBucket','ap-tokyo-1');
object_list 테이블의 내용을 확인합니다.SELECT * FROM object_list;
이런 식으로 PL/SQL SDK를 사용하여 버킷의 객체 이름 목록을 검색하고 Autonomous Database의 테이블에 저장할 수있었습니다.
PL/SQL SDK는 오브젝트 스토리지 뿐만 아니라 다양한 OCI의 서비스에 대응하고 있기 때문에, 여러가지 활용할 수 있을 것 같습니다.
앞으로도 여러가지 시험해보고 싶습니다.
Reference
이 문제에 관하여([OCI] Autonomous Database에서 Oracle Cloud Infrastructure SDK for PL/SQL a.k.a. PL/SQL SDK를 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/500InternalServerError/items/b7aba5d96c6c7b5e186b
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
CREATE TABLE object_list (
object_name VARCHAR2(100)
);
CREATE OR REPLACE PROCEDURE get_obj_list(namespace IN VARCHAR2, bucket IN VARCHAR2, region_id IN VARCHAR2)
IS
object_summary dbms_cloud_oci_obs_object_storage_object_summary_tbl;
response_body dbms_cloud_oci_obs_object_storage_list_objects_t;
response dbms_cloud_oci_obs_object_storage_list_objects_response_t;
json_obj json_object_t;
l_keys json_key_list;
BEGIN
-- 指定されたバケット内のオブジェクトリストの取得
response := dbms_cloud_oci_obs_object_storage.list_objects(
namespace_name => namespace,
bucket_name => bucket,
credential_name => 'MY_SDK_CRED',
region => region_id);
response_body := response.response_body;
object_summary := response_body.objects;
-- 取得したオブジェクト名をobject_list表にINSERT
FOR i IN object_summary.first..object_summary.last LOOP
INSERT INTO object_list VALUES (object_summary(i).name);
END LOOP;
COMMIT;
END;
/
PL/SQL 프로시저를 작성할 수 있었으므로, 동작을 확인해 보겠습니다.
먼저 object_list 테이블을 비웁니다.
TRUNCATE TABLE object_list;
그런 다음 실제로 테이블에 데이터가 있는지 확인합니다.
SELECT * FROM object_list;
방금 만든 PL/SQL 프로시저를 실행합니다.
여기에서는,
네임스페이스: nrhnlrqdttaw
버킷 이름: MyBucket
지역: ap-tokyo-1
로 실행합니다.
또한 이 버킷에는 5개의 객체가 저장되어 있습니다.
EXECUTE get_obj_list('nrhnlrqdttaw','MyBucket','ap-tokyo-1');
object_list 테이블의 내용을 확인합니다.
SELECT * FROM object_list;
이런 식으로 PL/SQL SDK를 사용하여 버킷의 객체 이름 목록을 검색하고 Autonomous Database의 테이블에 저장할 수있었습니다.
PL/SQL SDK는 오브젝트 스토리지 뿐만 아니라 다양한 OCI의 서비스에 대응하고 있기 때문에, 여러가지 활용할 수 있을 것 같습니다.
앞으로도 여러가지 시험해보고 싶습니다.
Reference
이 문제에 관하여([OCI] Autonomous Database에서 Oracle Cloud Infrastructure SDK for PL/SQL a.k.a. PL/SQL SDK를 사용해 보았습니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/500InternalServerError/items/b7aba5d96c6c7b5e186b텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)