• 締切済み

困っています。

OSWin2000 Oracle8i でインスタンスを2つ作成しています。(I001/I002)、自PCがサーバーです。 ものすごく大きなテーブルがあり、領域がほとんどなくなり、Delクエリーを行っても領域不足のエラーが出ます。 大きなテーブルのデータ量を少なくして戻すため、 そこでI001とI002のデータをエクスポートしてそれぞれデータをバックアップし、テーブルを全てDropしました。そして恐らくここでポカミスoradataの中のRED***.LOGを 何かのログファイルであると勘違い削除してしまいました。(疲れていたんでしょう。。) (一応ゴミ箱に入れて置いたのですが、再起動時にゴミ箱をきれいにする処理が働いて消えてしまいました 緊急避難措置のため、ハードディスクの復帰ポイントが設定されていたのですが、 何しろそのドライブ自体が容量不足のためきちんとポイントが取れていなかったみたいです。 まあーこれは不幸として・・) バックアップしておいたDMPファイルをインポートしようとしたら、Ora-1029のエラーが 出てOracleが停止してしまいました。Ora-1033も出ています。 再起動しても、sqlplusも起動出来ません。特に緊急ログも出ていません。 コマンドプロンプトより SVRMGRLと入力するとOra-12560 TNS:プロトコルアダプターエラーとなってしまいます。 いろいろ調べてやってみましたが、INTERNALまで行き着けません。 データベースを作り直す方法以外にどうか解決方法をご存知でしたら教えてください。

  • Oracle
  • 回答数2
  • ありがとう数4

みんなの回答

  • MZ-80B
  • ベストアンサー率56% (46/81)
回答No.2

SQLPlus で接続もできないのはオラクルのサービスが停止しているかもしれません。 サービスが起動していないと、SQLPlusでインターナル接続さえできません。 Windows 専用のコマンドが用意されています。 ORADIM -STARTUP -SID oracle_sid -STARTTYPE SRVC 違うバージョンのマニュアルを見たのでオプションが違うかもしれません 詳細はマニュアルを見てください。

noname#87380
noname#87380
回答No.1

こんにちは。 >SVRMGRLと入力するとOra-12560 TNS:プロトコルアダプターエラーとなってしまいます。 環境変数ORACLE_SIDは設定されていますか? 設定されていない場合は SET ORACLE_SID=接続先SID を実行してからSVRMGRLを起動してみて下さい。 >そして恐らくここでポカミスoradataの中のRED***.LOGを >何かのログファイルであると勘違い削除してしまいました。 Redoログファイルを全部消してしまったんですよね? これはバックアップが無い場合ですが、mountモードで recover database until cancel; alter database open resetlogs; とすればいいかと思います。

