两个实例之间要传递数据需要使用dblink, 比如: select * from table@dblink_name; 不是加用户名的问题,也不是 tj_dns(愉快的登山者)所说的加数据库名的问题,不要把oracle和sql server混为一谈.
Creating a db link in database "a" to database "b" doesn't bring any data from "b" into "a". If you make a link titled "linkb" to database "b" and you select from user.tablename@linkb you MUST meet these conditions:1) Have the ability to connect to database "b" from database "a" (test to see if you can tnsping database "b" from database "a"s server) 2) The user defined in your "a" db's database link must have permissions to access the object in database "b" 3) The "b" database must be up Think DBLINK like a path, you are giving oracle a path, from where oracle can get the data if it find dblink in the statement, when you use DBLINK, you are using local database for only viewing it, every thing is happening on remote database, if the local user have permission then the user can issue dml statement on romote database objects, if you drop dblink then you'll get only the error of connection description for remote database not found, nothing would happen to your remote database.
比如:
select * from table@dblink_name;
不是加用户名的问题,也不是 tj_dns(愉快的登山者)所说的加数据库名的问题,不要把oracle和sql server混为一谈.
2) The user defined in your "a" db's database link must have permissions to access the object in database "b"
3) The "b" database must be up Think DBLINK like a path, you are giving oracle a path, from where oracle can get the data if it find dblink in the statement, when you use DBLINK, you are using local database for only viewing it, every thing is happening on remote database, if the local user have permission then the user can issue dml statement on romote database objects, if you drop dblink then you'll get only the error of connection description for remote database not found, nothing would happen to your remote database.
select * from table1@db_linkname;