← Back to Skills Marketplace
ivangdavila

Oracle DB

by Iván · GitHub ↗ · v1.0.0
linuxdarwinwin32 ✓ Security Clean
1246
Downloads
2
Stars
10
Active Installs
1
Versions
Install in OpenClaw
/install oracle-db
Description
Write Oracle SQL and PL/SQL with proper syntax, hints, and performance patterns.
README (SKILL.md)

Syntax Differences

  • ROWNUM for limiting rows—WHERE ROWNUM \x3C= 10; 12c+ supports FETCH FIRST 10 ROWS ONLY
  • DUAL table for expressions—SELECT sysdate FROM dual
  • VARCHAR2 not VARCHAR—VARCHAR is reserved, VARCHAR2 is the standard
  • String concatenation with ||—not CONCAT for multiple values
  • Empty string equals NULL—'' IS NULL is true; breaks logic from other databases

Pagination

  • ROWNUM assigned before ORDER BY—wrap in subquery: SELECT * FROM (SELECT ... ORDER BY x) WHERE ROWNUM \x3C= 10
  • Offset requires nested subquery: SELECT * FROM (SELECT a.*, ROWNUM rn FROM (...) a WHERE ROWNUM \x3C= 20) WHERE rn > 10
  • 12c+: OFFSET 10 ROWS FETCH NEXT 10 ROWS ONLY—cleaner, use when available

NULL Handling

  • NVL(col, default) for null replacement—faster than COALESCE for two args
  • NVL2(col, if_not_null, if_null) for conditional—common Oracle pattern
  • Empty string is NULL—LENGTH('') returns NULL, not 0
  • NULLIF(a, b) returns NULL if equal—useful for avoiding division by zero

Dates

  • SYSDATE for current datetime—no parentheses
  • TO_DATE('2024-01-15', 'YYYY-MM-DD') for string to date—format required
  • TO_CHAR(date, 'YYYY-MM-DD HH24:MI:SS') for date to string
  • Date arithmetic in days—SYSDATE + 1 is tomorrow, SYSDATE + 1/24 is one hour

Sequences

  • Create: CREATE SEQUENCE seq_name START WITH 1 INCREMENT BY 1
  • Get next: seq_name.NEXTVALSELECT seq_name.NEXTVAL FROM dual
  • Current value: seq_name.CURRVAL—only after NEXTVAL in same session
  • 12c+: identity columns—GENERATED ALWAYS AS IDENTITY

Hierarchical Queries

  • CONNECT BY PRIOR child = parent for tree traversal
  • START WITH parent IS NULL for root nodes
  • LEVEL pseudo-column shows depth—WHERE LEVEL \x3C= 3 limits depth
  • SYS_CONNECT_BY_PATH(col, '/') builds path string

Bind Variables

  • Always use bind variables—literals cause hard parse every time
  • PL/SQL: :variable_name syntax
  • Performance critical—literal values fill shared pool, cause contention
  • CURSOR_SHARING=FORCE as workaround but not recommended long-term

Hints

  • /*+ INDEX(table idx_name) */ forces index use
  • /*+ FULL(table) */ forces full table scan
  • /*+ PARALLEL(table, 4) */ enables parallel query
  • Hints inside SELECT /*+ hint */—common placement after SELECT keyword

PL/SQL Blocks

  • Anonymous block: BEGIN ... END; with / on new line to execute
  • DBMS_OUTPUT.PUT_LINE() for debug output—SET SERVEROUTPUT ON first
  • Exception handling: EXCEPTION WHEN OTHERS THEN—always handle or log
  • EXECUTE IMMEDIATE 'sql string' for dynamic SQL—beware injection

Transactions

  • No auto-commit by default—must COMMIT explicitly
  • SAVEPOINT name then ROLLBACK TO name for partial rollback
  • DDL auto-commits—CREATE TABLE commits any pending transaction
  • SELECT FOR UPDATE WAIT 5 waits 5 seconds for lock—avoids indefinite hang

Performance

  • EXPLAIN PLAN FOR sql; SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY)—shows plan
  • V$SQL and V$SESSION for monitoring—requires privileges
  • Avoid SELECT *—fetches all columns including LOBs
  • Index hint when optimizer chooses wrong—/*+ INDEX(t idx) */

Common Traps

  • MINUS instead of EXCEPT—Oracle uses MINUS for set difference
  • DECODE is Oracle-specific—use CASE for portability
  • Implicit type conversion—WHERE num_col = '123' works but prevents index use
  • ROWID is physical—don't store or rely on across transactions
Usage Guidance
This skill is an instruction-only reference for Oracle SQL and PL/SQL and appears internally consistent. It does not install code or ask for credentials by itself. Practical cautions: if you (or the agent using this skill) run sqlplus/sql against a real database, you will need to supply database connection credentials — only provide those to trusted agents/environments. Review any prompts or actions that would cause the agent to execute commands against your DB, and avoid sharing DB credentials unless necessary. If you need guarantees about provenance or maintenance, ask the publisher for a homepage, source repo, or change log before using in sensitive environments.
Capability Analysis
Type: OpenClaw Skill Name: oracle-db Version: 1.0.0 The skill bundle provides comprehensive documentation for interacting with Oracle DB, detailing syntax, performance patterns, and common traps. The `_meta.json` is standard, and `SKILL.md` serves as an informational guide for the AI agent on Oracle SQL and PL/SQL. It correctly identifies `sqlplus` or `sql` as required binaries, aligning with its stated purpose. There are no instructions for the AI agent to perform malicious actions, exfiltrate data, establish persistence, or engage in prompt injection to subvert its operation. The mention of 'beware injection' for `EXECUTE IMMEDIATE` is a warning about a vulnerability, not an instruction to exploit it.
Capability Assessment
Purpose & Capability
Name/description match the SKILL.md content. The declared required binaries (sqlplus or sql) are appropriate for an Oracle-guidance skill and are listed as 'anyBins' in the metadata.
Instruction Scope
SKILL.md contains only Oracle syntax, performance, and usage guidance. It does not instruct the agent to read system files, environment variables, or transmit data to external endpoints, nor does it include open-ended instructions that would grant broad discretion.
Install Mechanism
No install spec and no code files — instruction-only. Nothing is downloaded or written to disk by the skill itself.
Credentials
The skill declares no required environment variables or credentials. The content mentions Oracle monitoring views (V$SQL/V$SESSION) which legitimately require DB privileges, but the skill itself does not request any secrets.
Persistence & Privilege
always is false and the skill is user-invocable; it does not request persistent presence or attempt to modify other skill/system configurations.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install oracle-db
  3. After installation, invoke the skill by name or use /oracle-db
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
Initial release
Metadata
Slug oracle-db
Version 1.0.0
License
All-time Installs 10
Active Installs 10
Total Versions 1
Frequently Asked Questions

What is Oracle DB?

Write Oracle SQL and PL/SQL with proper syntax, hints, and performance patterns. It is an AI Agent Skill for Claude Code / OpenClaw, with 1246 downloads so far.

How do I install Oracle DB?

Run "/install oracle-db" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Oracle DB free?

Yes, Oracle DB is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Oracle DB support?

Oracle DB is cross-platform and runs anywhere OpenClaw / Claude Code is available (linux, darwin, win32).

Who created Oracle DB?

It is built and maintained by Iván (@ivangdavila); the current version is v1.0.0.

💬 Comments