[OCI] PL/SQL SDK를 사용하여 Autonomous Database에서 PL/SQL로 MySQL DB 시스템을 만들려고했습니다.

소개


기사의 타이틀을 보고, 「조금 무엇 말하고 있는지 모르는 ©️샌드위치맨」이라고 생각된 분도 계실까라고 생각합니다만, 실제로 타이틀대로의 내용이므로 용서해 주세요.
이 기사에서 PL/SQL SDK를 사용하여 Autonomous Database 내에서 PL/SQL에서 OCI 작업을 할 수있게 된 것을 소개했습니다.
Autonomous Database에서 Oracle Cloud Infrastructure SDK for PL/SQL a.k.a. PL/SQL SDK를 사용해 보았습니다.
위의 기사에서는 PL/SQL SDK를 사용하여 객체 스토리지 버킷의 객체 이름을 얻었지만 이번에는 무슨 Autonomous Database에서 PL/SQL SDK를 사용하여 MySQL DB 시스템을 만들고 싶습니다. 합니다.
(실제로 그런 일을 하는 사람이 있는지 여부는 제쳐두고….)

해봤어


갑자기 다음이 MySQL DB 시스템을 만드는 PL/SQL 프로그램입니다.
여기를 SQL Developer Web에서 실행합니다.
※사전에 이쪽의 기사등을 참고로 해, 적절한 MySQL DB 시스템용의 네트워크의 작성을 해 주세요.
OCI 네트워크를 구성할 때 되돌아가기 어려운 절차를 생각해 보십시오(초보자용).
set serveroutput on
DECRARE

  response_body     dbms_cloud_oci_ms_db_system_db_system_t;
  response          dbms_cloud_oci_ms_db_system_create_db_system_response_t;
  db_system_details dbms_cloud_oci_ms_db_system_create_db_system_details_t;
  json_obj          json_object_t;
  l_keys            json_key_list;

BEGIN
 
  --作成するMySQL DBシステムの設定内容
  db_system_details := dbms_cloud_oci_ms_db_system_create_db_system_details_t();
    -- 表示名
    db_system_details.display_name := 'MySQL1';
    -- シェイプ
    db_system_details.shape_name := 'VM.Standard.E2.1';
    -- 構成のOCID
    db_system_details.configuration_id := 'ocid1.mysqlconfiguration.oc1..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
    -- コンパートメントのOCID
    db_system_details.compartment_id := 'ocid1.compartment.oc1..XXXXXXXXXXXXXXXXXXXXXXX';
    -- サブネットのOCID
    db_system_details.subnet_id := 'ocid1.subnet.oc1.ap-tokyo-1.XXXXXXXXXXXXXXXXXXXXXXX';
    -- アベイラビリティ・ドメイン
    db_system_details.availability_domain := 'FEnn:AP-TOKYO-1-AD-1';
    -- DB管理者のユーザ名
    db_system_details.admin_username := 'admin';
    -- DB管理者のパスワード
    db_system_details.admin_password := 'Demo#1Demo#1';
    -- データ容量の指定(GB)
    db_system_details.data_storage_size_in_g_bs := '50';
    -- 説明
    db_system_details.description := 'Created by Autonomous Database using PL/SQL SDK';

-- MySQL DB Systemの作成
  response := DBMS_CLOUD_OCI_MS_DB_SYSTEM.CREATA_DB_SYSTEM(
                create_db_system_details => db_system_details,
                -- 使用するクレデンシャル
                credential_name => 'MY_SDK_CRED',
                -- リージョン
                region => 'ap-tokyo-1');
 
  response_body := response.response_body;
 
  -- レスポンスヘッダの表示
  dbms_output.put_line('Headers: ' || CHR(10) ||'------------');
  json_obj := response.headers;
  l_keys := json_obj.get_keys;
  for i IN 1..l_keys.count loop
     dbms_output.put_line(l_keys(i)||':'||json_obj.get(l_keys(i)).to_string);
  end loop;
 
  -- レスポンスのステータスコードの表示
  dbms_output.put_line('Status Code: ' || CHR(10) || '------------' || CHR(10) || response.status_code);
  dbms_output.put_line(CHR(10));
 
  -- 実行結果の表示(作成されるMySQL DBシステムのOCIDと表示名)
  dbms_output.put_line('Now Creating MySQL DB System');
  dbms_output.put_line('OCID :'||response_body.id);
  dbms_output.put_line('Display Name :'||response_body.display_name); 

END;
/
실행 결과입니다.
Headers: 
------------
Connection:"close"
Date:"Thu, 29 Oct 2020 07:01:40 GMT"
opc-request-id:"OS6LIUJ12B/4CDC725A0B9944E5A65D8A00FF5C8B57/4939D58AC27899C0E84E
2CA33F9CF1C5"
Content-Type:"application/json"
X-Content-Type-Options:"nosniff"
Content-Length:"1817"
Status Code: 
------------
200


Now Creating MySQL DB System
OCID:ocid1.mysqldbsystem.oc1.ap-tokyo-1.aaaaaaaag36nvw6tzavpplzar5xkjus4ls7tvixmno6lc7vdhrfddt26j3lq
Display Name :MySQL1


PL/SQL procedure successfully completed.

Elapsed: 00:00:02.512
PL/SQL 실행이 성공적으로 완료되었습니다.
그리고 콘솔을 보면 ....

무려!

My SQL DB 시스템이 생성 중입니다!

이전 PL/SQL 프로그램
db_system_details.description := 'Created by Autonomous Database using PL/SQL SDK';
의 부분에서 지정한 설명(description)도 제대로 반영되고 있네요.
죄송합니다.
여기에 PL/SQL SDK에 대응하고 있는 OCI의 서비스 리스트가 있으므로, 여러분도 여러가지 시험해 보는 것은 어떻습니까.
Oracle Cloud Infrastructure Documentation PL/SQL SDK

좋은 웹페이지 즐겨찾기