We're automating the nightly transfer of several databases from production into a "T-1" (or "yesterday") environment. It takes a while currently:
- the source server has to dump the stripes,
- which then need to be transferred to the target server,
- which then needs to load them.
Would rather all three steps ran in parallel -- with the dumps written into a pipe or a socket, from where the target could read them directly...
In both MySQL and PostgreSQL the dumps are sent to the requesting client program (mysqldump
and pg_dump
respectively), which could save the data into a file and/or push it to stdout:
mysqldump SOURCEDATABSE | mysql TARGET
For Sybase (and thus for MS SQL) there is a way to arrange for same.
Is there something like this for Oracle too -- or must it always be a file (or multiple files) local to the server?
The underlying OS on both source and target is Linux -- maybe, I can somehow specify a host:port
combination to Oracle instead of /directory
?
Our Oracle servers run version 19.
Update: it looks like the network_link
-argument to expdp
can be used to collapse steps 1. and 2. into one, which is good. But is there any way to make step 3. happen in parallel too?
network_link
is used to create or load existing dumps. How would I skip the storing them to disk?