関連するQ&A

  • オラクル表領域データファイルの削除について

    まず、経緯から書きますと、 レコードINSERT処理(Access)にて表領域不足エラーが出たため、 以下コマンドにてデータファイルを追加しました。 ALTER TABLESPACE USERS ADD DATAFILE '/db3/oradata/ora805/datafile09.dbf' SIZE 1000M; ところが、以下のエラーが出ました。 エラー行: 1: エラーが発生しました。 ORA-19510: 207360ブロックのサイズ設定に失敗しました   (ファイル"/db3/oradata/ora805/datafile09.dbf"、ブロックサイズ=2048)。 ORA-27059: skgfrsz: ファイル・サイズを削減できません。 SVR4 Error: 28: No space left on device Additional information: 2 ORA-19502: ファイル"/db3/oradata/ora805/datafile09.dbf"の書込みエラー。   ブロック番号: 207105(ブロックサイズ=2048) ORA-27063: skgfospo: 読込み/書込みのバイト数が正しくありません。 SVR4 Error: 28: No space left on device Additional information: -1 Additional information: 131072 まず、このエラーの詳細が正確に理解できていない状況なのですが、 なんとなく、これは、空き容量がないところに1000Mのデータファイルを 作成しようとして、大きすぎて作成出来ませんというエラーを返された、 と解釈しました。 それで、sqlplusにてデータファイルの一覧を見てみると、 追加しようとしていたdatafile09.dbfは確認できませんでした。 表領域 ファイル名            サイズ 自動追加 ---------------------------------------------------------- USERS /db1/oradata/ora805/datafile01.dbf 4194304 NO 0 USERS /db1/oradata/ora805/datafile02.dbf 2097152000 NO 0 USERS /db1/oradata/ora805/datafile03.dbf 2097152000 NO 0 USERS /db2/oradata/ora805/datafile04.dbf 2097152000 NO 0 USERS /db2/oradata/ora805/datafile05.dbf 1048576000 NO 0 USERS /db2/oradata/ora805/datafile06.dbf 996147200 NO 0 USERS /db3/oradata/ora805/datafile07.dbf 2097152000 NO 0 USERS /db3/oradata/ora805/datafile08.dbf 1887436800 NO 0 ところが、OS(Solaris5.6)に戻って、 /db3/oradata/ora805 フォルダの一覧を確認しますと、 以下のように datafile09.dbf が出来ていました。 -rw-rw---- 1 oracle dba 2097154048 13:52 datafile07.dbf -rw-rw---- 1 oracle dba 1887438848 13:52 datafile08.dbf -rw-rw---- 1 oracle dba 1048578048 14:32 datafile09.dbf ここから、質問なのですが、 1)なぜ、datafile09.dbf は OSでファイルが認識されているのに、 sqlplusでデータファイルを一覧したときには表示されないのか。 2)datafile09.dbf をいったん消したいのですが、 OSレベルで datafile09.dbf を削除してもオラクルに悪影響は 出ないのでしょうか。正しい消し方がわかりません。 以上です。 どなたかアドバイスいただけないでしょうか? よろしくお願いいたします。 Ver:Oracle8 OS:SunOS 5.6(Solaris)

  • ORACLE9iのリカバリ方法

    ORACLE9iのリカバリ方法を教えてください。 Windows server 2003 R2、Oracle9iを使用しています。 Cドライブにoracleをインストール、Dドライブにoracleのデータを格納しています。 Cドライブのハードディスクが駄目になったので、Cドライブのハードディスクを交換して Windows server 2003 R2をインストールして Windowsの標準機能のバックアップ(バックアップデータには、system stateも含んでいます。)からバックアップしておいたデータを復元させました。 ファイル単位のデータや、オラクルのサービスは復旧したのですが、オラクルのテーブルなどが開きません。 SI ObjectBrowserでオラクルを開こうとしたとき、 「ORA-01219:データベースがオープンしていません。固定の表/ビューに対する問合せのみ可能です。」 というメッセージが表示されます。サービスの再起動をしましたが、同じようなエラーがでます。 SQLPLUSで、alter database openのコマンドを入れてデータベースをオープンさせようとしたところ、 次のようなエラーが出てきました。 ORA-01122:データベース・ファイル8の照合検査でエラーが発生しました。 ORA-01110:データ・ファイル8:'D:ORACLE^ORADATA\SFRES\USER01.DBF' ORA-01207:ファイルが制御ファイルより新しくなっています。-古い制御ファイルです。 どなたか、解決方法をご存知の方、ご教授ください。

  • Oracleで空きがあるのにimportできない

    4年程前から稼動しているLinuxシステム(Oracle8i使用)があります。そのシステムでexpしたデータを、別のサーバ(同じくOracle8i)にimpしたいのですが、エラーになってしまいます。 IMP-00003: ORACLE error 1237 encountered ORA-01237: cannot extend datafile 1 ORA-01110: data file 1: '/u01/app/oracle/oradata/orcl/system01.dbf' ORA-19502: write error on file "/u01/app/oracle/oradata/orcl/system01.dbf", bloc kno 202993 (blocksize=8192) ORA-27072: skgfdisp: I/O error Linux Error: 9: Bad file descriptor Additional information: 202993 Import terminated successfully with warnings. いろいろ調べたら SYSTEM にデータを入れるのは良くないということがわかりましたが、このサーバは本番サーバではないので表の中身を select で見れれば十分なので、このままの構成で行かれればと思います。 ディスク容量が不足しているようですが、DBA Studio で調べてみると、SYSTEM 1,608,576KB(1,570MB)中、800,992KB(782MB)使用中と表示されます。 imp したいファイルは 158,880KB(155.2MB)なので空き容量の部分に余裕で入ると思うのですが、データファイルを拡張しようとしているみたいです。 df コマンドの出力は /dev/sda6 2909420 2745980 15644 99% /u01 となり、確かにパーティションの空き容量はないのですが、SYSTEM領域の残り800MBの部分にはインポートできないのでしょうか。

  • Oracleデータベースの復旧方法

    識者の方々、どうかお教えください。 昨日データメンテナンス中に、保守プログラムがとまってしまいました。 サーバーを再起動して、Oracleをスタートしたところ、データベースに接続できなくなっていました。 色々調べましたが、以下の状態から進むことができません。 恥ずかしながらバックアップはとっていませんでした。 なんとか復旧する手だてはあるのでしょうか? -------------------------------------------- SQL>connect sys/Oracle as SYSDBA アイドル・インスタンスに接続しました。 SQL>startup ORACLEインスタンスが起動しました。 Total System Global Area 1826944268 bytes Fixed Size 70924 bytes Variable Size 49324416 bytes Redo Buffers 77824 bytes データベースがマウントされました。 ORA-01589: データベースをオープンするにはRESETLOGSまたはNORESETLOGSを使用する必要があります SQL> alter database open resetlogs; alter database open resetlogs * 行1でエラーが発生しました。: ORA-01152: ファイル1は十分に古いバックアップからリストアされていません。 ORA-01110: データファイル1: '/opt/oracle/oradata/o10g/system01.dbf' SQL>recover database using backup controlfile until cancel; ORA-00279: 変更 25084677(04/20/2009 12:11:39で生成)にはスレッド1が必要です。 ORA-00289: 検討すべきログライル: D:\ORACLE\ORA81\RDBMS\ARC87062.001 ORA-00280: 変更 258365040(スレッド1)は順序番号 87062に存在します。 ログの指定:[<RET>=suggested | filename | AUTO | CANCEL} auto ORA-00308: ORA-27041: OSD-04002: ファイルをオープンできません。 O/S-Error: (OS 2) 指定されたファイルが見つかりません。 ORA-01547: 警告:RECOVERは成功しましたがOPEN RESETLOGSが次のエラーを受け取りました。 ORA-01194: ファイル1は一貫した状態にするためにさらにリカバリが必要です。 ORA-01110: データ・ファイル1:D:\ORACLE\ORADATA\MYCOMPANY\SYSTEM01.DBF ----------------------------------------------------------

  • 表領域の違うEXPORT IMPORT

    現在ORACLE8iでSYSTEMという表領域で、データを保持しています。 このデータを異なるオラクルサーバの、例えばAAAという表領域にimportさせたいです。 http://www.geocities.jp/principal_focuses/tech/ora/ora_tech/ora_tech_031.html 等もみたのですが、少しわかりづらかったです・・・。 一番効率よく、EXPORT及びIMPORT出来る方法はありますでしょうか。 ちなみに、AAAの領域には既にテーブルがCREATEされている状態です。

  • 表領域の作成について

    表領域を作成してインポートしたら下記のエラーが出力されて困っています。 表領域の作成の仕方が駄目でエラーが出力されてしまったのでしょうか。 下記のCREATE TABLESPACE文で表領域を作成しています。 ---------------------------------------------------------------------- CREATE TABLESPACE "T_DAT" BLOCKSIZE 8192 DATAFILE 'D:\oracle\oradata\ora92\DAT_01.DBF' SIZE 32767M, 'D:\oracle\oradata\ora92\DAT_02.DBF' SIZE 32767M EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M SEGMENT SPACE MANAGEMENT AUTO; ---------------------------------------------------------------------- コマンドプロンプトでimpコマンドを実行したら、下記のエラーなどが出力されました。 ---------------------------------------------------------------------- IMP-00003: Oracleエラー1659が発生しました。 ORA-01659: nを超えるMINEXTENTSを表領域T_DATに割当てできません。 IMP-00003: Oracleエラー1658が発生しました。 ORA-01658: 表領域T_DATにセグメント用のINITIALエクステントを作成できません。 ---------------------------------------------------------------------- 何がいけないのかが正直わかりません。 申し訳ありませんがアドバイスいただけませんでしょうか。 宜しくお願いします。

  • BLOB列作成でORA-03001が出ます

    皆様こんにちは。 環境はcompatible = 9.0.0で作成した データベースです。 下記のSQLで表領域を作成し、その表領域を指定して BLOB列を含むテーブルを作成しようとすると、 ORA-03001:実装されていない機能ですエラー が出てしまいます。 create tablespace data_ts datafile 'd:\oracle\oradata\data\data_ts.dbf' size 256M autoextend on next 10M maxsize 1024M extent management local segment space management auto / 原因と対処法をご存知の方がおられましたら お助けください。 よろしくお願いいたします。

  • ora-01033 oracle intialization or shutdown in process

    ユーザーがPCをガンガン落としたようです。 Oracle10.0にて ログオンにて、1033 Initialization or shutdown in process が出ます。ずっとです。 select * from V$Backup では、すべて NOT ACTIVE でした。 recover dabtabase を行ったところ ORA-00283:エラーによってリカバリセッションは取り消されました。 ORA-12801:パラレル問合せサーバーP000にえらーシグナルが発生しました。 ORA-00600:internal error cose,aurguments:[3020],[27669],[126105],[],[],[],[] ORA-10567:Redo is inconsistent with data block(file# 3, block# 27669) ORA-10564: tablespace SYSAUX ORA-0110:data file3:'C:\ORACLE\PRODUCT\10.1.0ORADATA\xxxx\SYSAUX01.DBF' ORA-10561:block type ' TRANSACTION MANAGED INDEX BLOCK', と出ます。 ここから先、どうしたら良いのでしょうか? プログラマでORACLEは初心者です。 バックアップは取ってありません、 何としてでも起動させてユーザーDBをOpen出来ないといけないのです。 今日中しか時間がありません。どなたかお知恵をお願いします。

  • 新規表領域の作成について

    はじめて質問します。 現在Oracle9iで開発を行っているのですが下記のようなことができるかどうかをお教え下さい。 Oracle9i ServerがインストールされているPCとは別のPC上の共有フォルダ内に新規の表領域を作成したい。 具体的にはOracle ServerがインストールされているPCがSV1、 新規表領域を作成したい別のPCがCL2、CL2の共有フォルダがORA_DATA としてSV1とCL2はLANで繋がっておりSV1からCL2の共有フォルダは閲覧できる状態です。 この状態で CREATE TABLESPACE USERS2 DATAFILE '\\CL2\ORA_DATA\USERS02.DBF' SIZE 10M LOGGING ONLINE と実行すると ORA-01119: データベース・ファイル'\\CL2\ORA_DATA\USERS02.DBF'の作成中にエラーが発生しました。 ORA-27040: skgfrcre: 作成エラーが発生しました。ファイルを作成できません。 OSD-04002: ファイルをオープンできません とエラー表示され作成に失敗してしまいます。 ディスクの容量は50G以上空いており容量不足とは考えにくいです。 やはり'\\CL2\ORA_DATA\USERS02.DBF'といった書き方がマズイのでしょうか? それともOracleでは根本的にこういったことは許可されていないのでしょうか? もう何日も行き詰まっている状態ですのでどうかご助力下さい。

  • RMAN(Oracle9i)を使ったDB移行

    Oracle 9iのRMANを使用して、現行のDBサーバから新DBサーバの移行 を考えており、DB移行のテストをしているのですが、上手く行きません。 ※バックアップファイルは、アーカイブモードでオンラインバックアップです。 新サーバーでOracle9iをインストール、RMAN構築、RMANで仮バックアップ、 旧サーバーのRMANのアーカイブ、フルバックアップファイル(ARCH.BUS, FULL.BUS)を 差し替えてリストアしましたが、 RMAN> restore database; で、「ora-196112:データ・ファイル1はmissing or corrupt dataのためリストされませんでした。」とエラーを吐きました。 RMAN> alter database open resetlogs; を入れたところ、 ora-01157、ora-01110を吐き、リストアできませんでした。 そこで、旧DBサーバーのRMANのデータをごっそり新DBサーバーのRMANに置換して、リストアをしようと試みたところ、RMANのスタート時点で、ora-01991というエラーを吐いて、RMAN自体、起動できませんでした。 どなたか、RMANのバックアップを使用して、DB移行を成功した方、ご教授ください。 もしくは、他のDB移行をご存知の方、ご教授ください。 よろしくお願いします。