sql >> データベース >  >> RDS >> Mysql

Oracle異種サービスでのMySQLの使用

    Oracle Database Gatewayを使用すると、OracleクライアントアプリケーションはOracle以外のデータベースにアクセスできます。たとえば、OracleSQLDeveloperとMySQL。 Oracle Database GatewaysとHeterogeneousServices(Oracleに組み込まれている)は、データがOracle、MySQL、SQL Serverなどにある場合でも、単一のローカルOracleデータベースの外観を示します。

    Oracle Database Gateway for ODBC(DG4ODBC)は、ODBCデータベースをOracleと透過的に統合します。 ODBCは、統一されたクロスDBMSインターフェイスを提供し、ODBCドライバーと呼ばれるミドルウェアを使用してアプリケーションの要求をデータベースが理解できるものに変換することにより、アプリケーションをデータベースから分離します。 ODBCドライバを使用してOracleをターゲットデータベースにリンクするため、DG4ODBCは特定のデータベースに関連付けられていません。この柔軟なアーキテクチャにより、OracleはODBCドライバが利用可能な任意のデータベースと共存できます。

    DG4ODBCを使用すると、Oracleとサードパーティの両方のOracleアプリケーションをすぐに使用して、OracleデータベースであるかのようにODBCデータベースの情報にアクセスできます。アプリケーションを再コーディングまたは再構成する必要はありません。

    DG4ODBCは、Oracle 11 gの一部として提供されます。 以降、追加費用なしで、Oracle 10 gで使用できます。 以降。 ODBCデータベースを以前のバージョンのOracleと統合するには、HSODBCチュートリアルを参照してください。

    DG4ODBCは、ODBCドライバーが使用可能な任意のデータベースにOracleを接続できるため、OracleはDG4ODBCを汎用接続エージェントと呼びます。

    Easysoft ODBCドライバーをDG4ODBCとともに使用して、OracleをMySQLに接続できます。このガイドの手順は、LinuxおよびUNIX上のMySQLおよびOracleを対象としています。

    1. DG4ODBCのバージョンが32ビットか64ビットかを確認します:
      cd $ORACLE_HOME/bin
      file dg4odbc
                              

      fileの場合 コマンドの出力には、「ELF 64ビットLSB実行可能ファイル」などが含まれます。DG4ODBCは64ビットです。プラットフォーム用に、64ビットのMySQLODBCドライバーをダウンロードしてください。

      それ以外の場合は、プラットフォーム用の32ビットMySQLODBCドライバーをダウンロードします。

    2. DG4ODBCがインストールされているマシンにMYSQLODBCドライバーをインストール、ライセンス供与、およびテストします。

      インストール手順については、MySQLODBCドライバーのドキュメントを参照してください。設定する必要のある環境変数(LD_LIBRARY_PATH)については、ドキュメントを参照してください。 、LIBPATHLD_RUN_PATH またはSHLIB_PATH プラットフォームとリンカーによって異なります)。

    3. DG4ODBC初期化ファイルを作成します。例:
      cd $ORACLE_HOME/hs/admin
      cp initdg4odbc.ora initmysql.ora
                              
    4. 次のパラメータと値がinitファイルに存在することを確認してください:
      HS_FDS_CONNECT_INFO = mysql_odbc_dsn
      HS_FDS_SHAREABLE_NAME = /usr/local/easysoft/unixODBC/lib/libodbc.so
                              

      mysql_odbc_dsnを置き換えます ターゲットMySQLデータベースに接続するMySQLODBCドライバーデータソースの名前。

      MySQLサーバーがしない場合 ユーザー名とパスワードを入力する必要があります。IgnoreAuth=Yesを含めてください HS_FDS_CONNECT_INFO内 パラメータ値。例:

      HS_FDS_CONNECT_INFO = "mysql_odbc_dsn;IgnoreAuth=Yes"
      
    5. Oracle / MySQLの互換性を高めるために次の行を追加します:
      HS_FDS_QUOTE_IDENTIFIER = FALSE
      
    6. $ORACLE_HOME/network/admin/listener.oraにエントリを追加します これにより、DG4ODBCのSID_NAMEが作成されます。例:
      SID_LIST_LISTENER =
       (SID_LIST =
         (SID_DESC=
           (SID_NAME=mysql)
           (ORACLE_HOME=oracle_home_directory)
           (PROGRAM=dg4odbc)
           (ENVS=LD_LIBRARY_PATH = /usr/local/easysoft/unixODBC/lib:
                  /usr/local/easysoft/lib)
         )
       )
      
                              

      oracle_home_directoryを置き換えます $ORACLE_HOMEの値を使用 。例:/u01/app/oracle/product/11.2.0/dbhome_1/

    7. DG4ODBCエントリを$ORACLE_HOME/network/admin/tnsnames.oraに追加します これは、前の手順で作成したSID_NAMEを指定します。例:
      mysql_connection=
       (DESCRIPTION=
         (ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host)(PORT=1521))
         (CONNECT_DATA= (SID=mysql))
         (HS=OK)
       )
                              
    8. Oracleリスナーを起動(または再起動)します。
      cd $ORACLE_HOME/bin
      ./lsnrctl stop
      ./lsnrctl start
                              
    9. SQL*PlusでOracleデータベースに接続します。
    10. SQL * Plusで、ターゲットMySQLデータベースのデータベースリンクを作成します。例:
      CREATE PUBLIC DATABASE LINK mysqllink CONNECT TO
      "dbuser" IDENTIFIED BY "dbpassword" using 'mysql_connection';
                              

      dbuserを置き換えます およびdbpassword ターゲットMySQLデータベースの有効なユーザー名とパスワードを使用します。

      –または、MySQLサーバーがしない場合 ユーザー名とパスワードを入力する必要があります:

      CREATE PUBLIC DATABASE LINK mysqllink USING 'mysql';
      

    1. dockerおよびdocker-composeの複数のデータベース

    2. カンマ区切りの文字列を分割し、テーブルに挿入します(int)

    3. R12.2のログインフローと基本的なトラブルシューティング

    4. SQLServerのサブクエリを使用してクエリを更新する