Prerequisites
- Know the dSource and Group you need to repair from
Procedure
1. Log into the Delphix Engine as an Admin user. Go to timeflow and then list. Find the timeflow that needs to be repaired.
ssh delphix_admin@<yourengine>
delphix > timeflow
delphix timeflow > ls
2. Go to oracle/log and list the missing logs for the timeflow, the maximum number of logs reported is controlled by the value of the pageSize argument, if there's a very large number of missing logs this may need to be increased. Note the start and end scn of the missing log.
delphix timeflow oracle log> list timeflow=example missing=true pageSize=1000
3. Stage the missing logs. Verify there is sufficient free space and then copy or restore the missing archive logs into an empty directory on a server the Delphix engine can access via the network. All files in the directory are examined so starting with an empty directory speeds up the process. Verify the user being specified in the next step has permissions to read these archive log files in the directory.
4. Run the fetch command and set all of the following fields
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]
5. Commit the Changes
delphix timeflow oracle log fetch *> commit
NOTE -
It is possible there may be more than one timeflow visible for a given container/source, if so you can verify the current timeflow being used with:
delphix > database
delphix database > select 'example'
delphix database "example"> ls
look for the "currentTimeflow" value.