Prerequisites
-
Know the dSource and Group you need to repair from
-
Make sure that your retention policy is set correctly so that the ingested logs are within the retention
-
Confirm how the Delphix Continuous Data Engine authenticates to the host where you stage the archive logs. Supported environment login methods include username and password, public key, custom key pair, and password vault. For more information about password-based login and environment user configuration, see Environment users. For public key and custom key pair authentication, see Set up SSH key authentication for UNIX environment users. For vault-backed credentials, see Password vault support.
-
If the host uses SSH host verification, configure the verification strategy before you run the fetch operation. For more information, see Configure SSH host verification for UNIX environments.
Procedure
Replace each placeholder value in the following examples with a value from your environment.
-
Log into the Delphix Engine as an Admin user. Go to Timeflow and then list. Find the name of the Timeflow that needs to be repaired.
ssh admin@<yourengine>delphix > timeflow delphix timeflow > lsUse the value from the
NAMEcolumn as thetimeflowparameter in steps 2 and 3. If more than one Timeflow is listed for the same container, retrieve thecurrentTimeflowvalue for the dSource or VDB you are repairing and then use the matchingNAMEvalue from the Timeflow list.delphix > database delphix database > select [dSource or VDB name] delphix database "[dSource or VDB name]"> lsFor example, if
currentTimeflowis'CLONE@2020-11-23T12:31:11', use that exact value from theNAMEcolumn for thetimeflowparameter. Do not use the container row such asI2P/defaultunless it matchescurrentTimeflow. -
List the missing logs for the Timeflow. The maximum number of logs reported is controlled by the value of the pageSize argument; if there are a very large number of missing logs, you may need to increase this value. Note the start and end scn of the missing log.
delphix timeflow > cd oracle/log delphix timeflow oracle log> list timeflow=[currentTimeflow value from step 1] missing=true pageSize=1000If the output from the above command does not list any logs as missing, but there are one or more sequences reported as missing by the Delphix Admin browser-based app, please contact Delphix Technical Support for assistance. -
Stage the missing logs.
-
Verify that there is sufficient free space.
-
Copy or restore the missing archive logs into an alternative directory on a server the Delphix Engine can access via the network. All files and subdirectories in the configured directory are searched recursively, so staging the archive logs to a location with no other files or folders will ensure the process completes in a timely manner.
-
Verify that the user being specified in the next step has permission to read these archive log files in the directory. If the host and user credentials are already configured on the Delphix Engine, use the existing environment login method for that host. The password example below applies only to password-based logins.
Replace each bracketed placeholder in the following example with a value from your environment:
-
[currentTimeflow value from step 1]is the value from theNAMEcolumn in the Timeflow list that matchescurrentTimeflowunder/database. -
[directory where you restored the log file]is the full path to the directory that contains the restored archive logs. -
[start SCN of the sequence]and[end SCN of the sequence]come from the missing-log output in step 2. -
[hostname or IP of the host you restored the file to]is the host that stores the restored archive logs. -
[a user that can read the file]is the operating system user on that host with read access to the staged logs. -
[password for this user]applies only when you use password-based authentication for that host user.
delphix timeflow oracle log > fetch delphix timeflow oracle log fetch *> set type=TimeflowLogFetchParameters delphix timeflow oracle log fetch *> set timeflow=[currentTimeflow value from step 1] delphix timeflow oracle log fetch *> set directory=[directory where you restored the log file] delphix timeflow oracle log fetch *> set endLocation=[end SCN of the sequence] delphix timeflow oracle log fetch *> set startLocation=[start SCN of the sequence] delphix timeflow oracle log fetch *> set host=[hostname or IP of the host you restored the file to] delphix timeflow oracle log fetch *> set username=[a user that can read the file] delphix timeflow oracle log fetch *> edit credentials delphix timeflow oracle log fetch *> set type=PasswordCredential delphix timeflow oracle log fetch *> set password=[password for this user]If your environment uses password vault credentials or SSH key-based authentication, follow the existing environment configuration for that host instead of adding a password in this step. If SSH host verification is enabled, make sure the host key or fingerprint is already configured before you run the fetch operation.
-
-
-
Commit the fetch operation.
delphix timeflow oracle log fetch *> commitIf you pressCtrl+Cin the CLI after you submit the fetch job, the job can continue to run. Cancel the job from the Delphix Management application or by using the CLI/jobcommands.
delphix > database
delphix database > select '[dSource or VDB name]'
delphix database "[dSource or VDB name]"> lsLook for the currentTimeflow value.