ORACLE TECHNOLOGY NETWORK
 
 
   

Oracle Technology Network (OTN) Japan - 掲示板 » データベース(R/O) » Oracle8iデータベースの部屋(読取専用)

スレッド: ORA-01116について

このスレッドに返信する このスレッドに返信する スレッド一覧へ スレッド一覧へ

Permlink 返信数: 10 - ページ数: 1 - 最新投稿 : 2003/03/28 12:27 最新投稿者: ryoichi - スレッド表示形式:
時次郎

投稿数: 366
登録日時: 98/10/06


ORA-01116について
投稿時刻: 2003/03/27 17:30
  このスレッドに返信します… 返信

こんにちは

環境
ORACLE 8.1.6.1.0
Solaris7

アラートログファイルに下記がたまにでます。
dba_users, dba_tablespaces, dba_data_filesなどを調べても該当する表領域はありませんでした。
よって、表領域を削除する前に、その削除する表領域に対応するデータファイルを削除したというわけではないようです。

Mon Mar 24 13:35:29 2003
Errors in file /oracle/app/oracle/admin/ORCL/bdump/orcl_smon_2002.trc:
ORA-01116: error in opening database file 513
ORA-01110: data file 513: '/oracle/oradata/ORCL/TES01/test01_tmp.dbf'
ORA-27041: unable to open file
SVR4 Error: 2: No such file or directory

ORACLE DBがどういう状況になっているのか、予想できる方いませんか?

お願いします。

ryoichi

投稿数: 2,474
登録日時: 99/08/23


RE:ORA-01116について
投稿時刻: 2003/03/27 17:48   時次郎 さんへの返信です。 時次郎 さんへの返信です。
  このスレッドに返信します… 返信

>dba_users, dba_tablespaces, dba_data_filesなどを調べても該当する表領域はありませんでした。

V$DATAFILE,V$TEMPFILEの中にも無いですか?


時次郎

投稿数: 366
登録日時: 98/10/06


RE[1]:ORA-01116について
投稿時刻: 2003/03/27 18:10   ryoichi さんへの返信です。 ryoichi さんへの返信です。
  このスレッドに返信します… 返信

>>dba_users, dba_tablespaces, dba_data_filesなどを調べても該当する表領域はありませんでした。
>
>V$DATAFILE,V$TEMPFILEの中にも無いですか?
$DATAFILEには、ありませんでした。
V$TEMPFILEには、ありました。
OSレベルでも存在していません。



ushitaki

投稿数: 7,079
登録日時: 98/10/30


RE[2]:ORA-01116について
投稿時刻: 2003/03/27 18:22   時次郎 さんへの返信です。 時次郎 さんへの返信です。
  このスレッドに返信します… 返信

>V$TEMPFILEには、ありました。
>OSレベルでも存在していません。

dba_temp_files にも存在しませんか?
(存在するんじゃないでしょうか?)

存在するのなら tablespace_name とか
得られるかと思いますので
DROP とか出来るかも。

では

時次郎

投稿数: 366
登録日時: 98/10/06


RE[3]:ORA-01116について
投稿時刻: 2003/03/27 18:53   ushitaki さんへの返信です。 ushitaki さんへの返信です。
  このスレッドに返信します… 返信

>dba_temp_files にも存在しませんか?
>(存在するんじゃないでしょうか?)
>
>存在するのなら tablespace_name とか
>得られるかと思いますので
>DROP とか出来るかも。
>
>では

下記SQL実行するとエラーになってしまいました。

select tablespace_name from dba_temp_files;
エラー:
ORA-01115: ファイル513(ブロック番号 3)からの読込みI/Oエラーが発生しました。
ORA-01110: データ・ファイル 513 :
/oracle/app/oracle/admin/ORCL/bdump/orcl_smon_2002.trc
ORA-27041: ファイルをオープンできません。
SVR4 Error: 2: No such file or directory
Additional information: 3

