A critical element in computer problem trouble shooting is checking correctness of permissions. Are file permissions correct? What about database permissions? Group membership of operating system ids? And so on. We computer geeks will be doing more of this now that software comes installed with increased attention to security and permissions.

Here are two new wrinkles I ran across today, both involved with installing Oracle.

On a unix host I was trying to enable a unix user id to be able to login and use sqlplus and export/import utilities, but I did not want this id to belong to the dba unix group. I was working on Solaris with Oracle However, each time the user invoked sqlplus, “Permission denied” errors resulted. Clearly a permission problem, but I did not want to perform trial and error chmod commands on various files. Metalink yielded an exact match for my problem. Permission Denied Errors for users other than “oracle”, docid 443638.1. Turns out that in Oracle 10.2.0 and higher, the Oracle installers sets file permissions quite restrictively for security reasons. There is a script that one can run to relax permissions. It’s $ORACLE_HOME/install/changePerm.sh.

The other permission issue concerned installing an Oracle client on Vista. (Side note: you have to do Oracle or higher to get Oracle client to work on Vista.) I was using an automated script to install the client and had added to the script some file copy statements to get the correct sqlnet.ora, tnsnames.ora and ldap.ora files on the client machine. Vista didn’t like that since the User Account Control (UAC) feature was turned on. UAC blocks file copy/delete via scripts, and throws up lots of confirmation dialogs if you are manipulating files via GUI tools. But you can disable UAC. My Digital Life and The How To Geek explain how on their blogs. For good measure, I’ll copy and paste what they provided below. Involves updating registry keys.

Disable UAC
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f

Enable UAC
C:\Windows\System32\cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 1 /f