2011-10-19 15 views
2

私は2つのデータベースを持っています。最初のデータベースはMySQLデータベースで、Webサイトで使用されています。 2番目はOracleデータベースで、Webサイトに表示したいデータがあり、そのデータが新鮮でなければならないということです.30分ごとにoracle dbからMysqlにデータを移行するプロセスを実行する必要があります。oracleからmysqlにデータをインポート

私は30分ごとに移行するために約60000行を話しているので、私はそれを行うための最適な方法は、(パフォーマンスを考える)のようなものであることを考える:

insert into mysql_db.table.field1, mysql_db.table.field2, mysql_db.table.field3 select oracle_db.table.field1, oracle_db.table.field2, oracle_db.table.field3 from oracle_db.table 

のOracle DBは、WindowsとMySQL上ですLinux(Ubuntu)で。

これは可能ですか?どうやって?そうでなければ、私に別の方法を教えてください。

+1

私たちはそれを取って、PHP経由でOracleから直接データを取得することを止めてしまいますか? –

+0

Oracle DBに直接問合せを行うと何が問題になりますか?あなたはなぜ2つのデータベースを使用していますか? – NullUserException

+0

さて、Oracle DBには機密データが含まれており、Webサイトは新しく、RoRフレームワークに書かれています。アイデアはWebサイトのコードに触れないことです。 Webサイトからoracle dbに直接接続しないでください(セキュリティ上の問題により、oracle dbが管理されている理由がわかりません) –

答えて

-1

Oracleは、Oracleデータベース間の接続をDBLink経由でサポートしています。しかし、あなたが提案したクエリを直接実行できるようにMySQLとOracleを接続するためのツールがあるとは思いません。

PythonやGroovyなどでスクリプトを作成し、CRON Linux(これが自分の環境の場合)にスケジュールすることをお勧めします。

+0

あなたの答えはthkです。私は今dblinkについて読むつもりです。 。編集の質問... –

+0

DBLINKはOracleデータベース間で動作することに注意してください –

1

MySQLデータベースのODBCドライバを使用すると、(コマンドラインをサポートした)データエクスポートツールを試すことができます。 dbForge Studio for Oracle

0

また、oracleの変更を取得してmysqlデータベースに適用すると、GoldenGateのようなものを使用することもできますが、製品のコストは正当なものではない可能性があります単純なperl/php/python/etcスクリプトがこのトリックを行います。

私は、mysql 4とoracle 9iの間でHSODBCリンクを使用していて、パフォーマンスが幻想的ではないことを発見しました。もしそうならば、これは実行可能な解決策かもしれませんが、私がOracleからOracleへの呼び出しを行うことに気付いていないので、仕事として(oracleからor out)

関連する問題