Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Qlik and ServiceNow Partner to Bring Trusted Enterprise Context into AI-Powered Workflows. Learn More!
cancel
Showing results for 
Search instead for 
Did you mean: 
nilesh007
Partner - Creator
Partner - Creator

Qlik Replicate Oracle connectivity issue

In the Qlik replicate we are creating a source connection,  the client is having Oracle FO (failover)as a source and the database user we are using for configuring the connection has read and write access but does not have the create directory access. As per the client the directory has been created and the path has been given. We have used that archived log and directory path in the configuration window but still facing the connectivity issue.

Error: "cannot create directory name with path" 

 Error and configuration screenshots are attached.

Please let me know of any workaround.

Labels (3)
1 Solution

Accepted Solutions
john_wang
Support
Support

Hello @nilesh007 ,

While the Oracle source endpoint access redo log mode set to "Replicate Log Reader", Replicate will try to find a directory which maps to an Oracle redo log path (in your scenario it's "/ARCH/tb750ip/archives"). If the directory exists already, Replicate will use it; otherwise, Replicate will create such a directory prior to accessing the redo log files , as this is Oracle mandatory prerequisites. 

You may check the directory existence, logon to Oracle by as same account as in the endpoint:

select directory_name from all_directories where directory_path = '/ARCH/tb750ip/archives';

Certainly you may also create the directory manually prior to task running (If Replicate detects the directory, then the directory will be used):

create or replace directory "ATTUREP_146182DE01TPOL_FO_POC" as '/ARCH/tb750ip/archives';

In general the above SQLs are used for troubleshooting. In Replicate task, these jobs can be done automatically if the connection account has enough privileges and you are using Primary node (rather than standby node).

Now get back to your error, ORA-16000: Database open for read-only access, may reasons may lead this error (some samples):

1- Privileges issue
2- If you are using a PDB as source database, then you need to change the open mode from READ ONLY to READ WRITE, eg
     alter pluggable database orclpdb open force;
3- If you are connecting to a Physical Standby DB
     Create the directory in primary DB manually (because standby node is in read only mode always), after the synchronization between primary DB and standby DB completed then Replicate task works.

Hope this helps.

Regards,

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!

View solution in original post

2 Replies
SushilKumar
Support
Support

Hello teams,

It Seems you are Trying to Get the data from Standby DB . These Permission must be granted on the Source Primary DB. Once the Archive apply to STanbdby and Qlik User Mush have Physical access to the folder which you have in the task settings.

retest the same and let us know your feedback on the same.

Regards,

Sushil Kumar

john_wang
Support
Support

Hello @nilesh007 ,

While the Oracle source endpoint access redo log mode set to "Replicate Log Reader", Replicate will try to find a directory which maps to an Oracle redo log path (in your scenario it's "/ARCH/tb750ip/archives"). If the directory exists already, Replicate will use it; otherwise, Replicate will create such a directory prior to accessing the redo log files , as this is Oracle mandatory prerequisites. 

You may check the directory existence, logon to Oracle by as same account as in the endpoint:

select directory_name from all_directories where directory_path = '/ARCH/tb750ip/archives';

Certainly you may also create the directory manually prior to task running (If Replicate detects the directory, then the directory will be used):

create or replace directory "ATTUREP_146182DE01TPOL_FO_POC" as '/ARCH/tb750ip/archives';

In general the above SQLs are used for troubleshooting. In Replicate task, these jobs can be done automatically if the connection account has enough privileges and you are using Primary node (rather than standby node).

Now get back to your error, ORA-16000: Database open for read-only access, may reasons may lead this error (some samples):

1- Privileges issue
2- If you are using a PDB as source database, then you need to change the open mode from READ ONLY to READ WRITE, eg
     alter pluggable database orclpdb open force;
3- If you are connecting to a Physical Standby DB
     Create the directory in primary DB manually (because standby node is in read only mode always), after the synchronization between primary DB and standby DB completed then Replicate task works.

Hope this helps.

Regards,

John.

Help users find answers! Do not forget to mark a solution that worked for you! If already marked, give it a thumbs up!