1998 年 Oracle 發布 Linux 版標誌企業級資料庫正式支援開源作業系統。本文記錄 RedHat 上 Oracle 8.0.5 安裝、配置、Python/JDBC/PL/SQL 開發驗證全過程。
https://jordan.fortwayne.com/Oraclemkdir -p /u01/app/oracle/product/8.0.5/doc/server.805/installLBIN=/usr/local/bin、加入 LOG=/tmp/oracle-root.sh.logCLASSPATH:$ORACLE_HOME/jdbc/lib/classes111.zipjdbc:oracle:thin:@host:1521:SID 或 jdbc:oracle:thin:user/pass@host:1521:SIDDriverManager.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));
DCOracle 模組Setup-8.0.4 移除 Solaris 專用庫:-lsocket -lnsl -lgen -lelf -laio -lposix4>> 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。
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
Connection.proceduresCallableStatement| 維度 | Linux/UNIX | Windows NT |
|---|---|---|
| 進程模型 | 多進程,獨立記憶體空間,高可靠性 | 單進程多線程,共享記憶體,微小效能優勢 |
| 遠端管理 | 原生 SSH/Telnet,全功能遠端操作 | 需昂貴第三方工具或 Enterprise Manager |
| 檔案系統限制 | ext2 2GB 單檔(表空間多檔案繞過) | NTFS 4GB |