ORA-1115をエラーメッセージガイドでみましたが、はて、同じディスクの他のデータファイルファイルは無事で、ORACLE RBDMSは動作して
います。
#このままでもいいか。。。。
---------------
原因
ファイルが保存されているデバイスが、オフラインになっている可能性があります。

処置
デバイスへのアクセス権限を正しく設定してから、操作を再試行してください。
---------------





SnowMan

投稿数: 3,517
登録日時: 98/01/06


RE[2]:ORA-01116について
投稿時刻: 2003/03/27 19:46   時次郎 さんへの返信です。 時次郎 さんへの返信です。
  このスレッドに返信します… 返信

こんにちは。

>$DATAFILEには、ありませんでした。
>V$TEMPFILEには、ありました。
>OSレベルでも存在していません。

これって、ローカル管理の一時表領域のデータファイルを
誤って削除しちゃったとかではないでしょうか?
# ローカルの一時表領域だからデータベースが起動できるような

一時表領域を再作成してみてはどうでしょう。
--

191424

投稿数: 1,090
登録日時: 97/01/14


RE:ORA-01116について
投稿時刻: 2003/03/27 20:36   時次郎 さんへの返信です。 時次郎 さんへの返信です。
  このスレッドに返信します… 返信

Oracle停止後、再起動した場合も同様のエラーが出力されますか。

taharayutaka

投稿数: 192
登録日時: 01/11/19


RE:ORA-01116について
投稿時刻: 2003/03/27 21:03   時次郎 さんへの返信です。 時次郎 さんへの返信です。
  このスレッドに返信します… 返信

参考になるか分かりませんが実験してみました。
ただし環境は9iとWindowsXPです。

・テスト内容 一時表領域ファイルTEMP01.DBFを通常の場所から移し変えてインスタンス停止、再起動。そして色々。

・結果
1 インスタンスは正常に再起動できました

2 INSERTなどのDML文も通常動作。SELECT文なども可能。
  ただし、10万件テーブルにorder by句を付けてみたところ、
 ORA-01157: データ・ファイル201を識別/ロックできません-DBWRトレース・ファイルを参照してください
ORA-01110: データ・ファイル201: 'F:\ORADATA\SIN\TEMP01.DBF'
とのエラーが発生した

3 bdumpフォルダにDBW0.trcファイルが作成される(smonではないです)。またアラートファイルにも同じ内容が書き込まれる
  内容は、
  ORA-01157: cannot identify/lock data file 201-WRtrace file
  ORA-01110: data file 201: 'F:\ORADATA\SIN\TEMP01.DBF'
  ORA-27041: unable to open file
  OSD-04002: ファイルをオープンできません
  O/S-Error: (OS 2) 指定されたファイルが見つかりません

4 V$DATAFILE、dba_data_filesビューからはTEMP表領域が消えていました。
  dba_tablespaces,V$TEMPFILEビューにはありました。

5 dba_temp_filesを検索すると、下のエラーが発生。
ORA-01157: データ・ファイル201を識別/ロックできません-DBWRトレース・ファイルを参照してください
  ORA-01110: データ・ファイル201: 'F:\ORADATA\SIN\TEMP01.DBF'


と、以上です。
結論としては、かなり似てはいるがエラーメッセージなどが全然違うという感じですね。OracleとOSの違いによるもの、ではなさそうですが・・・。

何にせよ一時表領域に原因があることは確かでしょうから、
他の方が薦めているようにTEMP表領域を再作成してみてはどうでしょうか?

ryoichi

投稿数: 2,474
登録日時: 99/08/23


RE[3]:ORA-01116について
投稿時刻: 2003/03/28 2:15   SnowMan さんへの返信です。 SnowMan さんへの返信です。
  このスレッドに返信します… 返信

>>$DATAFILEには、ありませんでした。
>>V$TEMPFILEには、ありました。

