10g/R1 時期,$ORACLE_HOME/demo/schema/mksample.sql 可一鍵建立 HR、OE、PM、IX、SH 五大示例 Schema。11g R2 起,**示例 Schema 獨立為單獨安裝包**,安裝媒體 demo/schema 目錄僅剩說明文檔,無實際腳本。
Oracle Technology Network (OTN) → Database → Enterprise Edition Downloads → Oracle Database 11g Release 2 Examples
linux.x64_11gR2_examples.zip (~500MB+)win64_11gR2_examples.ziprunInstaller (Linux/Unix) 或 setup.exe (Windows)ORACLE_HOME (必須與資料庫 Home 一致)$ORACLE_HOME/demo/schema/mksample.sql 建立所有 Schema注意:Examples 安裝包包含 JDBC、ODP.NET、Precompilers、Spatial、Multimedia 等所有範例,**不僅是 Schema 腳本**,安裝時間較長、佔用空間大。
URL: https://st-curriculum.oracle.com/obe/jdev/obe11jdev/11/common/files/sample_schema_scripts.zip
hr_cre.sql, hr_popul.sql, hr_main.sql 等各 Schema 獨立腳本# 1. 解壓
unzip sample_schema_scripts.zip
cd sample_schema_scripts
# 2. 以 SYSDBA 連線 (需建立表空間、用戶、權限)
sqlplus / as sysdba
SQL> @hr_main.sql
-- 腳本內部會:
-- @hr_cre.sql -- 建立表、索引、約束
-- @hr_popul.sql -- 插入示範資料
-- @hr_idx.sql -- 建立索引 (可選)
-- @hr_comnt.sql -- 加入註解
-- @hr_analz.sql -- 收集統計資訊
-- 3. 驗證
SQL> CONN hr/hr
SQL> SELECT COUNT(*) FROM employees; -- 107 筆
SQL> SELECT table_name FROM user_tables; -- 7 張表
@oe_main.sql -- Order Entry: 客戶、訂單、倉庫、產品 (含 XML/LOB)
@pm_main.sql -- Product Media: 多媒體、LOB、Text 索引
@ix_main.sql -- Information Exchange: AQ、串流、XML
@sh_main.sql -- Sales History: 星型結構、分區、MV、數據倉庫
| Schema | 全名 | 核心表 | 適用學習場景 |
|---|---|---|---|
| HR | Human Resources | EMPLOYEES, DEPARTMENTS, JOBS, LOCATIONS, COUNTRIES, REGIONS | 基礎 SQL、JOIN、子查詢、約束、視圖、序列、觸發器、PL/SQL 入門 |
| OE | Order Entry | CUSTOMERS, ORDERS, ORDER_ITEMS, PRODUCT_INFORMATION, WAREHOUSES | 進階 SQL、XMLType、LOB、AQ、應用上下文、VPD、細粒度審計 |
| PM | Product Media | PRINT_MEDIA, ONLINE_MEDIA | LOB 操作、Oracle Text、Intermedia、XML DB、多媒體應用 |
| IX | Information Exchange | STREAMS_*, AQ$_* | Streams 複製、AQ 佇列、XStream、GoldenGate 基礎 |
| SH | Sales History | SALES, PRODUCTS, CUSTOMERS, TIMES, CHANNELS, PROMOTIONS, COUNTRIES | 數據倉庫、星型查詢、分區表、物化視圖、並行查詢、OLAP |
| 問題 | 原因 | 解決 |
|---|---|---|
| hr_main.sql 執行報錯 "tablespace 'EXAMPLE' does not exist" | 腳本預設使用 EXAMPLE 表空間 | 1. 建立表空間:CREATE TABLESPACE EXAMPLE DATAFILE '...' SIZE 100M AUTOEXTEND ON;2. 或修改腳本中表空間名為現有表空間 (如 USERS) |
| 用戶 HR 已存在 | 之前安裝殘留 | DROP USER hr CASCADE; 後重裝 |
| PDB 環境下安裝 | 12c+ 多租戶需指定容器 | ALTER SESSION SET CONTAINER = PDB1; 再執行腳本 |
| 腳本編碼亂碼 | Windows 環境腳本為 ANSI 編碼 | 用 Notepad++ 轉 UTF-8 或設定 SQL*Plus SET ENCODING UTF8 |
oracle/db-sample-schemas 提供標準化腳本,支援容器化部署@?/rdbms/admin/utlsampl.sql 內建基礎 SCOTT Schema,完整示例仍用 Examples**需完整示例環境** → 下載官方 **Examples 安裝包** 執行圖形化安裝。**僅需核心 HR/OE 快速驗證** → 下載 **sample_schema_scripts.zip** 直接 @hr_main.sql。理解五大 Schema 設計意圖,能針對性選擇學習資源:HR 練基礎、OE 練進階/XML、SH 練數倉、PM 練多媒體、IX 練串流複制。