docs: add ADB table creation SQL and detailed descriptions to README

This commit is contained in:
nogueiraguh
2026-03-26 09:43:58 -03:00
parent fabb0e96b5
commit ee550b6632

View File

@@ -403,30 +403,66 @@ For persistent vector storage and RAG-powered chat:
#### Required ADB Vector Tables #### Required ADB Vector Tables
The following tables must be created in your Autonomous Database for the auto-embedding to work correctly. Each table must have the schema: `ID VARCHAR2(100), TEXT CLOB, EMBEDDING VECTOR, METADATA CLOB`. > **IMPORTANT**: These tables must be created in your Autonomous Database **before** using the embedding and RAG features. Without them, the auto-embedding and historical data consultation will not work.
All tables must use the following schema:
```sql
CREATE TABLE <table_name> (
ID RAW(16),
TEXT CLOB,
METADATA JSON,
EMBEDDING VECTOR
);
```
Run the SQL below to create all 11 required tables:
```sql
-- CIS Report tables (auto-populated via "Embed Report")
CREATE TABLE summaryreportcsvvector (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
CREATE TABLE identityandaccess (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
CREATE TABLE networking (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
CREATE TABLE computeinstances (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
CREATE TABLE loggingandmonitoring (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
CREATE TABLE objectstorage (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
CREATE TABLE storageblockvolume (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
CREATE TABLE filestorageservice (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
CREATE TABLE assetmanagement (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
-- Knowledge base tables (populated manually via Embeddings tab)
CREATE TABLE cisrecom (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
CREATE TABLE engineerknowledgebase (ID RAW(16), TEXT CLOB, METADATA JSON, EMBEDDING VECTOR);
```
**CIS Report Tables** — auto-populated when you click "Embed Report": **CIS Report Tables** — auto-populated when you click "Embed Report":
| Table Name | Purpose | Source CSVs | | Table Name | Purpose | Source CSVs |
|-----------|---------|-------------| |-----------|---------|-------------|
| `summaryreportcsvvector` | CIS report summary (compliance scores, section totals) | `cis_summary_report.csv` | | `summaryreportcsvvector` | CIS report summary compliance scores per section, total controls passed/failed | `cis_summary_report.csv` |
| `identityandaccess` | IAM findings (users, policies, MFA, API keys) | `cis_Identity_and_Access_Management_*.csv` | | `identityandaccess` | IAM findings users, policies, MFA status, API keys, password policies | `cis_Identity_and_Access_Management_*.csv` |
| `networking` | Network findings (security lists, NSGs, VCNs) | `cis_Networking_*.csv` | | `networking` | Network findings security lists, NSGs, VCNs, open ports, ICMP rules | `cis_Networking_*.csv` |
| `computeinstances` | Compute findings (instances, metadata, boot) | `cis_Compute_*.csv` | | `computeinstances` | Compute findings instances, metadata service, secure boot, encryption | `cis_Compute_*.csv` |
| `loggingandmonitoring` | Logging findings (alarms, events, notifications) | `cis_Logging_and_Monitoring_*.csv` | | `loggingandmonitoring` | Logging findings alarms, events, notifications, flow logs, Cloud Guard | `cis_Logging_and_Monitoring_*.csv` |
| `objectstorage` | Object Storage findings (buckets, visibility, encryption) | `cis_Storage_Object_Storage_*.csv` | | `objectstorage` | Object Storage findings bucket visibility, encryption, versioning | `cis_Storage_Object_Storage_*.csv` |
| `storageblockvolume` | Block Volume findings (encryption, CMK) | `cis_Storage_Block_Volumes_*.csv` | | `storageblockvolume` | Block Volume findings encryption with CMK | `cis_Storage_Block_Volumes_*.csv` |
| `filestorageservice` | File Storage findings (encryption, CMK) | `cis_Storage_File_Storage_Service_*.csv` | | `filestorageservice` | File Storage findings encryption with CMK | `cis_Storage_File_Storage_Service_*.csv` |
| `assetmanagement` | Asset Management findings (compartments, tagging) | `cis_Asset_Management_*.csv` | | `assetmanagement` | Asset Management findings compartment usage, resource tagging | `cis_Asset_Management_*.csv` |
**Other Tables** — populated manually or via dedicated uploads: **Knowledge Base Tables** — populated manually via Embeddings tab:
| Table Name | Purpose | How to populate | | Table Name | Purpose | How to populate |
|-----------|---------|-----------------| |-----------|---------|-----------------|
| `cisrecom` | CIS Benchmark recommendations and best practices | Upload CIS PDF in Embeddings tab | | `cisrecom` | CIS Benchmark official recommendations — remediation steps, rationale, audit procedures per control | Upload CIS PDF in Embeddings tab |
| `engineerknowledgebase` | General knowledge base (blogs, docs, PDFs) | Upload files or import URLs in Embeddings tab | | `engineerknowledgebase` | General knowledge base blogs, documentation, PDFs, URLs for complementary context | Upload files or import URLs in Embeddings tab |
> When you click **"Embed Report"** on a completed CIS report, the system automatically maps each CSV to its corresponding table and embeds all findings with tenancy name and extract date for isolation. Progress is shown in real-time. > **How embedding works**: When you click **"Embed Report"** on a completed CIS report, the system automatically:
> 1. Maps each CSV file to its corresponding table based on the filename
> 2. Adds CIS recommendation number, section name, tenancy, and extract date to each document
> 3. Purges old data for the same tenancy/date before inserting (prevents duplicates)
> 4. Shows real-time progress with current section and queue
>
> Each embedded document contains structured metadata (`tenancy`, `extract_date`, `cis_recommendation`) enabling precise filtered searches by the Chat Agent and Consult Embeddings.
### Step 5 — Embeddings (Optional) ### Step 5 — Embeddings (Optional)