What is the best way to get data from a remote 8i database to a 9i database: imp/exp, materialized view or SQL*Loader? This data must be refreshed nightly.
The best way depends on your situation and your requirements. You have a couple of ways to move data. I'll highlight them and then discuss some pros and cons.
1. Export/import - With this method, you export the data you need and import it into the new database. This is an easy, tried and true method. But importing can mean dropping the existing table and then recreating it on import, thus making the table unavailable to your application at that time. Additionally, import can be slow for large amounts of data.
2. Pulling data through a database link - With this method, you create a database link to the remote database. You should be able to construct SQL commands to insert data into the local database, selecting from the remote database. A SQL statement might look like the following:
INSERT INTO my_local_table (ColA, ColB, ColC) SELECT ColA, ColB, ColC FROM remote_table@remotedb WHERE conditions are true;The SQL language in these situations is a very powerful and flexible tool that can't be beat. But you'll have to write your own routines to move the data.
3. Transportable tablespaces - With this method, you can create a copy of a remote tablespace and load it into your local server. The downside is you need to copy the entire tablespace, even if you don't need all of the data in it. The benefit is that this can be the fastest method for large amounts of data.
Dig Deeper on Oracle database design and architecture
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.