Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 21 additions & 1 deletion jobs/intg-test-resources/infra.json
Original file line number Diff line number Diff line change
Expand Up @@ -115,6 +115,26 @@
}
],
"validation_query": "SELECT 1 FROM DUAL"
}
},
{
"name": "oracle-se2-cdb",
"file_name": "ojdbc8",
"driver": "oracle.jdbc.OracleDriver",
"database": [
{
"name": "WSO2AM_COMMON_DB",
"url": "jdbc:oracle:thin:@DB_HOST:1521/WSO2AMDB",
"username": "WSO2AM_COMMON_DB",
"password": "DB_PASSWORD"
},
{
"name": "WSO2AM_APIMGT_DB",
"url": "jdbc:oracle:thin:@DB_HOST:1521/WSO2AMDB",
"username": "WSO2AM_APIMGT_DB",
"password": "DB_PASSWORD"
}
],
"validation_query": "SELECT 1 FROM DUAL"
}
Comment on lines +119 to +138
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major | 🏗️ Heavy lift

🧩 Analysis chain

🌐 Web query:

What are the JDBC URL format differences between Oracle Container Database (CDB) and non-CDB for oracle-se2 engine type?

💡 Result:

For Oracle JDBC (oracle-se2 engine type), the JDBC URL format differences between CDB and non-CDB are primarily in the identifier used after the host:port part: service name (/) for CDB/PDB access versus SID (:) for non-CDB. CDB (Container Database, multitenant): - Connect to PDBs or CDB services using service name format: jdbc:oracle:thin:@//host:port/service_name [1][2][3] - Example for PDB: jdbc:oracle:thin:@localhost:1521/ORCLPDB1 [3] - Service names are required for PDB access in CDB; SID-style often fails with TNS errors [3] non-CDB (traditional single database): - Connect using SID format: jdbc:oracle:thin:@host:port:SID [4][5][6] - Example: jdbc:oracle:thin:@localhost:1521:orcl The oracle-se2 engine supports multitenant (CDB with up to 3 PDBs) [7][8], but JDBC syntax is identical to other editions; difference is listener registration (services for CDB/PDB) [9][10]. Use TNS DESCRIPTION=(... (SERVICE_NAME=...)) for explicit control in both [1][11]. In Amazon RDS oracle-se2-cdb, connect to PDB using SID=pdb_name in full descriptor or service [12].

Citations:


Update the JDBC URL format for oracle-se2-cdb to use the CDB-compatible service name syntax.

The oracle-se2-cdb configuration requires the service name format for CDB (Container Database) connections. Update the database URLs from jdbc:oracle:thin:@DB_HOST:1521/WSO2AMDB to jdbc:oracle:thin:@//DB_HOST:1521/WSO2AMDB (note the // after @). CDB and PDB connections require this format; without it, connections will fail.

Current configuration
"url": "jdbc:oracle:thin:`@DB_HOST`:1521/WSO2AMDB"
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@jobs/intg-test-resources/infra.json` around lines 119 - 138, The JDBC URL
entries under the oracle-se2-cdb database objects must use the CDB-compatible
service name syntax; update both "url" values in the database array for the
oracle-se2-cdb entry (the objects with "name": "WSO2AM_COMMON_DB" and "name":
"WSO2AM_APIMGT_DB") by changing the JDBC URL from
"jdbc:oracle:thin:`@DB_HOST`:1521/WSO2AMDB" to the CDB form
"jdbc:oracle:thin:`@//DB_HOST`:1521/WSO2AMDB" (i.e., add the missing "//" after
the "@") so connections use the service-name syntax required for CDB/PDB.

]
}