メイン コンテンツをスキップする 補完的コンテンツへスキップ

XStreamモードの前提条件

始める前に

Talend Studio[XStream]モードを使用するCDCを設定する前に、Oracleデータベースの管理者は次を実行する必要があります。
  1. Oracle XStreamモードでアーカイブログモードの有効化

  2. OracleのCDBのすべてのPDBを開く

  3. XStream管理者の設定

Oracle XStreamモードでアーカイブログモードの有効化

Procedure

  1. 管理ユーザーとしてOracleデータベースに接続し、次のステートメントを実行してアーカイブ情報を表示します。
    archive log list;
  2. データベースがアーカイブログモードで処理されていない場合、次のステートメントを実行してアーカイブログモードを有効化します。
    shutdown immediate;
                      startup mount;
                      alter database archivelog;
                      alter database open;

OracleのCDBのすべてのPDBを開く

Oracleデータベースがコンテナーデータベース(CDB)の場合、XStreamの設定中は、CDBのすべてのプラグイン可能なデータベース(PDB)は必ず読み取り/書き込みモードで開いている必要があります。

Procedure

  • PDBのオープンモードを確認するには、管理ユーザーとしてOracleデータベースに接続し、次のステートメントを実行します。
    select con_id, dbid, guid, name, open_mode from v$pdbs;
  • PDBを開くには、管理ユーザーとしてOracleデータベースに接続し、次のステートメントを実行します。
    alter pluggable database all open;

XStream管理者の設定

About this task

XStream管理者を設定するには、ユーザーの作成、権限の付与、およびテーブルスペースの作成を行う権限を持つ管理ユーザーとしてOracleデータベースに接続し、次のステップに従います。

Procedure

  1. 次のステートメントを実行してXStream管理者のテーブルスペースを作成します。既存のテーブルスペースを使用する場合はこのステップをスキップします。
    CREATE TABLESPACE xstream_tbs DATAFILE '$ORACLE_HOME/dbs/xstream_tbs.dbf' SIZE 25M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED;
  2. 次のステートメントを実行して、XStream管理者となる新しいユーザーを作成します。既存のユーザーを指定する場合は、このステップをスキップします。
    CREATE USER username IDENTIFIED BY password
                         DEFAULT TABLESPACE xstream_tbs
                         QUOTA UNLIMITED ON xstream_tbs;
    情報メモNote:
    • CDBでXStream管理者を作成する場合、XStream管理者は一般ユーザーにする必要があります。一般ユーザーの名前はc##またはC##で始まり、ステートメントにはCONTAINER=ALL句を含める必要があります。

    • Oracleのデフォルトのテーブルスペースを使用してXStream管理者を作成する場合、ステートメントのDEFAULT TABLESPACEおよびQUOTA UNLIMITED ON句は削除する必要があります。

  3. 次のステートメントおよびプロシージャーを実行してXStream管理者に権限を付与します。
    GRANT DBA TO username;
                         GRANT CONNECT, CREATE TABLE TO username;
                         GRANT RESOURCE TO username;
                         GRANT CREATE TABLESPACE TO username;
                         GRANT UNLIMITED TABLESPACE TO username;
                         GRANT SELECT_CATALOG_ROLE TO username;
                         GRANT EXECUTE_CATALOG_ROLE TO username;
                         GRANT CREATE SEQUENCE TO username;
                         GRANT CREATE SESSION TO username;
                         GRANT CREATE ANY VIEW TO username;
                         GRANT CREATE ANY TABLE TO username;
                         GRANT SELECT ANY TABLE TO username;
                         GRANT COMMENT ANY TABLE TO username;
                         GRANT LOCK ANY TABLE TO username;
                         GRANT SELECT ANY DICTIONARY TO username;
                         GRANT EXECUTE ON SYS.DBMS_CDC_PUBLISH to username;
                         GRANT CREATE ANY TRIGGER TO username;
                         GRANT ALTER ANY TRIGGER TO username;
                         GRANT DROP ANY TRIGGER TO username;
    BEGIN
                         DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
                         grantee => 'username',
                         privilege_type => 'CAPTURE',
                         grant_select_privileges => TRUE);
                         END;
                         /
    BEGIN
                         DBMS_XSTREAM_AUTH.GRANT_ADMIN_PRIVILEGE(
                         grantee => 'username',
                         privilege_type => 'APPLY',
                         grant_select_privileges => TRUE);
                         END;
                         /

Results

一般ユーザーに権限を付与する場合は、上記のGRANTステートメントおよびプロシージャーにCONTAINER=ALL句を含める必要があります。

このページは役に立ちましたか?

このページまたはコンテンツにタイポ、ステップの省略、技術的エラーなどの問題が見つかった場合はお知らせください。