![]() SQL> select sysdate from time, we succeeded. SQL> create database link ora12c_scott connect to scott identified by "scott" using 'ORA12C' The database link will save the password as it is in the double quotes. Then we created the database link with the password quoted. But how? Let's keep going.įirst of all, we dropped the incorrect database link in the 9i database. To solve ORA-01017, we should make the password to be saved as a lower-case one in the database link. So I think Oracle make the password an exception in order to comply with some security policies, which is starting from 11g. Generally speaking, non-quoted identifiers in Oracle should be recognized as upper-cased ones and quoted identifiers are regarded as whatever they are in quotation marks. But in 9i, IDENTIFIED BY clause treats the non-quoted password as an upper-cased one, no matter what case it is in the statement. In 12c, IDENTIFIED BY clause treats the non-quoted password as a case-sensitive string, which is lower-cased in this case. ORA-02063: preceding line from ORA12C_SCOTTĪlthough it seemed nothing wrong with the statement, we got ORA-01017 eventually. ORA-01017: invalid username/password logon denied ![]() SQL> select sysdate from sysdate from at line 1: Then we tested the connectivity of the database link. SQL> create database link ora12c_scott connect to scott identified by scott using 'ORA12C' In 9i, we created a database link for connecting to the 12c database. SQL> alter user scott identified by scott In 12c, we set the password of a user by ALTER USER. Let's me show you how I reproduce ORA-01017 when connecting to a remote database via a database link, then I will explain the cause of problem. SQL> alter user system identified by account unlock īefore troubleshooting error ORA-01017, please make sure that every basic portion of connection string that you provided is correct. Provide a new password for SYSTEM, an uppercase password is preferable for old clients. SQL> alter user system password expire container=all SQL> alter session set container=CDB$ROOT Įxpire SYSTEM's password for all containers. SQL> alter user hr identified by account unlock įor users like SYS or SYSTEM, it's a little bit complicated.įirst, go to the root container. Provide a new password for the user, an uppercase password is preferable for old clients. SQL> alter session set container=ORCLPDB1 You should expire user's password who is using old Oracle client. This is because the password of the PDB users must be expired before applying new logon protocol. Connect to Oracle 19cĪfter you set SQLNET.ALLOWED_LOGON_VERSION=8 in your 12c, 18c or 19c database server to overcome ORA-28040 for your users who may be using old releases like Oracle 9i clients, users still have a great chance to see ORA-01017, even though you use correct username / password to login. Normally, you don't have to care about case-sensitive problem on username, because username creation follows Oracle object naming rule that I have explained about the differences between quoted and non-quoted identifiers pretty much. Set SEC_CASE_SENSITIVE_LOGON to FALSE if the problem is becoming global.Change the password if there's no other way to solve it.Type the password in a text editor to make sure it's right.Check whether CAPS LOCK is enabled or not, this could ruin every password you typed.SQL> alter user hr identified by altered.īeside case-sensitive and special character problems, you can try the following things. If your password contains any special character, you have to double-quote it. That is, you have to use it case-sensitively. SQL> conn invalid username/password logon deniedĪs you can see, IDENTIFIED BY clause treats password as a case-sensitive string with or without quotation marks. SQL> conn alter user hr identified by HR ![]() By default, SEC_CASE_SENSITIVE_LOGON initialization parameter is set as TRUE which means that everything involves password are all case-sensitive, even though you didn't quote the password. ![]() Most password problem are case-sensitive problem. C:\Users\edchen>tnsping orclĪttempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = db.)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL))) So please check the connect identifier, and you can make some tests if necessary. Sometimes, your credentials are correct, you just went for the wrong destination. There're several errors patterns that throw ORA-01017.įor solving ORA-01017, you should inspect the following items carefully. SQL> conn invalid username/password logon denied ORA-01017 means that you either provided an incorrect pair of username and password, or mismatched authentication protocol, so the database that you tried to connect denied you to logon.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |