I am getting below error upon starting the listener:
oracle:/app> lsnrctl start
LSNRCTL for Linux: Version 22.214.171.124.0 - Production on 26-JUN-2017 09:06:46
Copyright (c) 1991, 2011, Oracle. All rights reserved.
Starting /app/oracle/product/11.2.0/db_1/bin/tnslsnr: please wait...
TNSLSNR for Linux: Version 126.96.36.199.0 - Production
System parameter file is /app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Log messages written to /app/oracle/diag/tnslsnr/NBNLOLO/listener/alert/log.xml
Error listening on: (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))
TNS-12546: TNS:permission denied
TNS-12560: TNS:protocol adapter error
TNS-00516: Permission denied
Linux Error: 30: Read-only file system
Listener failed to start. See the error message(s) above...
I have logged in as Oracle software owner and the files have full permissions:
-rwxrwxrwx 1 oracle oinstall 602 2017-06-26 08:43 /app/oracle/product/11.2.0/db_1/network/admin/listener.ora
Please help me resolve the issue.
> Linux Error: 30: Read-only file system
Oracle is the victim; not the culprit.
root cause & fix is at OS level.
Thanks a lot for the response, can you please elaborate on what exaclty needs to be fixed? As I mentioned all file permissions look OK. I am even able to vi and edit the file.
You only showed ONE file that has 'permissions'. That is NOT the file/folder the exception is about.
When was the last time the listener ran properly?
What has changed since then?
I showed only one file just for reference, but I have mentioned that I am able to vi and edit and save the changes, logged in as unix user oracle(oracle s/w owner).
I am not sure since when the issue has surfaces as it has been reported to us yesterday.
A read-only file system means that the file system was mounted without write access. This can happen automatically when file system corruption is detected.
Use the mount command to check - and get the sysadmin (or someone with Linux o/s experience) involved.
Does that mean that we should not be able to create any new files on that file system? I am able to create new file here !!Is there any Linux command to check that?
Each partition is mounted separately and read only access to one of them does not necessarily mean all of them are read only. As others have mentioned before, check your mount options. Provide the output of the following commands:
oracle:~> mount -v
/dev/sda1 on / type ext3 (rw,acl,user_xattr)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
debugfs on /sys/kernel/debug type debugfs (rw)
udev on /dev type tmpfs (rw)
devpts on /dev/pts type devpts (rw,mode=0620,gid=5)
/dev/sda9 on /app type ext3 (rw,acl,user_xattr)
/dev/sda8 on /home type ext3 (rw,acl,user_xattr)
/dev/sda7 on /opt type ext3 (rw,acl,user_xattr)
/dev/sda13 on /ora type ext3 (rw,acl,user_xattr)
/dev/sda11 on /redo1 type ext3 (rw,acl,user_xattr)
/dev/sda12 on /redo2 type ext3 (rw,acl,user_xattr)
/dev/sda10 on /tmp type ext3 (rw,acl,user_xattr)
/dev/sda5 on /usr type ext3 (rw,acl,user_xattr)
/dev/sda6 on /var type ext3 (rw,acl,user_xattr)
securityfs on /sys/kernel/security type securityfs (rw)
oracle:~>: df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.9G 3.4G 6.1G 36% /
udev 24G 120K 24G 1% /dev
/dev/sda9 20G 14G 5.7G 70% /app
/dev/sda8 9.9G 8.0G 1.5G 85% /home
/dev/sda7 15G 14G 59M 100% /opt
/dev/sda13 367G 336G 12G 97% /ora
/dev/sda11 9.9G 2.2G 7.3G 23% /redo1
/dev/sda12 9.9G 2.2G 7.3G 23% /redo2
/dev/sda10 5.0G 628M 4.1G 14% /tmp
/dev/sda5 30G 19G 9.7G 66% /usr
/dev/sda6 9.9G 2.1G 7.4G 22% /var
oracle :~> which lsnrctl
A read-only file system does not allow writes to the file system - so no new files cannot be created, and existing files modified.
A file system mount point can be a subdirectory. For example, /u01 can be the mount point for device sda1, and /u01/app/oracle/diag the mount point of device sdb2 (usually via symbolic links). Thus there can be multiple mounts involved for a base directory.
Use the mount command to list the current mounts - and those without read-write (rw) access.
I hope the above output ( mount -v) provides the required inputs. All file systems are rw.
1 person found this helpful
Test the listener startup again.
If still a read-only file system error, check status of log files and directories for write access. Can use the touch command to update timestamp of the log files.
If logs are writable, then run strace (system trace) on listener startup to determine which call results in a file-system-is-read-only error.
Hi, Thank you.I could identify the root cause of the issue, it's /var/tmp/.oracle which is read only.
But the directory has full permissions, please advise what can be done to avoid this error now?
oracle > cd /var/tmp/
oracle > cd .oracle/
oracle:/var/tmp/.oracle> touch tt
touch: cannot touch `tt': Read-only file system
oracle:/var/tmp> ls -als |grep oracle
4 drwxrwxrwt 2 root root 4096 2017-05-18 13:41 .oracle
Do a "df -h ." in that directory, to get its mount point and device. And then confirm that the mount is in rw mode.
Also do a sanity check - use root access (or get the sysadmin to do it) and repeat your touch test as root. If this works, then it is a security/ACL type issue. If the root test also gives a read-only file system error, then it would seem to be a file system issue of sort.
It looks odd that /var/tmp/.oracle is owned by root with a sticky bit. It should be owned by the oracle user.