0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

オンプレミス Oracle Database から Autonomous Database へデータベース・リンクを作成

Last updated at Posted at 2022-04-12

本記事ではオンプレミス環境の Oracle Database から Autonomous Database へデータベース・リンクを作成する手順について説明します。ネットワーク的にオンプレミス・データベースから Autonomous Database へ直接接続できることを前提としています。

Wallet の準備

クライアントとなる Oracle Database にWallet をインストールします。Autonomous Database のホーム画面から「DB Connection」ボタンをクリックします。

Wallet

「Download Wallet」ボタンをクリックします。
Download

Walletのパスワードを指定して「Download」ボタンをクリックすると Wallet が zip ファイルとしてクライアントにダウンロードされます。

Wallet の配置

ダウンロードした Wallet の zip ファイルを任意のディレクトリ内に展開し、そのディレクトリを環境変数 TNS_ADMIN に指定します。sqlnet.ora ファイルの DIRECTORY 項目を Wallet が保存されたディレクトリに変更してください。その後、データベース・インスタンスを起動します。

$ export TNS_ADMIN=$HOME/wallet.atp
$ sqlplus / as sysdba

SQL*Plus: Release 19.0.0.0.0 - Production on 火 4月 12 13:18:53 2022
Version 19.12.0.0.0

Copyright (c) 1982, 2021, Oracle.  All rights reserved.

アイドル・インスタンスに接続しました。

SQL> STARTUP
ORACLEインスタンスが起動しました。

Total System Global Area 1577054664 bytes
Fixed Size                  8896968 bytes
Variable Size             989855744 bytes
Database Buffers          570425344 bytes
Redo Buffers                7876608 bytes
データベースがマウントされました。
データベースがオープンされました。

DATABASE LINK の作成

データベース・リンクの作成は CREATE DATABASE LINK 文を使います。下記の例では tnsnames.ora ファイルのエントリを使わずに直接接続句を記載しています。接続ユーザー名は Autonomous Database 管理者の ADMIN にしています。作成後に Autonomous Database 上のテーブルを検索しています。

SQL> CREATE DATABASE LINK cloud_link1 CONNECT TO ADMIN 
IDENTIFIED BY パスワード 
USING '(description= (retry_count=20)(retry_delay=3)(address=(protocol=tcps)(port=1522)(host=adb.ap-tokyo-1.oraclecloud.com))(connect_data=(service_name=boofmainbg1vvmn_db000000000000_high.adb.oraclecloud.com))(security=(ssl_server_cert_dn="CN=adb.ap-tokyo-1.oraclecloud.com, OU=Oracle ADB TOKYO, O=Oracle Corporation, L=Redwood City, ST=California, C=US")))';

データベース・リンクが作成されました。

SQL> SELECT COUNT(*) FROM DATA1@cloud_link1;

  COUNT(*)
----------
    999998

Data Pump ダンプファイルの転送を試す

データベース・リンクが作成できたので、オンプレミスの Oracle Database 上にある Data Pump ダンプファイルを Autonomous Database のディレクトリ・オブジェクトに転送できるか試しました。結果としては以下のようにエラー(ORA-24444)が発生し、転送できませんでした。このため、オブジェクト・ストレージを使った移行手順が必要です。

SQL>  BEGIN
  2     DBMS_FILE_TRANSFER.PUT_FILE('DATA_PUMP_DIR', 'scott.dmp', 'DPDIR1', 'scott.dmp', 'CLOUD_LINK1');
  3   END;
  4   /
 BEGIN
*
1でエラーが発生しました。:
ORA-24444: TTC RPC
(OFILXFR)はデータベース上で構成されているセキュリティ・ポリシーで許可されていま
せん
ORA-02063: 先行のエラー・メッセージを参照してくださいline(CLOUD_LINK1) ORA-06512:
"SYS.DBMS_FILE_TRANSFER", 77
ORA-06512: "SYS.DBMS_FILE_TRANSFER", 185
ORA-06512: 2

このため Autonomous Database へのファイル転送は DBMS_CLOUD パッケージの PUT_OBJECT プロシージャを用いる必要があります。公式で説明されている手順でファイル転送を行います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?