Autonomous AI Database Free Container Imageの使用
Autonomous AI Database Free Container Imageを使用すると、Oracle Cloud Infrastructure Consoleやインターネットにアクセスすることなく、独自の環境のコンテナでAutonomous AI Databaseを実行できます。
Free Container Imageについて
Autonomous AI Database Free Container Imageにはリポジトリからアクセスし、ローカル環境で実行できます。
Autonomous AI Databaseは、Oracle Cloud Infrastructureで利用可能なフルマネージドOracle AI Databaseを提供します。Oracle Cloud Infrastructureでは、Oracle Cloud Infrastructure Consoleを使用してライフサイクル管理操作を実行し、Autonomous AI Databaseを実行します。また、パブリック・インターネットまたは設定したプライベート・ネットワークを介して(ネットワーク構成およびセキュリティのニーズに応じて)データベースに接続します。
ノート
ノート: Autonomous AI Databaseでは、Oracle Autonomous AI Database Free Container Image 19cとOracle Autonomous AI Database Free Container Image 26aiの両方のバージョンがサポートされています。
Autonomous AI Database Free Container Imageは、Oracle Cloud Infrastructure Consoleやインターネットにアクセスすることなく、独自の環境のコンテナでAutonomous AI Databaseを実行する代替手段を提供します。コンテナ内でAutonomous AI Databaseを実行すると、コンテナはローカルで分離された環境を提供し、Oracle Autonomous AI Database機能の開発、テストおよび探索のための追加オプションを提供します。
Autonomous AI Database Free Container Imageライセンス
Autonomous AI Database Free Container Imageのライセンスについて説明します。
Autonomous AI Database Free Container Imageは、ライセンスの対象となります。
選択したコンテナ・イメージとそれに含まれるすべてのソフトウェアは、コンテナ・イメージで提供されているOracle Free Use Terms and Conditionsに基づいてライセンスされます。コンテナの使用には、それらのライセンスの条件が適用されます。
Autonomous AI Database Free Container Imageの機能
Autonomous AI Database Free Container Imageは、Autonomous AI Database Serverlessで使用可能な多くの機能を提供します。
-
各フリー・コンテナ・イメージには、2つのAutonomous AI Databaseインスタンス(レイクハウス・ワークロード・タイプのインスタンスとトランザクション処理ワークロード・タイプのインスタンス)が用意されています。
-
データベースは、起動時に指定したワークロード・タイプに基づいて、トランザクション処理ワークロード・タイプまたはレイクハウスのワークロード・タイプで起動されます。
-
データベース操作は、
adb-cliコマンドライン・ユーティリティを使用して実行できます。 -
Free Container Imageリソース割当ては、4 ECPUと20 GBのストレージで、最大30の同時データベース・セッションが可能です。
-
各フリー・コンテナ・イメージは、Autonomous AI Databaseコンシューマ・グループをサポートしています:
-
レイクハウスのワークロード: HIGH、MEDIUMまたはLOWサービスを介して接続します。
-
トランザクション処理ワークロード: HIGH、MEDIUM、LOW、TPまたはTPURGENTサービスを介して接続します。
詳細は、Autonomous AIデータベースのワークロード・タイプについてを参照してください。
-
-
Free Container Imageは、次の組込みデータベース・ツールをサポートします。
-
データベース・アクション
-
Oracle REST Data Services (ORDS)
-
Oracle APEX
-
Oracle AI Database API for MongoDB
-
Autonomous AI Database Free Container Imageの推奨事項と制限事項
フリー・コンテナ・イメージの要件および制限について説明します。
空きコンテナ・イメージのリソース割当てに関する推奨事項
空きコンテナ・イメージの推奨リソース割当ては次のとおりです:
-
4 CPU
-
8 GBのメモリ
空きコンテナ・イメージの制限
-
空きコンテナ・イメージの自動パッチ適用またはメンテナンス・ウィンドウはありません。リポジトリは、空きコンテナ・イメージの最新バージョンを提供します。リポジトリをチェックして、空きコンテナ・イメージの新しいバージョンを見つけます。
-
次のAutonomous AI Database組込みツールはサポートされていません:
-
グラフ
-
Oracle Machine Learning
-
データ変換
-
-
Autonomous AI Databaseがコンテナで実行される場合、コンテナはローカルAutonomous AI Databaseインスタンスを提供します。コンテナ・イメージには、Oracle Cloud Infrastructure ConsoleまたはAPIでのみ使用可能な機能は含まれません。データベース内で使用でき、Oracle Cloud Infrastructure Consoleでも使用できる一部の機能は、
ADMINパスワードのリセットなど、データベース内コマンドでも使用できます。次に、使用できない機能の一部を示します。機能 使用可能または使用不可 インスタンスをバックアップする 使用不可 文字セットの選択 使用不可 インスタンスのクローニング 使用不可 エラスチック・プールの作成 使用不可 顧客管理キー 使用不可 データベース名の変更 使用不可 Data Safe 使用不可 コンピュート自動スケーリングの無効化 使用不可 組込みデータベース・ツールの無効化 使用不可 ストレージの自動スケーリングの無効化 使用不可 Autonomous Data Guardやバックアップベースのディザスタ・リカバリなどのディザスタ・リカバリ・オプション。 使用不可 ウォレットのダウンロード 使用不可 組込みデータベース・ツールの有効化 使用不可 自動スケーリングの計算の有効化 使用不可 ストレージの自動スケーリングの有効化 使用不可 エラスティック・プールへの参加 使用不可 ネットワークACL 使用不可 Oracle Cloud Infrastructureイベント 使用不可 パフォーマンス・ハブ 使用不可 プライベート・エンドポイント 使用不可 Real Application Testing 使用不可 リソース・プリンシパル・ベースの認証 使用不可 インスタンスの再起動 使用不可 インスタンスのリストア 使用不可 ウォレットのローテーション 使用不可 サンプル・スキーマ 使用不可 CPUとストレージのスケールダウン 使用不可 CPUとストレージのスケールアップ 使用不可 インスタンス・パッチ・レベルの選択 使用不可 インスタンスの起動 使用不可 インスタンスの停止 使用不可 ノート
ノート:コンテナでFree Container Imageを実行する場合、コンテナを起動、停止または再起動することで、インスタンスの起動、インスタンスの停止またはインスタンスの再起動を行うことができます。
Autonomous AI Database Free Container Imageのコンテナ・レジストリの場所
Autonomous AI Database Free Container Imageを取得できる場所には、Oracle Cloud Infrastructure Registry (コンテナ・レジストリ)やGitHubなど、複数の場所があります。
Autonomous AI Database Free Container Imageは、複数の場所で入手できます。この例では、podmanコマンドを使用します(詳細は、Podmanを参照)。
-
podman仮想マシンを起動します。
たとえば:
podman machine init podman machine set --cpus 4 --memory 8192 podman machine start -
空きコンテナ・イメージを取得します。
Oracle Cloud Infrastructure Registry:
たとえば、
podmanコマンドを使用して、最新のFree Container Imageイメージをプルします。podman pull container-registry.oracle.com/database/adb-free:latest-23aiノート
注意:
Oracle Autonomous AI Database Serverlessでは、19cコンテナ・イメージもサポートされています。
-
19cコンテナ・イメージ名の場合、データベース・バージョンとして
latestタグを指定します。 -
前述の例で、Autonomous AI Database Free Container Image 19cをプルするには、イメージ名タグで次のコマンドを使用します:
podman pull container-registry.oracle.com/database/adb-free:latestドキュメント全体を通して、イメージ名タグは
latest-23aiバージョンを参照します。詳細および追加情報については、Oracle Cloud Infrastructure Registryで「Oracle Autonomous AI Database Free」を検索してください。
GitHubパッケージ:
たとえば、
podmanコマンドを使用して、GitHubパッケージからフリー・コンテナ・イメージをプルします:podman pull ghcr.io/oracle/adb-free:latest-23ai -
-
イメージを確認します。
たとえば:
podman images container-registry.oracle.com/database/adb-free:latest-23ai
空きコンテナ・イメージの開始
Autonomous AI Database Free Container Imageをダウンロードした後、コンテナでイメージを起動できます。
データベースは、指定したワークロード・タイプに基づいて、トランザクション処理ワークロード・タイプまたはレイクハウス・ワークロード・タイプのいずれかで起動されます。
-
コンテナを起動してFree Container Imageを実行します。
たとえば、podmanの場合:
podman run -d \ -p 1521:1522 \ -p 1522:1522 \ -p 8443:8443 \ -p 27017:27017 \ -e WORKLOAD_TYPE='ATP' \ -e WALLET_PASSWORD=*** \ -e ADMIN_PASSWORD=*** \ --cap-add SYS_ADMIN \ --device /dev/fuse \ --name adb-free \ container-registry.oracle.com/database/adb-free:latest-23aiコマンド・ノート:
-
Autonomous AI Database Serverlessは、19cコンテナ・イメージもサポートしています。
-
19cコンテナ・イメージ名の場合、データベース・バージョンとして
latestタグを指定します。 -
前述の例で、Autonomous AI Database Free Container Image 19cを実行するコンテナを起動するには、イメージ名タグで次のコマンドを使用します:
container-registry.oracle.com/database/adb-free:**latest**
-
-
ドキュメント全体を通して、イメージ名タグは
latest-23aiバージョンを参照します。 -
WORKLOAD_TYPEは、ATPまたはADWのいずれかです。デフォルト値はATPです。 -
デフォルトでは、渡された
WORKLOAD_TYPE値に応じて、データベースの名前はMYATPまたはMYADWになります。オプションで、デフォルトとは異なるデータベース名が必要な場合は、DATABASE_NAMEパラメータを設定できます。データベース名には、英数字のみを使用できます。 -
コンテナの起動時に、対応する
MY<WORKLOAD_TYPE>.pdbが、パブリック・オブジェクト・ストレージ・バケットからダウンロードおよびプラグインされます。 -
ウォレットは、指定された
WALLET_PASSWORDを使用して生成されます。 -
初期ログイン時に
ADMIN_PASSWORDを変更する必要があります。 -
ADMIN_PASSWORDを作成または変更する場合は、次の要件を確認してください。-
パスワードは、12文字から30文字までの長さとし、大文字、小文字および数字をそれぞれ1文字以上含める必要があります。
-
パスワードにはユーザー名を含めることはできません。
-
-
WALLET_PASSWORDを作成または変更する場合は、次の要件を確認してください。- パスワードは8から30文字の長さで、英字と数字または特殊文字を組み合せて使用する必要があります。
-
OFSマウントの場合、コンテナは
SYS_ADMIN機能で始まります。また、仮想デバイス/dev/fuseにアクセスできる必要があります。 -
この
-pオプションは、次のポートがコンテナ・プロセスに転送されることを指定します。ポート 摘要 1521 TLS 1522 mTLS 8443 ORDS/APEXおよびデータベース・アクションのHTTPSポート 27017 Mongo API
企業プロキシの背後にある場合は、
-eオプションを含めて、プロキシの環境変数を指定します。たとえば、podmanの場合:podman run -d \ -p 1521:1522 \ -p 1522:1522 \ -p 8443:8443 \ -p 27017:27017 \ -e WORKLOAD_TYPE='ATP' \ -e WALLET_PASSWORD=*** \ -e ADMIN_PASSWORD=*** \ -e http_proxy=http://*example-corp-proxy.com*:80/ \ -e https_proxy=http://*example-corp-proxy.com*:80/ \ -e no_proxy=localhost,127.0.0.1 \ -e HTTP_PROXY=http://*example-corp-proxy.com*:80/ \ -e HTTPS_PROXY=http://*example-corp-proxy.com*:80/ \ -e NO_PROXY=localhost,127.0.0.1 \ --cap-add SYS_ADMIN \ --device /dev/fuse \ --name adb-free \ container-registry.oracle.com/database/adb-free:latest-23ai -
adb-cliを使用したデータベース操作の実行
adb-cliコマンドライン・ユーティリティを使用して、コンテナが起動して実行された後にデータベース操作を実行できます。
adb-cliを使用するには、便宜上次の別名を定義できます。
alias adb-cli="podman exec <container_name> adb-cli"使用可能なコマンド
次のコマンドを使用して、使用可能なコマンドのリストを表示できます。
adb-cli --help
Usage: adb-cli [OPTIONS] COMMAND [ARGS]...
ADB-S Command Line Interface (CLI) to perform container-runtime database operations
Options:
-v, --version Show the version and exit.
--help Show this message and exit.
Commands:
add-database
change-passwordデータベースの追加:次のコマンドを使用してデータベースを追加できます。
adb-cli add-database --workload-type "ATP" --admin-password "Welcome_MY_ATP_1234"パスワードの変更:次のコマンドを使用して、管理パスワードを変更できます:
adb-cli change-password --database-name "MYATP"
--old-password "Welcome_MY_ATP_1234" --new-password "Welcome_12345"空きコンテナ・イメージへの接続
フリー・コンテナ・イメージがコンテナで実行されている場合、Autonomous AI Databaseインスタンスに接続できます。
コンテナで実行されているAutonomous AI Databaseインスタンスに接続するには、ウォレットを設定し、接続するか、TLSウォレットレス接続を使用できます。
Autonomous AI Database Container ImageからORDS、APEXまたはデータベース・アクションへの接続
コンテナhostnameは、ポート8443でHTTPSトラフィックを処理するために自己署名SSL証明書を生成するために使用されます。Oracle APEXおよびデータベース・アクションには、コンテナ・ホスト(または単にlocalhost)を使用してアクセスできます。
| アプリケーション | URL |
|---|---|
| Oracle APEX | https://localhost:8443/ords/apex |
| データベース・アクション | https://localhost:8443/ords/sql-developer |
ノート
ノート: adb-cli add-databaseコマンドを使用してプラグインされた追加のデータベースの場合、https://localhost:8443/ords/{database_name}/apexおよびhttps://localhost:8443/ords/{database_name}/sql-developerのURL形式を使用してAPEXおよびデータベース・アクションにそれぞれアクセスします。
Autonomous AI Database Container Imageに接続するための使用可能なTNS別名
次のいずれかの別名を使用して、Autonomous AI Database Container Imageに接続できます。
| プロトコル | トランザクション処理ワークロード | レイクハウスのワークロード |
|---|---|---|
| mTLS |
|
|
| TLS |
|
|
これらの接続文字列のTNS別名マッピングは、$TNS_ADMIN/tnsnames.oraにあります。tnsnames.oraのサービス名の詳細は、Autonomous AI Databaseでの同時実行性および優先度の管理を参照してください。
Walletを使用したAutonomous AI Database Container Imageへの接続
Walletを使用してAutonomous AI Databaseコンテナ・イメージに接続するステップについて説明します。
次のステップを実行してウォレットを設定し、接続します。
-
生成されたウォレットをホストにコピーします。
コンテナを起動すると、Autonomous AI Databaseによって
/u01/app/oracle/wallets/tls_walletにウォレットが生成されます。たとえば、生成されたウォレットをローカル・フォルダ
/scratch/tls_walletにコピーします。podman cp adb-free:/u01/app/oracle/wallets/tls_wallet /scratch/tls_walletこれにより、ウォレットがフォルダ
/scratch/tls_walletにコピーされます。 -
TNS_ADMIN環境変数の値をwalletディレクトリに設定します。たとえば:
export TNS_ADMIN=/scratch/tls_wallet -
Free Container Imageが実行されているリモート・ホストに接続する場合は、
$TNS_ADMIN/tnsnames.oraのlocalhostをリモート・ホストFQDNに置き換えます。たとえば:
sed -i 's/localhost/example.com/g' $TNS_ADMIN/tnsnames.ora -
Autonomous AI Databaseインスタンスに接続します。
たとえば、
sqlplusを使用して、トランザクション処理ワークロードのAutonomous AI Databaseインスタンスに接続します:sqlplus admin/password@myatp_low_tlsたとえば、
sqlplusを使用して、レイクハウス・ワークロードのAutonomous AI Databaseインスタンスに接続します:sqlplus admin/password@myadw_low_tls
Wallet (TLS)なしでAutonomous AI Database Container Imageに接続
Wallet (TLS)を使用せずにAutonomous AI Databaseコンテナ・イメージに接続するステップについて説明します。
ウォレットなしで接続するには、コンテナ起動時に生成された自己署名証明書を使用してクライアントのトラストストアを更新する必要があります。
TLS接続を設定して接続するには、次のステップを実行します。
-
コンテナから
/u01/app/oracle/wallets/tls_wallet/adb_container.certをコピーし、システム・トラストストアを更新します。たとえば:
podman cp adb-free:/u01/app/oracle/wallets/tls_wallet/adb_container.cert adb_container.cert sudo cp adb_container.cert /etc/pki/ca-trust/source/anchors sudo update-ca-trust -
Autonomous AI Databaseインスタンスに接続します。
たとえば、
sqlplusを使用して、トランザクション処理ワークロードのAutonomous AI Databaseインスタンスに接続します:sqlplus admin/password@myatp_lowたとえば、
sqlplusを使用して、データ・ウェアハウス・ワークロードのAutonomous AI Databaseインスタンスに接続します:sqlplus admin/password@myadw_low
Autonomous AI Database Freeコンテナ間でのデータの移行
フリー・コンテナ・イメージの新しいバージョンが使用可能な場合は、コンテナから別のコンテナにデータを移行できます。
たとえば、新しい更新が使用可能になったときに、そのデータを最新バージョンのフリー・コンテナ・イメージに移行することで、コンテナ内に作成した既存のデータを使用します。
-
podmanボリュームを作成します。
たとえば:
podman volume create adb_container_volume -
ボリュームのマウントポイントを確認します。
マウントポイントは、podman管理対象ディレクトリの場所です。
podman inspect adb_container_volume [ { "Name": "adb_container_volume", "Driver": "local", "Mountpoint": "/share/containers/storage/volumes/adb_container_volume/_data", "CreatedAt": "2023-09-11T21:23:34.305877073Z", "Labels": {}, "Scope": "local", "Options": {}, "MountCount": 0, "NeedsCopyUp": true, "NeedsChown": true } ] -
ソース・コンテナを起動し、ボリュームをコンテナ内の
/u01/dataにマウントします。たとえば:
podman run -d \ -p 1521:1522 \ -p 1522:1522 \ -p 8443:8443 \ -p 27017:27017 \ -e WORKLOAD_TYPE='ATP' \ -e WALLET_PASSWORD=*** \ -e ADMIN_PASSWORD=*** \ --cap-add SYS_ADMIN \ --device /dev/fuse \ --name source_adb_container \ --volume adb_container_volume:/u01/data \ container-registry.oracle.com/database/adb-free:latest-23aiノート
注意:
Autonomous AI Database Serverlessは、19cコンテナ・イメージもサポートしています。
-
19cコンテナ・イメージ名の場合、データベース・バージョンとして
latestタグを指定します。 -
前述の例で、Autonomous AI Database Free Container Image 19cを起動するには、イメージ名タグで次のコマンドを使用します:
container-registry.oracle.com/database/adb-free:latestドキュメント全体を通して、イメージ名タグは
latest-23aiバージョンを参照します。 -
-
この例では、スキーマ
app_userにデータをすでに作成済であることを前提としています。 -
app_userのスキーマからコンテナ・ボリュームにデータをエクスポートします。-
ADMINとして接続し、/u01/dataを指すORA_EXP_DIRディレクトリを作成します。sqlplus admin/**************@myadw_high SQL> exec DBMS_CLOUD_CONTAINER_ADMIN.create_export_directory('/u01/data');SQL> select directory_path from dba_directories where directory_name='ORA_EXP_DIR'; DIRECTORY_PATH -------------------------------------------------------------------------------- /u01/data -
エクスポート・ジョブをスキーマ・モードで実行し、
ADMINスキーマとAPP_USERスキーマの両方に対して実行します。SET scan off SET serveroutput ON SET escape off DECLARE h1 NUMBER; s VARCHAR2(1000):=NULL; errorvarchar VARCHAR2(100):= 'ERROR'; tryGetStatus NUMBER := 0; success_with_info EXCEPTION; PRAGMA EXCEPTION_INIT(success_with_info, -31627); BEGIN h1 := dbms_datapump.OPEN(operation => 'EXPORT', job_mode => 'SCHEMA', job_name => 'EXPORT_MY_ADW_4', version => 'COMPATIBLE'); tryGetStatus := 1; dbms_datapump.add_file(handle => h1, filename => 'EXPORT_MY_ADW.LOG', directory => 'ORA_EXP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE); dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', VALUE => 'IN(''ADMIN'', ''APP_USER'')'); dbms_datapump.add_file(handle => h1, filename => 'MY_ADW_%L.DMP', directory => 'ORA_EXP_DIR', filesize => '500M', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE); dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0); dbms_datapump.detach(handle => h1); errorvarchar := 'NO_ERROR'; EXCEPTION WHEN OTHERS THEN BEGIN IF ((errorvarchar = 'ERROR')AND(tryGetStatus=1)) THEN DBMS_DATAPUMP.DETACH(h1); END IF; EXCEPTION WHEN OTHERS THEN NULL; END; RAISE; END; /
-
-
エクスポートを検証します。
コンテナ
/u01/data内のファイルをリストします。podman exec -it source_adb_container bash cd /u01/dataエクスポート・ログ(
export log)を確認し、エラーおよび正常終了を確認します。 -
ソース・コンテナを停止して削除します。
podman stop source_adb_container podman rm source_adb_containerノート
ノート:adb_container_volumeは、コンテナの再起動および削除後も存続します。 -
同じボリュームをコンテナ内の
/u01/dataにマウントする宛先コンテナを起動します。podman run -d \ -p 1521:1522 \ -p 1522:1522 \ -p 8443:8443 \ -p 27017:27017 \ -e WORKLOAD_TYPE='ATP' \ -e WALLET_PASSWORD=*** \ -e ADMIN_PASSWORD=*** \ --cap-add SYS_ADMIN \ --device /dev/fuse \ --name dest_adb_container \ --volume adb_container_volume:/u01/data \ container-registry.oracle.com/database/adb-free:latest-23ai -
宛先コンテナにデータをインポートします。
ADMINとして接続し、/u01/dataを指すORA_EXP_DIRディレクトリを作成します。SQL> exec DBMS_CLOUD_CONTAINER_ADMIN.create_export_directory('/u01/data'); PL/SQL procedure successfully completed. SQL> select directory_path from dba_directories where directory_name='ORA_EXP_DIR'; DIRECTORY_PATH -------------------------------------------------------------------------------- /u01/data -
PL/SQLのインポート・コマンドを実行します。
SET scan off SET serveroutput ON SET escape off DECLARE h1 NUMBER; s VARCHAR2(1000):=NULL; errorvarchar VARCHAR2(100):= 'ERROR'; tryGetStatus NUMBER := 0; success_with_info EXCEPTION; PRAGMA EXCEPTION_INIT(success_with_info, -31627); BEGIN h1 := dbms_datapump.OPEN(operation => 'IMPORT', job_mode => 'SCHEMA', job_name => 'IMPORT_MY_ADW_4', version => 'COMPATIBLE'); tryGetStatus := 1; dbms_datapump.add_file(handle => h1, filename => 'IMPORT_MY_ADW.LOG', directory => 'ORA_EXP_DIR', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_LOG_FILE); dbms_datapump.metadata_filter(handle => h1, name => 'SCHEMA_EXPR', VALUE => 'IN(''ADMIN'', ''APP_USER'')'); dbms_datapump.add_file(handle => h1, filename => 'MY_ADW_%L.DMP', directory => 'ORA_EXP_DIR', filesize => '500M', filetype => DBMS_DATAPUMP.KU$_FILE_TYPE_DUMP_FILE); dbms_datapump.start_job(handle => h1, skip_current => 0, abort_step => 0); dbms_datapump.detach(handle => h1); errorvarchar := 'NO_ERROR'; EXCEPTION WHEN OTHERS THEN BEGIN IF ((errorvarchar = 'ERROR')AND(tryGetStatus=1)) THEN DBMS_DATAPUMP.DETACH(h1); END IF; EXCEPTION WHEN OTHERS THEN NULL; END; RAISE; END; / -
インポート・ログを確認します。
-
インポート・データを検証します。