public-oracle-expert-baselisted
Install: claude install-skill seed-forge/harness-ai-kit
# Oracle Database Knowledge Base
> **Source**: Compiled from Oracle official documentation, JDBC best practices, and common integration patterns.
## Connection Types
| Format | Example | Status |
|--------|---------|--------|
| Service Name | `jdbc:oracle:thin:@//host:port/service_name` | **Recommended** |
| SID (legacy) | `jdbc:oracle:thin:@host:port:SID` | Legacy, avoid |
| TNS | `jdbc:oracle:thin:@tns_alias` | Enterprise with tnsnames.ora |
| EZConnect | `jdbc:oracle:thin:@host:port/service_name` | Simple, no config file |
- **Always prefer Service Name** over SID for new projects.
- Easy Connect Plus (19c+): `jdbc:oracle:thin:@tcp://host:port/service_name?wallet_location=/path`.
## JDBC Driver
| Type | Description | When to use |
|------|-------------|-------------|
| Thin (Type 4) | Pure Java, no Oracle client | **Default choice** |
| Thick (OCI, Type 2) | Requires Oracle Client | Advanced features (TAF, Advanced Queuing) |
| UCP | Universal Connection Pool | Production pooling |
- Thin driver is sufficient for 95% of use cases.
- Use `ojdbc8.jar` for JDK 8+, `ojdbc11.jar` for JDK 11+.
- Add `orai18n.jar` for internationalization support.
## Connection Pool
| Pool | Recommended for |
|------|----------------|
| UCP (Oracle) | Oracle-specific features, best performance |
| HikariCP | Spring Boot, general-purpose, simpler config |
HikariCP config for Oracle:
```properties
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle: