Donald
K. Burleson is one of the world’s top Oracle Database experts
with more than 25 years of full-time DBA experience. He
specializes in creating database architectures for very large
online databases and he has worked with some of the world’s
most powerful and complex systems.
A former Adjunct
Professor, Don Burleson has written more than 30 books, published more
than 100 articles in National Magazines, and serves as
Editor-in-Chief of Rampant TechPress. Don is a popular lecturer
and teacher and is a frequent speaker at Oracle OpenWorld and
other international database conferences.

Steve Karam
 |
Steve Karam
is one of the few DBAs worldwide to achieve both the
Oracle 10g Certified Master certification and the
Oracle
ACE designation, both of which he received before the
age of 26. As both a production DBA and an instructor,
he has a proven track record in performance and
troubleshooting on dozens of high profile Oracle systems
including complex RAC environments.
 |
Additionally, Steve
has been developing against Oracle databases for
over twelve years on a variety of platforms
including C, C++, Java, PHP, and Application
Express. |
Steve is also
involved heavily in the Oracle community as the
President of the Hampton Roads Oracle Users
Group, Web Chair for the IOUG RAC SIG, and judge
for the yearly Oracle Academy educational
competition. |
|
John Garmany |
John Garmany
has been working as an Oracle DBA since 2002.
|
Table of Contents:
Using the
Online Code Depot Conventions Used in this Book
A Survey of Oracle Replication
Small static table replication
Small dynamic table replication
Large static table replication
Large dynamic table replication
An Overview of Multimaster replication
Conclusion
Chapter 1: Oracle Replication Architecture
What is
Replication?
Manual Replication Techniques
The Oracle Replication Architecture Components
Tables and Replication
Materialized Views
Materialized View Logs
Refresh Methods
Types of Oracle Replication
Updateable Materialized Views
Writeable Materialized Views
Multi-Master Replication
Procedural Replication
Which Form of Replication is Right for You?
Conclusion
Chapter 2: Preparing to Use Oracle Replication
Determining which Replication Method is right for you
Common Replication Setup
Configuring the Replication User Accounts
Basic Replication Schemas
Advanced Replication Schemas
Configuring Database links for Basic Replication
Database Links
Creating Database Links
Creating Database Links – The Basics
Creating Database Links – Setup Your Replication
Environment Configuring Objects for Replication Other Configuration
Issues
Overview of Replication Packages
Oracle-Supplied Replication Packages
Conclusion
Chapter 3:
Read-Only Materialized View Replication
Introduction to Read-only Views
Materialized View Architecture
Primary Key Based MViews
ROWID-Based Mviews
Materialized View Logs
Updating Mview Data
Replicating Schemas with Materialized Views
Creating Materialized Views using OEM and DBConsole
Refresh Groups for Materialized Views
Creating Refresh Groups
Refresh Groups with Oracle Enterprise Manager
Maintaining Read-only Materialized Views
Conclusion
Chapter 4: Updatable Materialized Views
Introducing Updatable Materialized Views
Setting-up Updatable Materialized View Replication
Extra step for Oracle 8i and lower
Step 7.1:
Create the master replication group REP_GP1
Step 7.2: Add
the STORE table from the PUBS schema to the master replication
group
Step 7.3:
Generate replication support for the STORE table object
Step 7.4: Add
the remaining two tables to the replication group
Step 7.5:
Notify the master (NAVDB) database to track activity on the
REP_GP1 objects by resuming replication activity
Creating
Replication Using OEM
Conclusion
|
Chapter 5: Replication Monitoring
The Oracle
Job Scheduler
A Refresher on the Oracle Job Scheduler
Using dbms_job
Monitoring Replication Jobs
Conclusion
Chapter 6: Multi-Master Replication
An
Introduction to Multi-Master Replication
Planning Multi-Master Replication
Configuring Tables for Replication
Setting Up MMR – By Example
Adding Tables to the Master Replication Group
Tables without Primary Keys
Adding Additional Master Sites
MMR and OEM
Maintaining Multi-Master Replication
Monitoring Replication
Deferred Error Queue
Key Conflicts
Export, Import Method
Loading or Re-synchronizing Data
Monitoring Replication with OEM
Conclusion
Chapter 7: Conflict Avoidance and Resolution
What are
Conflicts?
Conflict Avoidance
Assigning Blocks of Numbers via Sequences
Assigning a Prefix Based on Site Name
Conflict Resolution
Examples of Defining Conflict Resolutions
Monitoring Conflict Resolution
Using OEM to define Conflict Resolution methods
Data Mis-convergence
Using the dbms_rectifier_diff package
Conclusion
Chapter 8: Introduction to Oracle Data Guard
Introduction to Oracle Data Guard
Types of Failures
Unplanned Downtime
Planned Downtime
Oracle High Availability Options
Types of Standby Databases
Physical Standby Database
Logical Standby Database
Benefits and Drawbacks of Data Guard
Disaster Protection Load Balancing Automated
Management
Data Guard Downsides
Lifecycle of a Standby Database
Creation of Standby Database
Recovery or read-only mode
Switchover or failover operation
Standby Database in Standard Edition
Chapter 9: Oracle Streams Replication
Introduction to Streams Replication
Streams replication is the new kid on the block!!
Data Sharing and Replication
Global Streams Operations
Data Synchronization
Data Replication
What is Oracle Streams?
Where to use Streams Replication
Message Queuing
Event Messaging and Notification
Data Replication with Streams
Streams Advanced Replication
Conclusion
Index
|
Index:
A
add_master_site
add_update_resolution
Advanced Queuing
alter_master_repobject
asynchronous replication
C
Change
Data Capture compatible Complete Refresh
content based routing
cpu_count
create_master_repgroup
create_master_repobject
D
Data
Definition Language
Data Guard
Data
Manipulation Language
Data Replication
db_domain
dba_extents
dba_jobs
dba_jobs_running
dba_logstdby_unsupported
dba_mview_logs
dba_repcat
dba_repcatlog
dba_repgroup
dba_represolution_statistics
dbms_defer
dbms_defer_query
dbms_defer_sys
dbms_ijob
dbms_job
dbms_mview
dbms_offline_og
dbms_offline_snapshot
dbms_rectifier_diff
dbms_refresh
dbms_repcat
dbms_repcat_admin
dbms_repcat_instantiate
dbms_repcat_rgt
dbms_reputil
DDL
See Data Definition Language deferred
transaction queue
deferred_tran_id
deferror
define_site_priority
delete_master_repobject
differences
Disaster Recovery
distributed_transactions
do_deferred_repcat_admin
E
Earliest Timestamp Value
Extract, Transform and Load
F
fast
refresh
FORCE LOGGING
Force Refresh
G
gateways
generate_replication_support
global_names
Group Priority Value
I
implicit_destroy
initSID.ora
interval
J
job_queue_process
job_queue_processes
L
Latest
Timestamp Value
Logical Change Record
LogMiner
|
M
master
definition site
materialized view
Maximum Value
Message Systems
method
Minimum Value
multi-consumer queues
N
next_date
O
open_links
P
parallel_automatic_tuning
parallel_max_servers
parallel_min_servers
processes
publish and subscribe methodology
purge
purge_log
push
push_deferred
push_deferred_rpc
Q
quiesce
R
Real
Application Cluster
rectify
refresh_after_errors
repadmin
repcat$
repcat_admin
replication_dependency_tracking
replication_off
repproxy
resume_master_activity
rupd$_
S
Scalability
schedule_purge
schedule_push
sequence
shared_pool_size
Site Priority Value
Snapshot based replication
SQL apply mode
Streams AQ
SVRMGRL
switchover operation
T
target
master table
tns_admin
tnsnames.ora
transformations
Transparent Application Failover
U
user_jobs
user_jobs_running
user-enqueued events
V
v$process
v$session
|
|
Reviews:
Jim
from Pittsburgh, PA says:
This is a great reference for Oracle replication and does
an excellent job of explaining the issues, especially
multimaster replication. I have Freemans's Oracle new features
book also, and I enjoy the style and cadence of the writing
style. The text is not preachy and shows with clear examples all
of the ways to set up and use Oracle replication. I highly
recommend this book, and the price is great too!
By
John: This is a great reference for Oracle
replication and does an excellent job of explaining the issues,
especially multimaster replication. I have Freeman's Oracle new
features book also, and I enjoy the style and cadence of the
writing style. The text is not preachy and shows with clear
examples all of the ways to set up and use Oracle replication. I
highly recommend this book, and the price is great too.
Errata (Second Edition):
Errata (First Edition):
Page 46
At the beginning of the book mention following
unless otherwise mentioned
"local" is the master site where base table is and "remote" is to
where table is replicated to. eg. whether "remote" is replicated
in "local" or vice versa. eg. Page 46 ch2 begin
Page 52
In the third example near the middle of
the page
Create
materialized view log on employee
tablespace users
with ROWID PRIMAY KEY;
This
should be:
Create
materialized view log on employee
tablespace users
with ROWID PRIMARY KEY;
PRIMARY
KEY is listed as PRIMAY KEY and shouldn't be represented as such
Page 57
sub-topic does not related to what it contains
Page 67
In the 10gR2
PL/SQL packages documentation we see:
"If you set
list_of_gnames to NULL, then the user is registered for all
replication groups, even replication groups that are not yet
known when this procedure is called. You must use named
notation in order to set list_of_gnames to NULL."
The repproxy user
should be able to see and use OPLINC_MASTER_REPage ROUP.
create_snap_proxy.sql
create user repproxy
identified by repproxy;
alter user repproxy default tablespace users;
alter user repproxy temporary tablespace temp;
grant create session to repproxy;
grant select any table to repproxy;
--
--
BEGIN
dbms_repcat_admin.register_user_rePage roup(
username => 'repproxy',
privilege_type => 'proxy_snapadmin',
list_of_gnames => NULL);
Page 84-105
subtopic(even footer) is "Ora8i or lower". Obvious questions comes
up what about "Ora9i" ?
Page 130
3/4para : job_queue_processes : is this noof processes or wake up
interval in seconds ?
typo : tip :
job_queue_processes
Page 131-134
para and Page
137-2/3/4para : some level of repetition
Page 142
Typo : 2nd script starting with "cat ..." : should be "xargs"
(replace e with s)
Page 162
Typo : 3rd row from bottom : "execute any"
Page 163
cmd set to create repprop does not have "grant execute any
procedure" as mentioned in Page 160/161
Page 164
last sentence : not in appendix
Page 168
Contrary to the text, there is a way to create Push/Purge
jobs.
In the Distribution->Advanced Replication->Schedule->Push
tab,
if the Push job for a database link is not scheduled, you can:
1. Highlight the database link and click Edit
2. Click the 'Periodic Push' radio button
3. Specify the start time, frequency etc
4. Click Ok
5. Click Apply
and this will create the push job.
Create a Purge job with a similar method.
Page 200
Top cannot understand text inside bold section square. does not
make sense. may be wrong context; may be it should come to Page 206
Page 201
2nd para from bottom : last sentence <== something wrong
|