_ENVIRONMENT_
I am running Oracle 10.1.0.3.0 on a Linux box with a 2.4.27 kernel.
_SUMMARY_
During the "create index" statement for a text index, I encounter a
"Too many open files" error. The underlying table has approximately
63,000 documents to be indexed; however, some documents fail
immediately due to file permission issues. (This is okay, and leads to
entries in ctx_user_index_errors containing "DRG-11609: URL store:
unable to open local file specified by file:///Jay/foo.doc".)
I have successfully created the index on several random subsets
(approximately 6,000 documents each) of the data set.
I am skeptical that Oracle would try to open all the files
simultaneously; however, I am wondering if there may be a bug which
prevents files from being closed in a timely way. thanks.
_DETAILS_
The path column of the table to be indexed contains entries of the form
"file:///Jay/{path}/{filename}". /Jay is the mount point for a Windows
server mounted read-only via smbmount.
_ERROR TEXT_
create index kb_idx01
*
ERROR at line 1:
ORA-29855: error occurred in the execution of ODCIINDEXCREATE routine
ORA-20000: Oracle Text error:
DRG-50857: oracle error in dreii0ins_cb
ORA-01116: error in opening database file 5
ORA-01110: data file 5: '/u02/oradata/SDR01/sdr_f02.dbf'
ORA-27041: unable to open file
Linux Error: 24: Too many open files
Additional information: 3
ORA-06512: at "CTXSYS.DRUE", line 160
ORA-06512: at "CTXSYS.TEXTINDEXMETHODS", line 364
_LINUX INFO_
fruzsina:~# grep nofile /etc/security/limits.conf
# - nofile - max number of open files
* soft nofile 1024
* hard nofile 65536
fruzsina:~# ulimit -n
1024
fruzsina:~# cat /proc/sys/fs/file-nr
2791 227 150000
fruzsina:~# cat /proc/sys/fs/inode-nr
52078 10303
Sybrand Bakker - 18 Jul 2005 22:14 GMT
>I am skeptical that Oracle would try to open all the files
>simultaneously; however, I am wondering if there may be a bug which
[quoted text clipped - 5 lines]
>"file:///Jay/{path}/{filename}". /Jay is the mount point for a Windows
>server mounted read-only via smbmount.
Likely your problem is not so much Oracle, but the decision not to buy
sufficient disk space on that Linux server, but too rely on an
NFS-like mount on a Windows server. Windows is a can of worms and NFS
is too.
--
Sybrand Bakker, Senior Oracle DBA
DA Morgan - 19 Jul 2005 16:11 GMT
> Likely your problem is not so much Oracle, but the decision not to buy
> sufficient disk space on that Linux server, but too rely on an
> NFS-like mount on a Windows server. Windows is a can of worms and NFS
> is too.
> --
> Sybrand Bakker, Senior Oracle DBA
I'll take exception to 1/2 of your statement. Windows is a can of worms.
But Oracle Corp. runs on NFS mount, so do many of Oracle's largest
corporate customers. The critical thing is that it must be NFS 3.

Signature
Daniel A. Morgan
http://www.psoug.org
damorgan@x.washington.edu
(replace x with u to respond)
Frank van Bortel - 19 Jul 2005 16:44 GMT
> During the "create index" statement for a text index, I encounter a
> "Too many open files" error. The underlying table has approximately
> 63,000 documents to be indexed; however, some documents fail
[snip]
> _LINUX INFO_
>
> fruzsina:~# grep nofile /etc/security/limits.conf
> # - nofile - max number of open files
> * soft nofile 1024
> * hard nofile 65536
So you have hit your own limits.... What problem do
you have?!? Limits are there for a reason.
If you hit them, and you should not (aka it's meant to
have over 65k open files) then up the limit.
Else live with it, and remove soem of the files

Signature
Regards,
Frank van Bortel
Andy Hassall - 19 Jul 2005 23:46 GMT
[big snip]
>I am skeptical that Oracle would try to open all the files
>simultaneously;
Have you used a tool such as lsof to find out which files Oracle has open?

Signature
Andy Hassall / <andy@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
Oliver Gehlert - 31 Jul 2005 18:47 GMT
check the filelimits for the user which is running the database, e. g.
oracle and set his limits accordingly to the oracle documentation. The
limits can be different for all users.
You will have to restart the database after you increasesd the limits.