Our network TNSNAMES.ORA file was modified recently, and it includes a couple of databases without the .world extension in the alias list.
such as:
ORCLID = (DESCRIPTION =
(ADDRESS = (COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = testhost)(Port = 1521)))
(CONNECT_DATA = (SID = ORCLID))
)
instead of:
ORCLID.world = (DESCRIPTION =
(ADDRESS = (COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = testhost)(Port = 1521)))
(CONNECT_DATA = (SID = ORCLID))
)
This change has caused a couple of problems. First tnsping does not work for the aliases without the .world extension. This must be a problem with the tnsnames.ora file itself.
Second, after calling the OracleAliasList function with DOA, the returned stringlist has several strings that are irrelevant from the tnsnames.ora file, and then skips all other aliases after the non-.world aliases.
The stringlist returned now returns strings as follows:
database_alias1
database_alias2
first_database_alias_without_world_extension
(ADDRESS
(ADDRESS_LIST
(CONNECT_DATA
(DESCRIPTION
Since the tnsnames.ora file is erroneous, there may not be an issue. But I think that in order for the OracleAliasList function to be a little more bulletproof, it should recognize this little syntactic hurdle and return a full list. After all, DOA can still connect to oracle aliases that are present in tnsnames.ora after the non-.world extension aliases mess things up.
such as:
ORCLID = (DESCRIPTION =
(ADDRESS = (COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = testhost)(Port = 1521)))
(CONNECT_DATA = (SID = ORCLID))
)
instead of:
ORCLID.world = (DESCRIPTION =
(ADDRESS = (COMMUNITY = tcp.world)(PROTOCOL = TCP)(Host = testhost)(Port = 1521)))
(CONNECT_DATA = (SID = ORCLID))
)
This change has caused a couple of problems. First tnsping does not work for the aliases without the .world extension. This must be a problem with the tnsnames.ora file itself.
Second, after calling the OracleAliasList function with DOA, the returned stringlist has several strings that are irrelevant from the tnsnames.ora file, and then skips all other aliases after the non-.world aliases.
The stringlist returned now returns strings as follows:
database_alias1
database_alias2
first_database_alias_without_world_extension
(ADDRESS
(ADDRESS_LIST
(CONNECT_DATA
(DESCRIPTION
Since the tnsnames.ora file is erroneous, there may not be an issue. But I think that in order for the OracleAliasList function to be a little more bulletproof, it should recognize this little syntactic hurdle and return a full list. After all, DOA can still connect to oracle aliases that are present in tnsnames.ora after the non-.world extension aliases mess things up.