アプリ版:「スタンプのみでお礼する」機能のリリースについて

まず、経緯から書きますと、
レコード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)

A 回答 (1件)

※最悪のケースを考えて予めバックアップすることをオススメします。


 expなどでデータだけでも・・・
※また、当方はSolarisの知識が無いので間違っている可能性も・・・

改善方法ではないのですがアドバイス(?)を。

> SVR4 Error: 28: No space left on device
「No space left on device」とあるので、データファイルを
追加しようとした領域に空きはあるのでしょうか?

>1)なぜ、datafile09.dbf は OSでファイルが認識されているのに、
>sqlplusでデータファイルを一覧したときには表示されないのか。

エラーが出ているので出てこない方が正解だと思います。
ファイルがOSで認識されていることのほうが不思議です。

> 2)datafile09.dbf をいったん消したいのですが、
> OSレベルで datafile09.dbf を削除してもオラクルに悪影響は
> 出ないのでしょうか。正しい消し方がわかりません。

V$DATAFILE,V$DATAFILE_HEADER,DBA_DATA_FILES 上に無いのであれば
Oracle上では認識されていないと思われます。
データディクショナリビュー上に無いのであれば、OSレベルで削除
してかまわないと思います。

p.s.申し訳ないですが、コレによりDBが破損してしまっても
  私には保障できないので念のため・・・
    • good
    • 0
この回答へのお礼

アドバイスとして貴重なご意見ありがとうございます。

>ファイルがOSで認識されていることのほうが不思議です。

そうなんです。これでOS上でもファイルが無ければよいのですが、なまじあるので、「う~ん・・・なにか裏にあるのかな?」なんて余計なことを考えてしまうのです。

>V$DATAFILE,V$DATAFILE_HEADER,DBA_DATA_FILES 上に無いのであれば
>Oracle上では認識されていないと思われます。

ありがとうございます。今日会社で試してみます!

お礼日時:2009/03/06 08:11

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す