ということは、制御ファイルには、そのファイルの情報が無いという事
ですよね。(別枝で、dba_temp_filesを問合せるとエラーが発生するとい
う事なのでディクショナリには残ってるのでしょうか?)
alter database backup controlfile to trace;
をしてみて、その、tempfileに関する情報が出力されるか見ていただきた
い気がします。

>これって、ローカル管理の一時表領域のデータファイルを
>誤って削除しちゃったとかではないでしょうか?

「たまに」発生すると言う事だから「一時表領域」と言う考えはアリです
よね。でも、OSコマンドで削除しても、v$tempfileからは消えないような
気がします。最後に、tempfileを削除後、インスタンス起動した後の実行
結果を添えておきます。

>>一時表領域を再作成してみてはどうでしょう。
#いろいろ、ごたくをならべましたが、SnowManさんの言われる方法が正し
#い気がします。(tempfileは、8iの頃から密かに忍び寄ってきた存在で
#よく理解してないです。)


SQL> select file_name, status from dba_temp_files;
select file_name, status from dba_temp_files
*
行1でエラーが発生しました。:
ORA-01157: データ・ファイル201を識別/ロックできません -
DBWRトレース・ファイルを参照してください
ORA-01110: データ・ファイル201: 'D:\ORACLE\ORADATA\ORACLE\TEMP01.DBF'


SQL> select name, status from v$tempfile;

NAME
---------------------------------------------------------------------
STATUS
-------
D:\ORACLE\ORADATA\ORACLE\TEMP01.DBF
ONLINE


でで

投稿数: 9,980
登録日時: 00/10/25


RE[4]:ORA-01116について
投稿時刻: 2003/03/28 3:19   ryoichi さんへの返信です。 ryoichi さんへの返信です。
  このスレッドに返信します… 返信

>>>$DATAFILEには、ありませんでした。
>>>V$TEMPFILEには、ありました。
---snip--- ~~~~~~~~~~
>>これって、ローカル管理の一時表領域のデータファイルを
>>誤って削除しちゃったとかではないでしょうか?
>
>「たまに」発生すると言う事だから「一時表領域」と言う考えはアリです
>よね。でも、OSコマンドで削除しても、v$tempfileからは消えないような
>気がします。最後に、tempfileを削除後、インスタンス起動した後の実行

だから、v$tempfileには「ありました」んですよね?
dba_tablespacesから消えているということが解せませんが、
dba_tablespacesとdba_datafilesをジョインして、過不足が無い(datafileの
不明なtablespaceは存在しない)ということですよね?

ローカル管理の一時表領域のデータファイル(というかテンポラリファイル)
をOSコマンドで削除してしまったときの現象と似ています。
 #OSコマンドでファイルを削除後、インスタンスを再起動せずに
 #この表領域を使おうとすると1115とか1114が出ます。アクセスの仕方によって
 #若干エラー番号が変るようなので、1116もある特定の方法(smonがアクセス?)で
 #アクセスするとでるのではないかと思います。

しかしそれだけではdba_tablespacesからは消えないはずです。
なので、データベース自体になんらかの障害が発生しているのかも
知れませんが、本当にdba_tablespacesに存在しないか?再度確認してください。

表領域名がわかればdropして再度作成すれば(使っていなければ再作成も不要)OKです。

---
OTN Viewer 1.1.6 でで

ryoichi

投稿数: 2,474
登録日時: 99/08/23


RE[5]:ORA-01116について
投稿時刻: 2003/03/28 12:27   でで さんへの返信です。 でで さんへの返信です。
  このスレッドに返信します… 返信

>>>>$DATAFILEには、ありませんでした。
>>>>V$TEMPFILEには、ありました。
>だから、v$tempfileには「ありました」んですよね?

見間違ってました。失礼!当然ポイント辞退!






ウェブサイトのご使用条件 | 個人情報保護基本方針/情報保護基本方針