首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Linux 上安裝 Oracle 8/8i 完整指南:從環境準備到 JDBC/PL/SQL 驗證

     編輯:Oracle 資料庫基礎

背景

1998 年 Oracle 發布 Linux 版標誌企業級資料庫正式支援開源作業系統。本文記錄 RedHat 上 Oracle 8.0.5 安裝、配置、Python/JDBC/PL/SQL 開發驗證全過程。

一、安裝捷徑與關鍵補丁

  • 參考 Tom Bisset 專頁:https://jordan.fortwayne.com/Oracle
  • 預建目錄避免安裝程式複製失敗:
    mkdir -p /u01/app/oracle/product/8.0.5/doc/server.805/install
  • 口令規範:安裝精靈不即時校驗,避免使用特殊字元(如點號)
  • root.sh 修正:LBIN=/usr/local/bin、加入 LOG=/tmp/oracle-root.sh.log

二、JDBC 開發環境建置

  1. 安裝 JDK(Blackdown 1.1.7 或 RedHat 內建)
  2. 設定 Oracle 用戶 CLASSPATH:$ORACLE_HOME/jdbc/lib/classes111.zip
  3. 安裝選元件勾選 JDBC Thin/OCI Driver
  4. 連線 URL 格式:
    jdbc:oracle:thin:@host:1521:SID 或 jdbc:oracle:thin:user/pass@host:1521:SID

JDBC 測試 Applet 關鍵片段

DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
Connection conn = DriverManager.getConnection(
    "jdbc:oracle:thin:@sforza:1521:ORCL", "scott", "tiger");
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT ENAME FROM EMP");
while (rs.next()) list.add(rs.getString(1));

三、Python/DCOracle 整合

  • 需 Digital Creations DCOracle 模組
  • RedHat 5.2/6.0 缺 Python headers,需自編譯或抓 Oliver Andrich RPM
  • 編譯 Setup-8.0.4 移除 Solaris 專用庫:-lsocket -lnsl -lgen -lelf -laio -lposix4

Python 互動驗證

>> import DCOracle
>>> dbc = DCOracle.Connect("scott/tiger@sforza")
>>> c = dbc.cursor()
>>> c.execute("SELECT * FROM emp WHERE deptno=10")
>>> c.fetchall()
[(7782, 'CLARK', 'MANAGER', 7839, dbiDate('1981-06-09'), 2450.0, None, 10), ...]

四、開發工作站最小化部署

無需完整安裝 Pro*C,僅複製三類檔案至本地 $ORACLE_HOME:

  • $ORACLE_HOME/lib/*
  • $ORACLE_HOME/rdbms/demo/*
  • $ORACLE_HOME/rdbms/lib/*

Java 另加 $ORACLE_HOME/jdbc/lib/* 至 CLASSPATH。

五、PL/SQL 存儲程序開發與呼叫

建立 Package

CREATE OR REPLACE PACKAGE stored_sample AS
  FUNCTION get_annual_salary(emp_number IN NUMBER) RETURN NUMBER;
END;
/
CREATE OR REPLACE PACKAGE BODY stored_sample AS
  FUNCTION get_annual_salary(emp_number IN NUMBER) RETURN NUMBER IS
    monthly_salary NUMBER;
  BEGIN
    SELECT sal INTO monthly_salary FROM emp WHERE empno = emp_number;
    RETURN monthly_salary * 24;
  END;
END;
/
-- sqlplus 執行
SQL> EXEC dbms_output.put_line(stored_sample.get_annual_salary(7782));
58800

多語言呼叫

  • Python/DCOracle:Connection.procedures
  • JDBC:CallableStatement

六、Linux 版 vs NT 版架構差異

七、推薦資源與工具

  • O'Reilly Oracle 系列(動物書)優於官方文檔
  • OWS Killer:Java Servlet 替代 OAS
  • Matt's House:存儲程序編輯、快速報表工具

結語

Linux 是 Oracle 絕佳平台,兼具穩定性、成本優勢與開放生態。掌握安裝細節、多語言介面、PL/SQL 核心功能,即可駕馭企業級應用開發與運維。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
維度Linux/UNIXWindows NT
進程模型多進程,獨立記憶體空間,高可靠性單進程多線程,共享記憶體,微小效能優勢
遠端管理原生 SSH/Telnet,全功能遠端操作需昂貴第三方工具或 Enterprise Manager
檔案系統限制ext2 2GB 單檔(表空間多檔案繞過)NTFS 4GB