Installation Report
Installation Date: 2026-08-15. This report documents the installation process, account information, validation results, and known limitations for the sample schema in this environment.
1. Target Database
| Item | Value |
|---|---|
| Database | Oracle 23.26.3.0.0 (26ai series), Multitenant Architecture |
| Host / Port | 192.168.3.88:1521 |
| Container | CDB: ORCLCDB, PDB: ORCLPDB1 (READ WRITE) |
| Connection String | 192.168.3.88:1521/ORCLPDB1 |
| Components | XDB, SDO (Spatial) both VALID |
2. Client Tools (Installed Locally)
| Tool | Version | Location |
|---|---|---|
| SQLcl | 26.2.1.222.1617 | D:\tools\sqlcl |
| Instant Client (Basic) | 23.26.3.0.0 | D:\Program Files\instantclient-basic-oracle-23.26.3.0.0\instantclient_23_26 |
| Instant Client (Tools, including SQL*Loader) | 23.26.3.0.0 | Same as above (extracted separately this time, provides sqlldr.exe) |
3. Account Summary
All schema passwords are set to 88888888, with data tablespace sample and temporary tablespace TEMP.
| User | Password | Tablespace | Notes |
|---|---|---|---|
| system / sys | 88888888 | - | Administrator account (sys connects with SYSDBA privilege) |
| hr | 88888888 | sample | Human Resources |
| co | 88888888 | sample | Customer Orders |
| sh | 88888888 | sample | Sales History |
| oe | 88888888 | sample | Order Entry (archived, includes OC sub-schema) |
| pm | 88888888 | sample | Product Media (archived) |
4. Installation Summary
- HR / CO / SH (Supported Schemas): Connected as
systemto PDB, ran\${schema}_install.sqlin respective directories (human_resources/,customer_orders/,sales_history/). Prompted for password88888888, tablespacesample, and overwrite confirmation (YES). SH must be run using SQLcl. - OE / PM (Archived Schemas): First performed official Perl replacement of
__SUB__CWD__→D:/db-sample-schemas(generated.bakbackup), then connected assystemand executedorder_entry/oe_main.sqlandproduct_media/pm_main.sql, passing 9 parameters (schema passwords, tablespacesample, temporary tablespaceTEMP, data/log paths, versionv3, connection string). PM uses SQL*Loader to load LOB data.
5. Validation Results (provided = actual, all match)
HR:
| Table | Rows |
|---|---|
| regions / countries / departments / locations / employees / jobs / job_history | 5 / 25 / 27 / 23 / 107 / 19 / 10 |
CO:
| Table | Rows |
|---|---|
| customers / stores / products / orders / order_items / shipments / inventory | 392 / 23 / 46 / 1950 / 3914 / 1892 / 566 |
SH:
| Table | Rows |
|---|---|
| channels / costs / countries / customers / products / promotions / sales / times / supplementary_demographics | 5 / 82112 / 35 / 55500 / 72 / 503 / 918843 / 1826 / 4500 |
OE (93 objects, 0 invalid; 27 OC types, 5 public synonyms COE_*, 9 grants from HR→OE):
| Table | Rows |
|---|---|
| customers / orders / order_items / product_information / product_descriptions / inventories / warehouses / promotions | 319 / 105 / 665 / 288 / 8640 / 1112 / 9 / 2 |
PM (8 objects, 0 invalid; SQL*Loader loaded 16 records, 0 rejected):
| Object | Rows |
|---|---|
| print_media | 4 |
| textdocs_nestedtab (nested table) | 12 |
6. Known Limitations
- OE’s XDB Purchase Order Demo (
xdb03usg.sql): Directory objectSS_OE_XMLDIRpoints to a server-side path, butpurchaseOrder.xml/.xsdfiles are located locally on the installation machine and cannot be placed on the remote server. Thus, XDB resource creation fails (ORA-22288 / ORA-31001). Only affects XDB demo resources; OE/OC tables, views, types, and data remain intact. - PM’s BFILE Column (
print_media.ad_graphic):MEDIA_DIRdirectory object was created but points to a local path string. No corresponding media files exist on the server. The BFILE locator exists, butDBMS_LOB.FILEEXISTS = 0. BLOB data (photos, documents, etc.) are correctly loaded.
7. Log Locations
- HR / CO / SH:
\${schema}_install.login each schema directory; runtime output copies are in the repository root as*_run_out.log. - OE / PM:
logs/oe_oc_v3.log,logs/pm_main.log,logs/pm_p_lob.log(plus runtime output copieslogs/oe_run_out.log,logs/pm_run_out.log).
8. Uninstallation Method
- HR / CO / SH: Run each schema’s
\${schema}_uninstall.sqlas a privileged user. - OE / PM: Execute
DROP USER oe CASCADE;andDROP USER pm CASCADE;as a privileged user.
9. Specific Installation Commands and Steps
The following commands were executed and verified in Git Bash (Windows) on the local machine.
/d/...notation is Git Bash path syntax, equivalent toD:/....
9.1 Tool Preparation
# 1) Download and extract SQLcl (requires Java 11+)
curl -sSL -o sqlcl-latest.zip https://download.oracle.com/otn_software/java/sqldeveloper/sqlcl-latest.zip
unzip -q sqlcl-latest.zip -d /d/tools # Creates /d/tools/sqlcl
# 2) Download Instant Client Tools package (includes sqlldr.exe), extract into existing Basic directory
curl -sSL -o ic-tools.zip "https://download.oracle.com/otn_software/nt/instantclient/2326300/instantclient-tools-windows.x64-23.26.3.0.0.zip"
unzip -q ic-tools.zip -d "/d/Program Files/instantclient-basic-oracle-23.26.3.0.0/instantclient_23_26/"
# ZIP contains a nested instantclient_23_26/ subdirectory; move contents up one level into the Basic directory root
# 3) Create log directory
mkdir -p /d/db-sample-schemas/logs
9.2 HR / CO / SH (Supported Schemas, Interactive Prompts)
Scripts use ACCEPT to prompt for: password, tablespace, and overwrite confirmation. Pre-fill input via pipe:
Three lines of input = password / tablespace / overwrite confirmation (empty line = default YES).
# HR
cd /d/db-sample-schemas/human_resources
printf '88888888\nsample\n\n' | /d/tools/sqlcl/bin/sql -S "system/88888888@192.168.3.88:1521/ORCLPDB1" @hr_install.sql
# CO
cd /d/db-sample-schemas/customer_orders
printf '88888888\nsample\n\n' | /d/tools/sqlcl/bin/sql -S "system/88888888@192.168.3.88:1521/ORCLPDB1" @co_install.sql
# SH (officially requires SQLcl)
cd /d/db-sample-schemas/sales_history
printf '88888888\nsample\n\n' | /d/tools/sqlcl/bin/sql -S "system/88888888@192.168.3.88:1521/ORCLPDB1" @sh_install.sql
The validation sections at the end of each script (comparing provided vs. actual row counts) are printed in the output and written to \${schema}_install.log.
9.3 OE / PM (Archived Schemas, Parameterized)
Archived scripts use DEFINE &1..&9 to accept parameters (non-interactive). First replace __SUB__CWD__ placeholders in scripts and data files with the full repository path (official installation step, generates .bak backup):
cd /d/db-sample-schemas
perl -p -i.bak -e 's#__SUB__CWD__#D:/db-sample-schemas#g' *.sql */*.sql */*.dat
OE (includes OC sub-schema) — @oe_main.sql followed by 9 parameters:
cd /d/db-sample-schemas
printf 'exit\n' | /d/tools/sqlcl/bin/sql -S -L "system/88888888@192.168.3.88:1521/ORCLPDB1" \
@order_entry/oe_main.sql 88888888 sample TEMP 88888888 88888888 \
D:/db-sample-schemas D:/db-sample-schemas/logs/ v3 192.168.3.88:1521/ORCLPDB1
PM — @product_media/pm_main.sql followed by 9 parameters (ensure sqlldr is in PATH):
export PATH="/d/Program Files/instantclient-basic-oracle-23.26.3.0.0/instantclient_23_26:$PATH"
cd /d/db-sample-schemas
printf 'exit\n' | /d/tools/sqlcl/bin/sql -S -L "system/88888888@192.168.3.88:1521/ORCLPDB1" \
@product_media/pm_main.sql 88888888 sample TEMP 88888888 88888888 \
D:/db-sample-schemas/product_media/ D:/db-sample-schemas/logs/ \
D:/db-sample-schemas/product_media/ 192.168.3.88:1521/ORCLPDB1
Parameter Order Explanation (OE / PM consistent):
| # | Meaning | This Value |
|---|---|---|
| 1 | Target schema password | 88888888 |
| 2 | Default tablespace | sample |
| 3 | Temporary tablespace | TEMP |
| 4 | HR (used by OE) / OE (used by PM) password | 88888888 |
| 5 | SYS password | 88888888 |
| 6 | Data/control file directory | OE: D:/db-sample-schemas; PM: D:/db-sample-schemas/product_media/ (also sets MEDIA_DIR directory object in PM) |
| 7 | Log directory (must end with separator) | D:/db-sample-schemas/logs/ |
| 8 | OE: version v3 (corresponds to coe_v3/loe_v3/poe_v3 scripts; note not 3 as in README); PM: working directory (contains pm_p_lob.dat) |
OE: v3; PM: D:/db-sample-schemas/product_media/ |
| 9 | Connection string | 192.168.3.88:1521/ORCLPDB1 |
Note: Pure numeric passwords (
88888888) do not require quotes forCREATE USER ... IDENTIFIED BY ...;
CREATE DIRECTORYdoes not validate server-side path existence, so PM’sMEDIA_DIRpointing to local path succeeds.
9.4 Validation Check Commands
/d/tools/sqlcl/bin/sql -S -L "system/88888888@192.168.3.88:1521/ORCLPDB1" <<'EOF'
select 'HR.employees='||count(*) from hr.employees;
select 'CO.orders='||count(*) from co.orders;
select 'SH.sales='||count(*) from sh.sales;
select 'OE.customers='||count(*) from oe.customers;
select 'PM.print_media='||count(*) from pm.print_media;
exit
EOF
Complete per-table row count comparisons are detailed in Section 5 above.