update privilege for user accessing through dblink - oracle

We have a current setup where from oracle 10 we access oracle 7 and update its records. However, since 10 can't access 7 through db link. We had to use oracle 9 to act as bridge between 10 and 7. Picture it as below
ORACLE 10g dblink to Oracle 9i dblink to Oracle 7
My issue is the user (10g) we are using is getting insufficient privilege error when try to update the records in oracle 7.
I have tried update the records from oracle 9 to 7 and there was no error. So I assume a privilege issue between 10 and 9. How do I check if my user in 10g can update records in oracle 7 via oracle 9?

My guess is that this is not possible.
https://docs.oracle.com/cd/B28359_01/server.111/b28310/ds_txns003.htm
The distributed transactions requires a global coordinator and a negotiation between it as a master and the others. Your architecture will require that 9i node is in the same time a coordinator and a coordinated node. This is just a bet. Reading carefully the doc may explain better why it cannot be possible. Making it to work will demonstrate the oposite, but I'm pessimistic about this chance.
My opinion is that you should try to do it asynchronously, not in a transaction(which will involve more work for sure...)

Related

SSIS not running in parallel with OraOLEDB.Oracle.1 Provider

we had one SSIS package with Oracle 11 Client, we would run our daily query with 30min to 1 hour run time.
we had to upgrade our oracle clients as one of our other oracle source got upgraded.
post upgrade to Oracle 12c, our daily job run time increased.
oracle DBA said, its not running in parallel, as its occupying only one processor.
when we run the same query from SQL Developer or toad, its running in parallel. but if we run from SSIS OLEDB Source component its not running in parallel.
I'm clue less with this behavior. any solution will be helpful.
ask me more clarifications if required.
Trying to figure out the issue
I tried to search on this topic, i didn't find a lot of informations but i think it is based on the OLEDB Connection string provided in the OLEDB Connection Manager.
Check the following Oracle documentation it may give you some insights:
Features of OraOLEDB
In the link above, in the Distributed Transactions part, they mentioned that:
The DistribTX attribute specifies whether sessions are enabled to enlist in distributed transactions. Valid values are 0 (disabled) and 1 (enabled). The default is 1 which indicates that sessions are enabled for distributed transaction enlistments.
Sessions enabled for distributed transaction enlistments cannot run statements that use the direct path load and parallel DML capabilities of the Oracle database. Such statements are executed as conventional path serial statements.
I am not sure if this could help, but it is not bad to give a try.
Oracle Attunity Connectors
Instead of using OLEDB Source to read from oracle, it is better to use Oracle Attunity Connectors for SSIS which guarantee higher performance than OLEDB Source:
Microsoft Connectors By Attunity
Attunity's high speed connectors for Oracle and Teradata have been selected by Microsoft to be included with SQL Server Integration Services (SSIS).

Multiple Oracle Instance on a single Oracle Database on Win7

I have installed an Oracle DB server on a windows 7 Machine with a single Instance (Single SID). I want to create another instance (SID) under the same oracle database, Can anyone help or guide.
Thanks
Zaheer
you can do it by providing another port number and service id. But 2 oracle DB in windows 7 is seems bad idea.
In addition, Installing two oracle service in windows 7 has it's own complexity.

Oracle Express Synchronization from Another Orable Database

I have a Oracle 10g database currently in a server.
I will create a web which may have massive requests to get data from the Oracle 10g. So, to prevent degrade the Oracle 10g database and server performance, I would like to setup an Oracle Express 11g to another server, periodically (say 15 minutes) get the data from Oracle 10g to Oracle Express 11g.
Finally the web will just get the data from the new server. And the only loading to the Oracle 10g is the data synchronization. There are just 2 tables in Oracle 10g need to sync.
My question is how can I set up the data synchronization?
For example, can I set up linked server, and set materialized view with refresh period between 2 oracles.
I am new to Oracle, welcome any useful reference materials and idea.

PostgreSQL to Oracle Database with Oracle GoldenGate 11.2.1

I've spent 2 days to sync postgresql database to oracle. Read few books, googled many times..
1. I have setup PostgreSQL on CentOS 6.5 (A) also installed oracle database on this VPS. copied GoldenGate to it.
2. I have already setup 2 oracle VPS using Goldengate and setup as Source (B) and Target (C). I'm trying to sync PostgreSQL to Target VPS.
3. GoldenGate runs on A server without error.
The problem is when I setting up it requires ODBC config (page 14). I'm new to PostgreSQL so little confusing for this..
Also when I google i find only to postgresql from oracle.
Main doc I'm following is http://docs.oracle.com/cd/E35209_01/doc.1121/e29642.pdf
Actually I have found Oracle Golden Gate new features https://blogs.oracle.com/dataintegration/resource/2013-DIFamily/OGG_WinUnix_Rel_Notes_11.2.1.0.7.pdf
Oracle Golden Gate don't support what I want to do.
They say:
Oracle GoldenGate introduces support for PostgreSQL. This support includes the mapping, manipulation,
filtering, and delivery of data from other types of databases to a PostgreSQL database. Oracle GoldenGate
does not support the capture of data from PostgreSQL to other PostgreSQL databases or to other kinds of
databases.
GoldenGate does not support Postgres as a source - only target.
Check out Attunity for what you are trying to do.
Postgres support was only for delivery in Oracle GoldenGate 12.2. Oracle is working on a full capture/delivery support for Postgres. It will be out in a later release post 19c. Please check the OTN website for versions.

Oracle 11g Backward compatibility with older oracle releases

Our organization is planning to upgrade its most of the oracle servers & clients to 11g Release 2.
But one of our client system is still using oracle 8i installation.
Can we able to access the objects of Oracle 8i from oracle 11g client?
Some blogs says that it should work and other say it won't.
Can anybody faced any issue with such configuration.
One of the senior dba told us that oracle only supports backward compatibility of 2 versions earlier to current version. Assuming this fact we shouldn't been able to access database objects running on oracle version 8.
Kindly help.
Thanks in advance.
We had to revert to Oracle 10 client (10.1, I believe) in order to connect to an Oracle 8 database. If there is a way to do it using 11.2, I'd like to be schooled.
EDIT: 10.2 will work. Here's the official word:
http://www.oracle.com/technetwork/database/windows/install10202-083849.html
"Access to an Oracle Database Server (Oracle8i Release 3 or later)"
And as of 11.1, you're out of luck:
http://www.oracle.com/technetwork/database/windows/install11106-087844.html
"Access to an Oracle Database Server (Oracle9i Release 2 or later)"
Oracle doesn't even list version 8 in any compatibility tables on their web site. We verified that current (11g R2) JDBC drivers from Oracle do not work with Oracle 8 database sources. It means that it is not possible to access Oracle 8 databases from the latest version of Oracle SQL Developer because it is using JDBC driver.
While there is a slim chance to be able to access Oracle 8 from some other Oracle 11g client, I would not bet my business on that.
Check out MyOracleSupport
Subject: Client / Server / Interoperability Support Between Different Oracle Versions
Doc ID: 207303.1
It won't go directly.

Resources