![]() | |
![]() |
| | Thread Tools | Display Modes |
#1
| |||
| |||
|
|
I am an Oracle and MS SQL DBA and application developer so I'm very familiar with those two RDBMSs. But recently I've been tasked to look at coming up with a means of moving data from a PostGreSQL database to an Oracle database. This because the way the application that uses the PostGreSql database works, there is a table that is essentially working as a circular queue with the data being overwritten after a relatively short amount of time. What I need to do is intercept the data as it is being inserted and send it to an Oracle database for longer term storage. Since I'm not even at the neophyte level with PostGreSQL, can someone tell me if there is any good means of accomplishing this? Perhaps point me to some web sites where a technique is described? I'm pretty much ok with writing java, C, vb.NET, C# or even some other language. |
BI and PostgreSQL functions in PL/Perl).
#2
| |||
| |||
|
|
I am an Oracle and MS SQL DBA and application developer so I'm very familiar with those two RDBMSs. But recently I've been tasked to look at coming up with a means of moving data from a PostGreSQL database to an Oracle database. This because the way the application that uses the PostGreSql database works, there is a table that is essentially working as a circular queue with the data being overwritten after a relatively short amount of time. What I need to do is intercept the data as it is being inserted and send it to an Oracle database for longer term storage. Since I'm not even at the neophyte level with PostGreSQL, can someone tell me if there is any good means of accomplishing this? Perhaps point me to some web sites where a technique is described? I'm pretty much ok with writing java, C, vb.NET, C# or even some other language. |
#3
| |||
| |||
|
|
Another option is to write a trigger that "historizes" every operation on the queue table into a secong history table. Then you could regularly dump that table to a CSV file with a COPY operation and load that fiel into Oracle with SQL*Loader. Afterwards the history table could be truncated. Maybe you could change the queue table so that instead of being overwritten, it is regularly COPYed out and truncated. That way you could do without a trigger. Yours, Laurenz Albe |
|
20 7499 | ALLEN | SALESMAN | 7698 | 1981-02-20 00:00:00 | 1600 | 300 30 7521 | WARD | SALESMAN | 7698 | 1981-02-22 00:00:00 | 1250 | 500 30 7566 | JONES | MANAGER | 7839 | 1981-04-02 00:00:00 | 2975 | 20 7654 | MARTIN | SALESMAN | 7698 | 1981-09-28 00:00:00 | 1250 | 1400 30 7698 | BLAKE | MANAGER | 7839 | 1981-05-01 00:00:00 | 2850 | 30 7782 | CLARK | MANAGER | 7839 | 1981-06-09 00:00:00 | 2450 | 10 7788 | SCOTT | ANALYST | 7566 | 1987-04-19 00:00:00 | 3000 | 20 7839 | KING | PRESIDENT | | 1981-11-17 00:00:00 | 5000 | 10 7844 | TURNER | SALESMAN | 7698 | 1981-09-08 00:00:00 | 1500 | 0 30 7876 | ADAMS | CLERK | 7788 | 1987-05-23 00:00:00 | 1100 | 20 7900 | JAMES | CLERK | 7698 | 1981-12-03 00:00:00 | 950 | 30 7902 | FORD | ANALYST | 7566 | 1981-12-03 00:00:00 | 3000 | 20 7934 | MILLER | CLERK | 7782 | 1982-01-23 00:00:00 | 1300 | 10 (14 rows) |
#4
| |||
| |||
|
|
But in that case what is the definition of ho.world? Is that an alias/service name defined in tnsnames.ora or is that a database link? If it is a database link how is it defined? |
#5
| |||
| |||
|
|
Now it is starting to make sense. I found some web sites that document that utility and they should give me what I need. Thanks. |
![]() |
| Thread Tools | |
| Display Modes | |
| |