Skip to main content
Skip table of contents

CLI cookbook: repairing a timeflow

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

Procedure

  1. 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.

    CODE
    ssh admin@<yourengine>
    delphix > timeflow
    delphix timeflow > ls
  2. 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.

    CODE
    delphix timeflow > cd oracle/log
    delphix timeflow oracle log> list timeflow=example missing=true pageSize=1000

Note: If 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.

 

  1. Stage the missing logs.

    1. Verify that there is sufficient free space.

    2. 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.

    3. Verify that the user being specified in the next step has permission to read these archive log files in the directory. The user credentials are optional if the host and user credentials have already been added to the Delphix Engine.

      CODE
      delphix timeflow oracle log  > fetch
      delphix timeflow oracle log fetch *> set type=TimeflowLogFetchParameters
      delphix timeflow oracle log fetch *> set timeflow=example
      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]
  2. Commit the changes.

    CODE
    delphix timeflow oracle log  > fetch
    delphix timeflow oracle log fetch *> set type=TimeflowLogFetchParameters
    delphix timeflow oracle log fetch *> set timeflow=example
    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]

Only do ONE repair job at a time.

It is possible for there to be more than one Timeflow visible for a given container/source. If that is the case, you can verify the current TimeFlow being used with:

CODE
delphix > database
delphix database > select 'example'
delphix database "example"> ls

Look for the currentTimeflow value.

 

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.