I use Oracle 10g R2 on Fedora Core 4, and I use password file.
The value of "os_authent_prefix" is "ops$", (default) and the os user that I'm able to login with it as sysdba using os authentication is named "oracle". (connect "/ as sysdba")
I've created a user in my database named ops$oracle with the code bellow:
create user ops$oracle identified by secret; grant create session, dba to ops$oracle;
I can connect as sysdba from a remote windows client like this: sqlplus "ops$oracle/secret@(protected) as sysdba"
(testDb is the TNSNAME of that database in the tnsnames.ora file in windows)
but if I want to login to the database locally using the command bellow, I get "ORA-01031 (See ORA-01031.ora-code.com): insufficient privileges" error:
sqlplus "ops$oracle/secret@(protected) as sysdba"
As soon as I remove "@(protected)" from the command, it works:
sqlplus "ops$oracle/secret as sysdba".
My underestanding is if I want to connect locally and I use tnsname in the connection command, oracle will interpret it differently.
Could anyone make this clear for me that why oracle acts differently, please?
Regards, Amir
PS: For God's sake do not ask why am I doing this?
Hello everyone,<br><br>I use Oracle 10g R2 on Fedora Core 4, and I use password file.<br><br>The value of "os_authent_prefix" is "ops$", (default) and the os user that I'm able to login with it as sysdba using os authentication is named "oracle". (connect "/ as sysdba") <br><br>I've created a user in my database named ops$oracle with the code bellow:<br><br>create user ops$oracle identified by secret;<br>grant create session, dba to ops$oracle;<br><br>I can connect as sysdba from a remote windows client like this: <br>sqlplus "ops$oracle/secret@(protected) as sysdba"<br><br>(testDb is the TNSNAME of that database in the tnsnames.ora file in windows)<br><br>but if I want to login to the database locally using the command bellow, I get " ;ORA-01031 (See ORA-01031.ora-code.com): insufficient privileges" error: <br><br>sqlplus "ops$oracle/secret@(protected) as sysdba"<br><br>As soon as I remove "@(protected)" from the command, it works:<br><br>sqlplus "ops$oracle/secret as sysdba".<br><br>My underestanding is if I want to connect locally and I use tnsname in the connection command, oracle will interpret it differently. <br><br>Could anyone make this clear for me that why oracle acts differently, please?<br><br>Regards,<br>Amir<br><br>PS: For God's sake do not ask why am I doing this?