This content has been marked as final. Show 6 replies
Pl post exact database version. DBA_DB_LINKS should have the username for public database links as well - the owner is "PUBLIC". Information in table SYS.LINK$ may be helpful
The oracle version is 22.214.171.124.
The dba_db_links table has columns userid and password. For the public database links, the userid and column values are null. It shows the proper userid for private database links.
I checked the sys.link$ view as well, it is the same case like dba_db_links.
This indicates that the connection information (username/password) was not specified when the database link was created.
This implies that if user A on the local database tries to use this link, then the same account (i.e. A) with the same password exists on the remote database - i.e. all of the users on the local database that use this link are duplicated on the remote database as well.
Thanks again, Srini.
Yeah, appears like the username was not specified when creating the db link.
That means, if such a public database link exists in database DB1 connecting to DB2,
user A@DB1 can read/write from user A@DB2
user B@DB1 can read/write from user B@DB2
This could be a bad design in the security part.
I meant to say as long as A@DB1 password = A@DB2 password and so on.
Yes - it is not necessarily a bad design. It simply is an easy way of defining one public database link rather than many private database links ( A --> A, B --> B, etc). If a schema exists only on the local database (and does not exist on the remote database) then it will be unable to use this database link