A DBLink is required for
- Accessing CURRENT data from a remote database.
- Refreshing Materialized Views (scheduled or on demand) which
fetch a subset or a joined
set of data from a remote database[MVs were also known as "Snapshots"]
- The inherent transfer mechanism in Advanced Replication.
The argument that DBLink requirement is obviated by MVs or
Replication is not strong
because MVs and Replication, themselves, need DBLinks. What is important is
what data is opened through the DBLink and how it is accessed (what
queries are run and when).
- If you create a DBLink connecting to the base schema (the schema
actually owning the tables being referenced)
then that is a big NO NO (read "Security Hole").
The DBLink should be connecting to a "shadow" account which has only
limited (ie "SELECT" only) privileges on only the subset of tables
that are actually required to be
accessed.
See
http://hemantoracledba.blogspot.com/2007/02/creating-database-links.html
- That DBLinks are a performance issue is like saying "User Queries
are a Performance Issue".
You, as the DBA, must ask first "Why do you need the DBLink ? What
queries will be running
across the DBLink ? How frequently will the queries be running
?" You must also turn to the
Application Manager owning the Database being accessed if he approves
of those queries being
made against his database -- queries coming from another database /
another application.
DBLinks must obtain approval from the Application team on both sides
, not just the DBA alone,
for two reasons
- Knowing *which* data is being accessed (it should open only a
specific list of tables/views to access)
- Understanding the performance impact of those queries being
run -- on _both_ databases,
particularly where the DBLink is being used to run distributed
queries that join tables across
databases.
Ideally, DBLinks should not be exposed to end-user adhoc queries
but only through application
controls / scheduled jobs.
At 10:43 PM Monday, Thotangare, Ajay \(GTI\) wrote:
>Hi Group,
>
>I have a question about dblink. I always hear that
>
>- dblinks are not good in production system.
>
>- dblink , ohh!! not in critical production system
>
>- dblink are not safe
>
>----------
Hemant K Chitale
http://web.singnet.com.sg/~hkchital
and
http://hemantscribbles.blogspot.com
and
http://hemantoracledba.blogspot.com
"First they ignore you, then they laugh at you, then they fight you,
then you win" !"
Mohandas Gandhi Quotes
: http://www.brainyquote.com/quotes/authors/m/mohandas_gandhi.html
--
http://www.freelists.org/webpage/oracle-l
Received on Tue May 01 2007 - 07:06:02 CDT