Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
DBA will not grant CREATE ANY DIRECTORY privilege. He says oracle directories for REDO and ARCHIVED logs are already created and READ was granted to QLIKREPLICATE user and I don't need to create them.
How do I set the names of the directories in the Qlik replication configuration and skip the CREATE DIRECTORY step?
Thanks
Hi @SomeDude ,
If your source is Oracle:
If you want Replicate to create and manage the Oracle directories, you need to grant the CREATE ANY DIRECTORY privilege specified above. Note that the directory names will be prefixed with attrep_
. If you do not grant this privilege, you need to create the corresponding directories manually. The names of directories that are created manually must not be prefixed with ATTUREP_, ATTUTMP_, or ATTUGRP_. If you create the directories manually and the Oracle user specified in the Oracle Source endpoint is not the user that created the Oracle Directories, grant the READ on DIRECTORY privilege as well.
If your source is RDS Oracle:
Set up the supplemental logging.
The following steps are relevant only when using Replicate Log Reader to access the redo logs.
Before you can use Replicate Log Reader, you need to create directories for the online and archived logs.
To create the directories, run the following commands:
exec rdsadmin.rdsadmin_master_util.create_archivelog_dir;
exec rdsadmin.rdsadmin_master_util.create_onlinelog_dir;
To remove the directories (if there are no ongoing replication tasks), run the following commands:
exec rdsadmin.rdsadmin_master_util.drop_archivelog_dir;
exec rdsadmin.rdsadmin_master_util.drop_onlinelog_dir;
For more information please refer to the below user guide link:
Thanks,
Swathi
Hello,
If you are getting this message when you test the endpoint, its most likely a warning that you can safely ignore.
Thanks
Lyka
Hello,
You need to create the corresponding directories manually. The names of directories that are created manually must not be prefixed with ATTUREP_, ATTUTMP_, or ATTUGRP_. If you create the directories manually and the Oracle user specified in the Oracle Source endpoint is not the user that created the Oracle Directories, grant the READ on DIRECTORY privilege as well.
Sample SQL Statements: create or replace directory _ATTU_ONLINE as <’ONLINE_REDO_PATH’> create or replace directory _ATTU_ARCHIVE as <’ARCHIVE_LOG_PATH’> create or replace directory _ATTU_ALTERNATIVE as <'ALTERNATIVE_PATH define in endpoint'> GRANT SELECT ON dba_directories TO ARUSER; --- Please not include the last '\' in path. E.g. following definition will lead “directory can’t be found” error. Create directory ABC_ATTU_ONLINE as c:\Oracle\online\’
Hope this helps!
Thanks
Lyka
Hi @SomeDude ,
If your source is Oracle:
If you want Replicate to create and manage the Oracle directories, you need to grant the CREATE ANY DIRECTORY privilege specified above. Note that the directory names will be prefixed with attrep_
. If you do not grant this privilege, you need to create the corresponding directories manually. The names of directories that are created manually must not be prefixed with ATTUREP_, ATTUTMP_, or ATTUGRP_. If you create the directories manually and the Oracle user specified in the Oracle Source endpoint is not the user that created the Oracle Directories, grant the READ on DIRECTORY privilege as well.
If your source is RDS Oracle:
Set up the supplemental logging.
The following steps are relevant only when using Replicate Log Reader to access the redo logs.
Before you can use Replicate Log Reader, you need to create directories for the online and archived logs.
To create the directories, run the following commands:
exec rdsadmin.rdsadmin_master_util.create_archivelog_dir;
exec rdsadmin.rdsadmin_master_util.create_onlinelog_dir;
To remove the directories (if there are no ongoing replication tasks), run the following commands:
exec rdsadmin.rdsadmin_master_util.drop_archivelog_dir;
exec rdsadmin.rdsadmin_master_util.drop_onlinelog_dir;
For more information please refer to the below user guide link:
Thanks,
Swathi
Hi Some Dude,
There is also an article in the Qlik knowledge base that discusses this topic that may help out.
|
Thanks for that. Directories were created and READ permission granted to the QlikReplicate user. We are still getting the "create permission check failed for oracle directory objects" message. Is there something we need to do to get around this error, like manually entering the directory names in the Replicate configuration?
Hello,
If you are getting this message when you test the endpoint, its most likely a warning that you can safely ignore.
Thanks
Lyka
Hello @lyka
We have created a new source end-point for DR database of primary. While testing the DR source end-point getting this warning "create permission check failed for oracle directory objects" . Primary site source end-point is working and task is running fine. This is just for the DR readiness we created the source DR end-points and tried to validate it. in DR site the physical standby is in read only mode with apply as below.
NAME OPEN_MODE DATABASE_ROLE
--------- -------------------- ----------------
AG0001P READ ONLY WITH APPLY PHYSICAL STANDBY
At the same time when we try to validate the DR site source connection through sqlplus it is working fine. Why the source end-point is giving this warning ? Hence we cannot validate the SR source end-points.
Please advise.
Thanks,
Adersh
Hello @adershb ,
The warning "create permission check failed for oracle directory objects" can be safely ignored if you are accessing standby node of Oracle source. This warning only show up in EndPoint Connection Test. It does not impact the task running.
Hope this helps.
Regards,
John.
Hello @john_wang ,
We would like to validate the DR source end-points as part of the DR readiness. Due to this warning the test connection of source DR end-points are not passed. We are not sure the end-points are working or not. How do we validate it. At the same time sqlplus connection from replicate server to source DR is working fine. What is the reason for this warning? Please advise.
Thanks,
Adersh
Hello @adershb ,
As DR node is some special (eg it's read-only ) and Replicate needs some additional privileges (eg SELECT on V$STANDBY_LOG), there is chance to get the warning.
The way to know the reason is checking the "repsrv.log" file after you press the "Test Connection" button. Steps:
1- Set "Server" --> "Server Logging Levels" --> "SERVER" to "Verbose"
2- Press "Test Connection" then check the "repsrv.log". The file show what's the operations/SQLs are done during the Test Connection.
Best Regards,
John.