Need help?

Our experts have had an average response time of 13.14 minutes in February 2024 to fix urgent issues.

We will keep your servers stable, secure, and fast at all times for one fixed price.

AWS DMS Task Fail when using Binary Reader for Amazon RDS

by | Aug 2, 2021

Generally, AWS DMS Task Fail when using Binary Reader for Amazon Relational Database Service (Amazon RDS) for Oracle.

If the prerequisites aren’t met when we use Binary Reader, we may receive Permissions errors or Extra connection attribute errors.

Here, at Bobcares, we assist our customers with several AWS queries as part of our AWS Support Services.

Today, let us see how to resolve these errors.

 

AWS DMS Task Fail when using Binary Reader

To read the redo logs during the change data capture face Oracle provides two methods.

They are Oracle LogMiner and Binary Reader.

If we use Binary Reader for migrations that have a high volume of changes, it has less of an impact on the Oracle source database.

However, if we use Oracle LogMiner the impact is high because the archive logs copy and then parse on the replication instance.

 

How to resolve related Errors?

Moving ahead, let us see how our Support Techs go about errors that we may come across.

  • Permissions errors

By creating directories on the source database, AWS DMS uses the Binary Reader.

Hence, its user account must have privileges to access the source Oracle endpoint and create necessary directories.

Suppose, it doesn’t have those permissions. Then we may receive the following log entry:

[SOURCE_CAPTURE ]E: OCI error ‘ORA-00604: error occurred at recursive SQL level 1 ORA-20900: Invalid path used for directory: /rdsdbdata/log/arch ORA-06512: at “RDSADMIN.RDSADMIN”, line 321 ORA-06512: at line 2’ [1022307] (oradcdc_bfilectx.c:164)

To resolve this, we use the Amazon RDS master user as the AWS DMS user.

Generally, when an AWS DMS task starts running it creates the directories.

If not, we log in to the Oracle database via the master user.

Then, to test if these directories can be created, we run:

SQL> exec rdsadmin.rdsadmin_master_util.create_archivelog_dir;
SQL> exec rdsadmin.rdsadmin_master_util.create_onlinelog_dir;

After that, we check the results by querying the all_directories table:

SQL> select directory_path from all_directories where directory_name in ('ONLINELOG_DIR','ARCHIVELOG_DIR');
DIRECTORY_PATH
--------------------------------------------------------------------------------
/rdsdbdata/log/arch
/rdsdbdata/log/onlinelog

Once we create the directories ONLINELOG_DIR and ARCHIVELOG_DIR, we restart the AWS DMS task.

  • Extra connection attribute errors

If we use the Binary Reader but miss the necessary extra connection attributes for the Oracle source, we see the following error:

[TASK_MANAGER ]E: ORA-00604: error occurred at recursive SQL level 1 ORA-20900: Invalid path used for directory: awsdms_dir_test ORA-06512: at “RDSADMIN.RDSADMIN”, line 321 ORA-06512: at line 2 ; Invalid RDS Oracle binary reader db settings, replacePathPrefix should be set to TRUE and usePathPrefix should be set to ‘/rdsdbdata/log/’; Invalid RDS Oracle binary reader db settings, useAlternateFolderForOnline should be set to TRUE; Invalid RDS Oracle binary reader db setting, oraclePathPrefix should not be empty; Invalid RDS Oracle binary reader db settings; Failed while preparing stream component ‘st_0_4MGMBIOJCILNOU3UHICCDBCNFQ’.; Cannot initialize subtask; Stream component ‘st_0_4MGMBIOJCILNOU3UHICCDBCNFQ’ terminated [1020418] (replicationtask.c:2680)

To use the Binary Reader to capture change data, we add the following extra connection attributes to the source endpoint:

useLogMinerReader=N;useBfile=Y;replacePathPrefix=true;usePathPrefix=/rdsdbdata/log/;useAlternateFolderForOnline=true;oraclePathPrefix=/rdsdbdata/db/ORCL_A/;accessAlternateDirectly=false

[Need help with the resolution? We’d be happy to assist you]

 

Conclusion

In short, we saw how our Support Techs fix the permissions and extra connection attribute errors.

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure.

GET STARTED

var google_conversion_label = "owonCMyG5nEQ0aD71QM";

0 Comments

Submit a Comment

Your email address will not be published. Required fields are marked *

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF