今天用NFS打开Oracle出现下面错误:
SQL> alter database open resetlogs;
alter database open resetlogs
*
ERROR at line 1:
ORA-01115: IO error reading block from file 1 (block # 1)
ORA-01110: data file 1:
'/vvfs/data/1.1/192.168.1.154/+DATA/ora11g/datafile/system.261.754325643'
ORA-27072: File I/O error
Linux Error: 5: Input/output error
Additional information: 4
Additional information: 1
Additional information: -1
多次出现,不知道为什么,dbv检查这个文件一切OK。
最后修改了initgan.ora文件内容,增加:
filesystemio_options='setall'
就一切OK了。
关于这个参数的解释:
======================================
My Everyday Oracle
Friday, June 18, 2010
I/O Errors using NFS on Netapps storage on Oracle 10.2.0.4
I recently faced the following issue, on one of my client environment.
After successfully creating a 10g database using NFS file system on a Linux OS, I turned it over to the client for production implementation. Developers started populating the data using Schema level import. When a large table is imported, the import failed with the following errors
ORA-01115: IO error reading block from file 6 (block # 5631)
ORA-01110: data file 6: '/u0201/oradata/reportdata.dbf'
ORA-27091: unable to queue I/O
ORA-27072: File I/O error
Linux-x86_64 Error: 5: Input/output error
Additional information: 4
Additional information: 5630
After searching several hours on Oracle Support, found a document that talked about setting up filesystemio_options to 'setall' on NFS file systems for redo log corruption. We did not have any corruption, but I wanted to try it anyway because since we were using NFS.
Alter system set filesystemio_options=setall scope=spfile;
After setting this, developers did the imports successfully without any problem.
Parameter: FILESYSTEMIO_OPTIONS
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
"directIO" - This allows directIO to be used where supported by the OS. Direct IO bypasses any Unix buffer cache. As of 10.2 most platforms will try to use "directio" option for NFS mounted disks (and will also check NFS attributes are sensible).
"setall" - Enables both ASYNC and DIRECT IO. The 'setall' option chooses async or direct I/O based on the platform and file system used.
Enabling directio against nfs datafiles/redo logs should always be used so that no writes are ever cached in the os buffer cache. The consistency of writes cannot be guaranteed when relying on stateless nfs to perform asynchronous writes over the network.
at 6:51 AM Posted by My Everyday Oracle
阅读(1758) | 评论(1) | 转发(0) |