• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:「ORA-12913: ディクショナリ管理表領域を作成できません」について)

ORA-12913エラーが発生してディクショナリ管理表領域を作成できません

このQ&Aのポイント
  • オラクルのバージョン9.2から表領域を作成するSQLが変わったという記事を読んだが、具体的な変更内容がわからずエラーが発生してしまう。
  • AサーバーのオラクルデータをダンプしてBサーバーにデータ移行を行っているが、CREATE文を実行した際にORA-12913エラーが発生しディクショナリ管理表領域を作成できない。
  • 初めてオラクルを触るため、約1週間調べて実行しているがうまくいかず、問題解決のために助けを求めている。

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

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.3

>> SYSTEM表領域をローカル管理のままインポートしようとするなら、表領域名 >> は変えずにローカル管理で作成し、 >> imp ignore=y ... >> を試してみてください。 > >調べている時に「ignore=y」の記事を見た記憶があります。 >この時、「ignore=y」で検索したら「スキーマ等の作成時エラー無視して登録処理を継続」と書いてあったので >無視して登録処理を行ったらデータベースがおかしくなってしまうと思ってスルーしていました。 > >再度、質問なんですがスキーマ等の作成時に発生したエラーを無視して登録したらエラーが発生した箇所はどうなるのでしょうか。 >エラーが発生した箇所は登録しないで次を登録するのでしょうか。 今回のような場合は表領域を作る段階でエラーになりますが、このエラーを無視して 処理を継続します。が、データベース全体の整合性がおかしくはなりませんから安心 してください。 スキーマ作成が失敗すると、その後のデータ処理でもエラーが発生しますがこれも無視 することになります。 >> SYSTEM表領域をディクショナリ管理で作成するには、DBの再作成します。 >> 今あるDBをDBCAで削除してから、 >> ​​http://rina.jpn.ph/~rance/om/ready/win_createdb_9i2.html​​ >> を参考に「CREATE DATABASE」すればSYSTEM表領域はディクショナリ管理 >> になるはずです。 >既存のDBを「Database Configuration Assistant」で削除して、CREATE DATABASE文を実行して試してみたいと思っていますが >これでいいのでしょうか。 WINDOWSの場合は「CREATE DABASE」に先立ってWINDOWSサービスの作成 を行います。 http://rina.jpn.ph/~rance/om/ready/win_createdb_9i2.html やマニュアルを参考にしてください。 なお、参考ページには「Windowsの場合、サーバのシャットダウン 時、"OracleDatabaseを自動的にSHUTDOWNしてくれない"」とありま すが、これはレジストリの編集で自動的にSHUTDOWNさせることが 可能です。DBCAで作成した場合はそうなっていますので現状のレジ ストリ(HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0)は保存し ておいたほうがいいでしょう。

oracion2
質問者

お礼

ありがとうございました。 せっかく説明していただいたのに私の力不足でできませんでした。 申し訳ありません。

その他の回答 (2)

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.2

SYSTEM表領域をローカル管理のままインポートしようとするなら、表領域名 は変えずにローカル管理で作成し、 imp ignore=y ... を試してみてください。 SYSTEM表領域をディクショナリ管理で作成するには、DBの再作成します。 今あるDBをDBCAで削除してから、 http://rina.jpn.ph/~rance/om/ready/win_createdb_9i2.html を参考に「CREATE DATABASE」すればSYSTEM表領域はディクショナリ管理 になるはずです。

oracion2
質問者

補足

回答ありがとうございます。 > SYSTEM表領域をローカル管理のままインポートしようとするなら、表領域名 > は変えずにローカル管理で作成し、 > imp ignore=y ... > を試してみてください。 調べている時に「ignore=y」の記事を見た記憶があります。 この時、「ignore=y」で検索したら「スキーマ等の作成時エラー無視して登録処理を継続」と書いてあったので 無視して登録処理を行ったらデータベースがおかしくなってしまうと思ってスルーしていました。 再度、質問なんですがスキーマ等の作成時に発生したエラーを無視して登録したらエラーが発生した箇所はどうなるのでしょうか。 エラーが発生した箇所は登録しないで次を登録するのでしょうか。 > SYSTEM表領域をディクショナリ管理で作成するには、DBの再作成します。 > 今あるDBをDBCAで削除してから、 > ​http://rina.jpn.ph/~rance/om/ready/win_createdb_9i2.html​ > を参考に「CREATE DATABASE」すればSYSTEM表領域はディクショナリ管理 > になるはずです。 既存のDBを「Database Configuration Assistant」で削除して、CREATE DATABASE文を実行して試してみたいと思っていますが これでいいのでしょうか。 すみませんが再度、ご教授お願いします。 http://www.shift-the-oracle.com/utility/exp-imp/exp-imp-option.html

  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

マニュアルを見ましょう。 ORA-12913 ディクショナリ管理表領域を作成できません。 原因: ローカル管理された SYSTEM 表領域を持つデータベースで、 ディクショナリ管理表領域を作成しようとしました。 処置: ローカル管理表領域を作成してください。 そうでなければSYSTEM表領域をディクショナリ管理でつくってから インポートするか。

oracion2
質問者

補足

回答、ありがとうございます。 > マニュアルを見ましょう。 申し訳ありません。 > ORA-12913 ディクショナリ管理表領域を作成できません。 > 原因: ローカル管理された SYSTEM 表領域を持つデータベースで、 > ディクショナリ管理表領域を作成しようとしました。 > 処置: ローカル管理表領域を作成してください。 説明、ありがとうございます。 一度、ローカル管理表領域で作成してインポートした時に下記のエラーが出力されたので... ORA-03113: 通信チャネルでend-of-fileが検出されました ORA-03114: Oracleに接続されていません。 エラーが発生したので吐き出したCREATE文をそのまま実行して表領域を作成してインポートしたらどうなるのかを調べたいと思っています。 > そうでなければSYSTEM表領域をディクショナリ管理でつくってから > インポートするか。 どのように作成すればいいのでしょうか。 もう少しご教授お願いできませんでしょうか。 このような書き方をして申し訳ありません。 宜しくお願いします。

関連するQ&A