独自の倉庫を持ち込む

Bring Your Own Warehouseを使用して、選択したデータベースのAWRスナップショットを最大25か月間保持します。

Bring Your Own Warehouseはオプションであり、最近のスナップショットに対するAWRスナップショット・コレクションは置換されません。

ウェアハウスを設定するには:

  1. 必要なリソースを準備します。

    Opsインサイトの外部にAutonomous AI Lakehouseを作成し、セキュリティ要件に従ってネットワーク・アクセスを構成します。Autonomous AI Lakehouseがプライベート・エンドポイント接続用に構成されている場合は、ウェアハウスに使用されるOpsインサイト・プライベート・エンドポイントで「DNSプロキシの有効化」を選択します。パブリックにアクセスできるAutonomous AI Lakehouseは、プライベート・エンドポイントを必要としません。詳細は、プライベート・エンドポイントの作成を参照してください。

    AWRスナップショットを一時的にステージングするためのオブジェクト・ストレージ・バケットおよびコンパートメントを選択します。バケットがサービス・ゲートウェイを介して到達可能であることを確認し、使用する接頭辞を決定します。

  2. ウェアハウスを登録します。

    Opsインサイトで、独自の倉庫の設定を開始します。Autonomous AI Lakehouseとそのコンパートメントを選択し、オブジェクト・ストレージのバケットとコンパートメントを選択して、接頭辞を入力します。

    倉庫はレイクハウス・コンパートメントに作成されます。設定が未完了または中断の場合は、倉庫詳細ページから続行します。詳細は、倉庫へのアクセスおよび管理を参照してください。

  3. アクセス要件を構成します。

    共有動的グループBYO_AWR_Warehouse_Groupを使用します。コンソール・ポリシーの自動化により、各ウェアハウスOCIDがグループの一致ルールに追加されます。

    BYO_AWR_Warehouse_Policiesの必要な文の詳細は、コンソールを使用したポリシーの作成を参照してください。

  4. ポリシーを検証して適用します。

    BYO_AWR_Warehouse_Policiesの3つの文を確認します。これらの文は、選択したAutonomous AI Lakehouseへのウェアハウス・アクセス、選択したオブジェクト・ストレージ・バケットへのウェアハウス・アクセス、およびそのバケットへのレイクハウス・アクセスを提供します。

    BYO_AWR_Warehouse_Groupまたは必要なポリシーがない場合は、コンソールで「ポリシーの追加」をクリックします。コンソールでは、必要に応じて共有グループが作成され、ウェアハウスOCIDがその一致ルールに追加されます。

  5. Lakehouse設定スクリプトを実行します。

    選択したAutonomous AI Lakehouseでコンソール生成の完全な設定スクリプトを実行します。このスクリプトを実行するには、管理者権限が必要です。このスクリプトにより、OCI IAM外部認証が有効になり、データベース・ユーザーが準備され、AWRおよびADDMアクセス権が付与されます。

    l_iam_group_nameの<WAREHOUSE_OCID>をウェアハウスOCIDに置き換えます。スクリプトは、この値の前にIAM_PRINCIPAL_OCID=を付け、グローバル認証を使用するユーザーを作成します。デフォルトのデータベース・ユーザー名はopsi_awr_userです。

    DECLARE
    l_count INTEGER := 0;
    l_username_raw VARCHAR2(100) := 'opsi_awr_user';
    l_username VARCHAR2(128);
    l_iam_group_name VARCHAR2(128) := '<WAREHOUSE_OCID>';
    l_stop_at_first_error BOOLEAN := TRUE;
    l_tablespace_name VARCHAR2(128);
    
    PROCEDURE run_sql(p_sql IN VARCHAR2, p_ignore_error IN BOOLEAN := FALSE)
    IS
    BEGIN
    EXECUTE IMMEDIATE p_sql;
    DBMS_OUTPUT.PUT_LINE('SUCCESS: ' || p_sql);
    EXCEPTION
    WHEN OTHERS THEN
    DBMS_OUTPUT.PUT_LINE('FAIL: ' || p_sql || CHR(10) || SQLERRM);
    IF NOT p_ignore_error AND l_stop_at_first_error THEN
    RAISE;
    END IF;
    END run_sql;
    BEGIN
    l_username := DBMS_ASSERT.SIMPLE_SQL_NAME(l_username_raw);
    
    SELECT COUNT(1)
    INTO l_count
    FROM all_users
    WHERE username = UPPER(l_username);
    
    DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION( type => 'OCI_IAM', force => TRUE );
    l_iam_group_name := 'IAM_PRINCIPAL_OCID=' || l_iam_group_name;
    IF l_count = 0 THEN
    EXECUTE IMMEDIATE 'create user '
    || l_username
    || ' IDENTIFIED GLOBALLY AS '
    || ''''
    || l_iam_group_name
    || '''';
    END IF;
    
    run_sql('GRANT CONNECT TO ' || l_username );
    run_sql('GRANT CREATE SESSION, ALTER SESSION TO ' || l_username );
    run_sql('GRANT CREATE TABLE TO ' || l_username );
    run_sql('GRANT CREATE VIEW TO ' || l_username );
    run_sql('GRANT CREATE PROCEDURE TO ' || l_username );
    run_sql('GRANT CREATE SEQUENCE TO ' || l_username );
    run_sql('GRANT CREATE TYPE TO ' || l_username );
    run_sql('GRANT CREATE JOB TO '|| l_username);
    run_sql('GRANT SELECT ANY DICTIONARY TO ' || l_username );
    run_sql('GRANT SELECT_CATALOG_ROLE TO ' || l_username );
    run_sql('GRANT SELECT ON SYS.AWR_PDB_SNAPSHOT TO ' || l_username );
    run_sql('GRANT SELECT ON SYS.DBA_ADDM_TASKS TO ' || l_username );
    run_sql('GRANT EXECUTE ON DBMS_CLOUD TO ' || l_username );
    run_sql('GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO ' || l_username );
    run_sql('GRANT EXECUTE ON DBMS_WORKLOAD_REPOSITORY TO ' || l_username );
    run_sql('GRANT READ,WRITE ON DIRECTORY DATA_PUMP_DIR TO ' || l_username );
    run_sql('GRANT EXECUTE ON DBMS_ADDM TO ' || l_username );
    run_sql('GRANT ADVISOR TO ' || l_username );
    run_sql('GRANT EXECUTE ON dbms_advisor TO ' || l_username );
    run_sql('GRANT EXECUTE ON SYS.DBMS_LOCK to ' || l_username );
    run_sql('GRANT EXECUTE ON SYS.DBMS_UTILITY to ' || l_username );
    run_sql('GRANT EXECUTE ON SYS.DBMS_ASSERT to ' || l_username );
    run_sql('GRANT EXECUTE ON SYS.DBMS_OUTPUT to ' || l_username );
    run_sql('GRANT EXECUTE ON SYS.DBMS_SCHEDULER to ' || l_username );
    run_sql('GRANT EXECUTE ON SYS.DBMS_STATS to ' || l_username );
    run_sql('GRANT EXECUTE ON SYS.DBMS_APPLICATION_INFO to ' || l_username );
    run_sql('GRANT EXECUTE ON utl_file TO ' || l_username );
    -- Additional grants from Awr Explorer APIs
    run_sql('GRANT SELECT ON V$DATABASE to '|| l_username);
    -- grants needed for dbaas_api_dbperf to work.
    run_sql('GRANT EXECUTE ON DBMS_SQL TO ' || l_username);
    run_sql('grant select on v$parameter to ' || l_username);
    run_sql('grant select on v$instance to ' || l_username);
    run_sql('grant select on v$sqlcommand to ' || l_username);
    run_sql('grant select on awr_pdb_parameter to ' || l_username);
    run_sql('grant select on awr_pdb_snapshot to ' || l_username);
    run_sql('grant select on awr_pdb_service_name to ' || l_username);
    run_sql('grant select on awr_pdb_database_instance to ' || l_username);
    run_sql('grant select on awr_pdb_active_sess_history to ' || l_username);
    run_sql('grant select on awr_pdb_rsrc_consumer_group to ' || l_username);
    run_sql('grant select on awr_pdb_osstat to ' || l_username);
    
    DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL();
    DBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL(username => l_username);
    DBMS_OUTPUT.PUT_LINE('DBMS_CLOUD_ADMIN.ENABLE_FEATURE for AUTO_DST_UPGRADE');
    DBMS_CLOUD_ADMIN.ENABLE_FEATURE(feature_name => 'AUTO_DST_UPGRADE');
    
    select default_tablespace
    into l_tablespace_name
    from dba_users
    where username = upper(l_username);
    run_sql('ALTER USER ' || l_username || ' QUOTA UNLIMITED ON ' || l_tablespace_name);
    DBMS_OUTPUT.put_line ('User '|| l_username ||' created successfully');
    
    EXCEPTION WHEN OTHERS THEN
    DBMS_OUTPUT.put_line (SQLERRM);
    RAISE;
    END;
  6. Object Storageの設定を完了します。

    選択したバケット、コンパートメント、接頭辞およびアクセス・ポリシーを確認してから、設定を完了します。Autonomous AI Lakehouseスケジューラは、ステージングされたスナップショットをバケットからインポートします。

    要件に合せてオブジェクト・ストレージのライフサイクル・ルールおよびウェアハウス保持を構成します。

  7. データベースを関連付けます。

    ウェアハウスに関連付ける適格なデータベース・インサイトを選択します。これにより、インポート用にステージングされるデータベース・スナップショットが決まります。選択したデータベースについて、最大25か月間の保存を構成します。

    Opsインサイト・データ・ストアの最近のスナップショットについて、AWRスナップショット収集を個別に有効にします。