Hello!
I have the last months been working on automating adding/deleting new/old databases through a cmdb database.
It's working pretty well and maybe one day i hope to make it available for the community.
But last week I ran into some trouble and I can not find any mentioning of this problem.
This project has a lot of oracle databases, somewhat 700 or so.
And it turns out some of them contain an underscore (_) in the middle of their SID.
And i noticed that all of these fail to connect to the database.
It does not matter if it gets created from the automation app from the web UI, the error message is the same.
{"errors":[{"messageKey":"DATABASE_CONNECTION_INVALID_ERROR","args":{"name":"<HOSTNAME>"},"message":"Database connection <HOSTNAME> is invalid.","messageTemplate":"Database connection {name} is invalid.","detail":"Listener refused the connection with the following error:\nORA-12505, TNS:listener does not currently know of SID given in connect descriptor\n \r\n\r\nDiagnosis:\r\nIt seems like the provided database SID does not exist.\r\n\r\nPossible resolution:\r\nPlease provide the correct database SID"}]}
So it would seem as the DB connect app does not like it when underscores are a part of the SID.
Has anyone else ran into this issue?
Hi
This seems to be a non allowed naming on Oracle side.
The _ is allowed only on RAC where it is used to separate nodes.
Database Name and ORACLE_SID
The Oracle Service Identifier (SID) prefix is the first 8 characters of the database name. The SID prefix can contain only the characters a-z, A-Z, and 0-9. The SID prefix cannot contain operating system special characters, so if you use special characters in the first 8 characters of the database name, then these special characters are omitted in the SID prefix. There is a single SID prefix for every database. The SID prefix for a database must be unique within the cluster.
r. Ismo
Hi
This seems to be a non allowed naming on Oracle side.
The _ is allowed only on RAC where it is used to separate nodes.
Database Name and ORACLE_SID
The Oracle Service Identifier (SID) prefix is the first 8 characters of the database name. The SID prefix can contain only the characters a-z, A-Z, and 0-9. The SID prefix cannot contain operating system special characters, so if you use special characters in the first 8 characters of the database name, then these special characters are omitted in the SID prefix. There is a single SID prefix for every database. The SID prefix for a database must be unique within the cluster.
r. Ismo
Hi!
Thank you for these answers!
I tried just removing the _ and everything that followed it, and db connect seem to have accepted it.
I'll let the automation try and create the input during the night and hopefully it will work intended.
I'll update the post tomorrow and see if it was successfull in using the "stripped" version of the SID.
Once again big thanks.