How can a user in oracle access tables of other users without using the user name?
The background of the story is as follows: a project involves about four projects for simultaneous development. In my own project, I need to make a report, but access the DB connected to another project, of course, the DB servers of the two projects are on the same IP address, that is to say, we only have different schemas. How can I develop the following reports?
At the beginning, I directly created a DBLink, but when I went back and communicated with each other, he thought that the impact of DBLink was too large. This was used only when the two databases were not on the same server, it is best to use schema in the current situation, but here we will write the method for creating DBLink to facilitate memory:
Create database link name connect to the other database user name identifiedby the other database user password using 'database ip address of the other database: Port/instance name ';
Eg: create database linkdbLinkToAA connect to Jason identified by abc123 using 'servicea '. just create a connection.
The next step is to use schema. The following statement is to associate with schema.
Eg: grant select on Jason. emp to Lucy; Authorize Query
My personal understanding about schema is: A should see B. When A and B are on the same side of the bank (the same Server), B only needs to allow A to see him, when A and B are not on the same side of the bank (different servers), A must build A bridge and obtain B's consent, that is, to know the user name and password of B.
The above is my understanding. If it is not suitable, please correct and learn together.
Do not forget that the tables in the accessed users are authorized to be accessed by other users.