• ベストアンサー

ORACLE DBのコピー

同一フォーマットのORACLE_DBが2つ存在しており、A_DBからB_DBへコピーのような形式でレコードを移送したいのですが、方法を教えてください。 ORACLE8 VC++でのコーディングを検討

  • patak
  • お礼率20% (24/115)

質問者が選んだベストアンサー

  • ベストアンサー
  • kougasha
  • ベストアンサー率32% (34/105)
回答No.1

用語は厳密に。 「DB」というのは、Oracleで言う「データベース」の 事ですか、それとも「テーブル」の事ですか、それとも テーブル内のデータの事ですか?   テーブルの中身のコピーなら、insert into TBL2 select * from TBL1;   テーブル構造ごとのコピーなら、Create table as select * from TBL1;  

patak
質問者

お礼

DBというのは、テーブルのことです。 バックアップとは別に、関連するテーブルのコピーの処理でした。何とか処理が出来そうです。ありがとうございました。

関連するQ&A

  • オラクルDBでの不一致の検索

    ORACLE8.0.5において A-DB  code char(10); updte char(14); B-DB code char(10); A-DBとB-DBにおいてcodeが不一致のデータの抽出をする場合、 select B-DB.code from A-DB,B-DB where A-DB.code <> B-DB.code and A-DB.updte >= '20020301000000' and A-DB.updte <= '20020331235959'; 上記のようなSQL文を作成し実行したが、A-DBのcodeに対してB-DBのcodeを全部検索し、B-DBの検索分がすべて不一致になってしまいました。 SQLの考え方がまちがっているのかわからないでいるので、アドバイスをお願いいたします。

  • 異なるOS間でのDBコピー方法

    現在WindowsSever2003上で稼動しているDBをaixサーバに移行したいのですが、DB単位でのexp/impで可能でしょうか? exp/impで可能であれば、aixサーバ側でimp前に必要な作業(データファイルの作成、DBの作成?)を教えていただけると助かります。 もっと手軽に出来る方法があれば教えていただけると有難いです。 バージョンはコピー元、コピー先共にOracle10gになります よろしくお願いします。

  • 別のDBからテーブルをコピーする方法

    SQL Server2005 Express Edition を使っています。 異なるDB間(同じコンピュータ内)で、テーブルをコピーしたいの ですが・・・ コピー元DB名:DB_A コピー元テーブル名:dbo.顧客 コピー先DB名:DB_B テーブルのコピーは select * into ・・・ from ・・・ を使えばできそうですが、別DBの場合の方法がわかりません。 お教えいただければ幸いです。 よろしくお願いいたします。

  • AS/400のレコードのコピー方法について

    AS/400のレコードのコピー方法について AS/400で管理している1つの物理ファイル(DB)から別の物理ファイルにデータをコピーする場合についての質問です。 現状、テーブル[A]と[B]が存在し、レコード様式や各フィールドなどは全く同じです。[A]をコピーして[B]を作った状態です。 この状態で[A]から一部のレコードを抽出して[B]にコピーをします。 その後、[B]でレコードを加工し、上記作業で[B]にコピーしなかった残りの[A]のレコードをコピーしたいと思います。 結果的に、最初のコピー作業で[B]にコピーされたレコード以外は件数も内容も全く同じ2つの物理ファイルになるという状況です。 ここで、解らないのですが、2回目の[A]から[B]へのコピーをコマンドで行う事はできないでしょうか? CPYF コマンドを使用して、MBROPT(*ADD) にすればできそうだと思ったのですが、重複レコード(最初に[B]にコピーしたレコード)以外をコピーするという項目が見つからず困っております。 INCREL を使用するのかとも思いましたが、比較値にフィールド名を指定する事ができないため不可能です。 RPG3やCLを使えばできそうではあると思うのですが、この程度の機能がAS/400に基本機能として備わっていないとは思えずに調べていたのですが、どうしても見つかりません。 アドバイスをいただけると幸いです。 以上、よろしくお願いいたします。

  • 取得元の表を条件によって変えるビューを作成したいのですが

    2つの表AとBがあり、ほぼ同じ列が定義されているとします。 ある条件に該当する表Aが1件でも存在する場合、各項目は表Aから取得し、存在しない場合は表Bから取得する(取得するレコード数は異なる可能性があります)ビューを定義したいのですが、やり方がよく分かりません。 多少冗長になっても構いませんので、分かりやすい定義方法がありましたらお教え願います。 DBはORACLE9iです。

  • Oracle 10.2.0 でMAX集計がおかしい!?

    VB6 で oo4o を使って Oracle DB開発をしています。 Oralce 8.1.6 から Oracle10.2.0 にサーバを切り替えました。 bというテーブルがあって、 a c d ---- ------ ----- 10 2 1 20 3 1 30 4 1 40 5 1 50 6 2 というデータがあったとします。 Select MAX(a) as a from b WHERE d=1 のようなSQLをVBから発行したときに SQL*PLUSでは、 a ---- 40 という結果が返ってくるのですが、VBでは、 a --- 10 20 30 40 のように複数行のレコードセットが帰ってきます。そのため、最大行を取得できません。Oracle8 のときは、SQL*PLUSと同じ結果が返ってきていました。ちなみに Select MAX(a) as a from b WHERE d=1 GROUP BY d ~~~~~~~~~~ と、GROUP BYを付けると、ただしい(SQL_PLUSと同じ値)値が取得できます。 Oracle10.2.0の問題か、oo4oの問題かと考えています。 ちなみにoo4oのオブジェクトは、 CreateObject("OracleInProcServer.XOraSession") で作成していて、クライアントのバージョンは 9.2.0.4.4です。 長文で失礼しますが、どなたかSQLを変更せずに解決する方法をご存じないでしょうか?

  • oracle DBの複製方法について

    色々サイトとかをみたのですが、発見できなかったので記載します。 【環境】 Oracle Database 11g linux 6.2 【実現したい事】 あるDBがあって、同じサーバ内に別名でDBを構築したいです。(スキーマとかも一緒) ※期間的な所もあって、一番早く複製できる方法を希望 <DB>A⇒<DB>B 大変お手数ですが、手順を詳細に記載して頂けると助かります。。。。 何か情報として他に必要であればご指摘願います。

  • DBサーバーのOracleからのデータ取得について

    WEBサーバー(Linux)とDBサーバー(WindowsServer2003)が分かれている環境で、WEBサーバーのPHPからoci8で、DBサーバーのOracleからデータ取得をしており、データ取得量?が多いとエラーとなってしまします。 SQL自体はOracle環境で実行して正常にデータ取得することは確認しているのですが、10万行程度のレコード数でもレスポンスの時点?でエラーとなります。 (レスポンスの情報が無いので、エラー内容が分からず、データ件数を絞ると抽出が出来ます) 解決方法をご存じの方や、PHPもしくはLinuxの設定で取得データサイズの設定方法について分かる方がおりましたら、ご教授ください。 宜しくお願い致します。

  • 2つの異なったDB間の関連レコードの参照

    MS Access2000 Window98を使用しています。 2つのDBがあります。 (1)1つは会計DB(A)でそこには(a)Account名(1200のレコード有り)というフィールドがあります。もう一つは住所録DB(B)でそこには(b1)組織名というフィールドと(b2)個人名という2種類のフィールドがあります。(a)には(b1)が対応することもあれば(b2)が関連する事もあります。この時、DB(A)使用中に(a)に関連する別のDB(B)の(b1)或いは(b2)をボタン一つで開かせる(呼び込ませる)ようにしたいと思っています。 (2)両方のDBに共通するフィールド名を新しく作って(ナンバー・フィールドが良いと思いますが…?)それぞれ該当するレコード同士を関連付ける作業をする事になりそうです。手間はかかりますが一件一件やっていく他無いと思っています。その場合、新しく作ったナンバーフィールドには同じ番号は使えないわけですから、フィールド同士新しく関連付けを作ったら次の関連付けは”自動的”に新しいナンバーが振られるようになればベストです。 (3)同様にDB(B)の (b1)或いは(b2)からボタン一つで関連するDB(A)の(a)を一元的に呼び込みたいと思います。 (1)或いは(2)(3)につき一番効果的な方法をご存知の方がおられれば是非教えて頂きたいのですが…。宜しくお願いします。

  • ACCESSのクエリからORACLEのDBを更新したい。

    初心者です。 宜しくお願いいたします。 Accessで選択クエリーでORACLEのDBを表示してデータの修正をやっていますが、選択クエリーで複数をリンクさせると更新ができません。更新は1つのDBなのですが、なにか方法があるのでしょうか。更新クエリーならできるのでしょうか。 例)AとBをリンクしてBに更新。

専門家に質問してみよう