Explicit assignment of logs
In this method, the steps are pretty much
the same those presented in the implicit section. The major
difference is setting the logfile_assignment parameter to
EXPLICIT for the procedure create_capture of
dbms_capture_adm while creating the Capture process at Down
Streams database.
An example of capture creation with
explicit assignment is shown below:
BEGIN
DBMS_CAPTURE_ADM.CREATE_CAPTURE(
queue_name => 'ln1_queue',
capture_name => 'ln1_capture',
rule_set_name => NULL,
start_scn => NULL,
source_database => 'dbs1.net',
use_database_link => false,
first_scn =>
155781561, -- Use value from build
proc
logfile_assignment => 'explicit');
END;
/
In this method, the log files are assigned
to the Capture process explicitly by a command. The required
redo log files need to be transferred to the Down Streams
database location by FTP or another copy method.
After a redo log file has been transferred
to the host running the Down Streams database, the log file
needs to be assigned to the Capture process explicitly using the
following DDL statement at the Down Streams database:
Format:
ALTER DATABASE REGISTER LOGICAL LOGFILE
file_name
FOR capture_process;
In the above format, the file_name
is the name of the redo log file and capture_process is
the name of the Capture process that will use the redo log file
at the Down Streams database. Thus, the redo log files need to
be added manually if the logfile_assignment parameter is
set to EXPLICIT.
The following is an example. Following the
SQL statement explicitly assigns the log file to the LN1_CAPTURE
process.
ALTER DATABASE REGISTER LOGICAL LOGFILE
‘/db_dumps/logs_from_tst10/1_14_1476.arc’
FOR LN1_capture;
The explicit type of configuration is useful for controlling the
capture flow. It allows the DBA to assign only the necessary
logs. This kind of situation may be useful to create a lab type
of replication environment that could be used to do
investigations of transactions, etc.