rds-oracle

Diagnoses and resolves Amazon RDS for Oracle connectivity, authentication, and driver issues.

2.5k|282|Updated Apr 23, 2026
One-click install
npx skills add https://github.com/aws/agent-toolkit-for-aws --skill rds-oracle
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: rds-oracle
Source: https://github.com/aws/agent-toolkit-for-aws/tree/main/skills/specialized-skills/database-skills/rds-oracle
Command: npx skills add https://github.com/aws/agent-toolkit-for-aws --skill rds-oracle

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve?

Connecting applications and client tools to Amazon RDS for Oracle involves VPC networking, security groups, authentication, encryption, and driver configuration, and common mistakes (like assuming RDS Proxy supports Oracle) cause hours of failed troubleshooting.

Core Features & Use Cases

  • Connectivity Diagnostics: Troubleshoot ORA-12170 timeouts, ORA-12541 listener errors, DPI-1047 client errors, and cross-VPC routing with bundled diagnostic scripts.
  • Platform Connection Patterns: Configure connections from Lambda, EC2, ECS Fargate, and EKS using Secrets Manager, IRSA, and the Secrets Store CSI Driver.
  • Auth & Encryption Setup: Implement Kerberos with AWS Managed Microsoft AD, TLS/TCPS, and Native Network Encryption via option groups.
  • Use Case: A developer needs to connect a Python Lambda in a VPC to RDS Oracle with pooling and cold-start optimization; the skill provides the thin-mode python-oracledb pattern, module-level pool, provisioned concurrency guidance, and Secrets Manager VPC endpoint setup.

Quick Start

Ask the agent to help you connect your application to an RDS for Oracle instance or diagnose a specific ORA error you are seeing.

Frequently Asked Questions about rds-oracle

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I connect a Python Lambda to RDS Oracle in a VPC?

Use python-oracledb in thin mode so no Oracle Client layer is needed, create the connection pool at module scope outside the handler, and configure the Lambda with private subnets and a security group allowing egress on port 1521. Add a Secrets Manager VPC endpoint and provisioned concurrency for cold-start optimization.

Does RDS Proxy support RDS for Oracle?

No, RDS Proxy does not support RDS for Oracle; it only supports MySQL, PostgreSQL, and SQL Server. For Oracle connection multiplexing and proxying, deploy Oracle Connection Manager (CMAN) on EC2, which requires a full Oracle Client install and Enterprise Edition BYOL licensing.

How do I fix DPI-1047 cannot locate 64-bit Oracle Client library?

DPI-1047 means python-oracledb is running in thick mode without an Oracle Instant Client installed. The primary fix is switching to thin mode by removing oracledb.init_oracle_client() from your code; only install Instant Client and set LD_LIBRARY_PATH or PATH if thick mode is truly required.

Why does ORA-12170 timeout occur connecting from EC2 across VPCs?

ORA-12170 indicates a network path blockage: missing VPC peering or Transit Gateway routes in either direction, security groups not allowing port 1521 inbound, or stateless NACLs blocking return traffic. Verify with nc -zv <rds-endpoint> 1521 and confirm DNS resolution of the RDS endpoint from the EC2 instance.

Can I use Kerberos authentication with RDS for Oracle?

Yes, RDS for Oracle supports Kerberos authentication via AWS Managed Microsoft AD. Join the instance to the directory with an IAM role using AmazonRDSDirectoryServiceAccess, create users as IDENTIFIED EXTERNALLY with uppercase names, and configure krb5.conf and sqlnet.ora on clients.

What is the difference between thin and thick mode Oracle drivers?

Thin mode drivers like python-oracledb, node-oracledb 6+, and ojdbc11 require no Oracle Client installation and handle TLS, pooling, and Secrets Manager use cases. Thick mode is only needed for LDAP directory service, Oracle Wallet-based security, Advanced Queuing, or tools like Toad that cannot run thin.