I’ve never really liked the idea of
REMOTE_LOGIN_PASSWORDFILE=SHARED, probably just because I haven’t seen much use for it. As a result, I’ve never paid any attention to it. If you don’t recall the difference between
SHARED settings for 9i, here is the quote from the documentation:
More than one database can use a password file. However, the only user recognized by the password file is SYS.
The password file can be used by only one database and the password file can contain names other than SYS.
As I said, I could never imagine the use case for a shared password file. If you have better ideas of a situation that is a good fit for shared password file, please share.
Today, I was going through a migration strategy with a client, and we were reviewing
init.ora parameters. I noticed that they used
SHARED settings for their password file and was curious why. Apparently, there was no clear explanation for
SHARED setting and it was used more or less as exclusive — one file per instance. Alex Fatkulin seemed to be curious too and did the RTFM part for me (good boy!) and, surprise! the
EXCLUSIVE setting is not used in 10g anymore.
It turned out that Oracle merged the
EXCLUSIVE password file features — now we can used shared password file and store passwords for users other than SYS.
REMOTE_LOGIN_PASSWORDFILE=SHARED is used for that.
EXCLUSIVE still works for backwards compatibility but now it behaves just like
Here is the new reference from the docs:
Oracle ignores any password file. Therefore, privileged users must be authenticated by the operating system.
One or more databases can use the password file. The password file can contain SYS as well as non-SYS users.
The value EXCLUSIVE is supported for backward compatibility. It now has the same behavior as the value SHARED.
There are quite a few non-obvious behavior changes that are not well known but are in fact documented, so thorough RTFM-ing seems to be a good idea with every new release. For our part, we will try to post some of them here so stay tuned!