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

Windows 2000 手工安裝 Oracle 8.1.7 完整實錄:繞過 OUI Hang 之路

     編輯:關於SqlServer

背景與挑戰

  • 環境:Windows 2000 Professional + Oracle 8.1.7.0
  • setup.exe 無回應;改用 Oracle 9.2 OUI 安裝 8.1.7 進行到 99% Hang 於 make.dat0
  • 錯誤:Java.lang.LinkageError: loader constraints violated when linking ssclusterRegisterw32 class
  • 原因:JRE 版本衝突(OUI 9.2 內建 JRE 與 8.1.7 組件不兼容)
  • 決策:放棄 OUI,採用**手工建庫**流程

手工建庫標準流程

1. 建立目錄結構

E:\ORACLE\ORA81
├── database
├── network\ADMIN
├── oradata\SATEST
│   ├── system01.dbf
│   ├── rbs01.dbf
│   ├── temp01.dbf
│   └── users01.dbf
└── admin\SATEST
    ├── bdump
    ├── cdump
    ├── udump
    └── pfile

2. 準備參數檔 initsatest.ora

db_name = SATEST
db_block_size = 8192
control_files = (E:\ORACLE\ORA81\oradata\SATEST\control01.ctl,
                 E:\ORACLE\ORA81\oradata\SATEST\control02.ctl)
processes = 50
shared_pool_size = 10000000
db_files = 100
undo_management = MANUAL
rollback_segments = (RBS01)
background_dump_dest = E:\ORACLE\ORA81\admin\SATEST\bdump
user_dump_dest = E:\ORACLE\ORA81\admin\SATEST\udump
core_dump_dest = E:\ORACLE\ORA81\admin\SATEST\cdump

3. 建立密碼檔

orapwd file=E:\ORACLE\ORA81\database\PWDsatest.ora password=Oracle entries=5

4. 建立 Windows 服務

oradim -new -sid SATEST -startmode manual -pfile "E:\ORACLE\ORA81\database\initsatest.ora"

5. 配置 sqlnet.ora 啟用 OS 認證

SQLNET.AUTHENTICATION_SERVICES = (NTS)

建立本地群組 ORA_DBA,將當前使用者加入。

6. 啟動 NOMOUNT 並建立資料庫

C:\> set ORACLE_SID=SATEST
C:\> svrmgrl
SVRMGR> CONNECT INTERNAL/Oracle
SVRMGR> STARTUP NOMOUNT PFILE="E:\ORACLE\ORA81\database\initsatest.ora"
SVRMGR> CREATE DATABASE SATEST
  CONTROLFILE REUSE
  LOGFILE GROUP 1 ('E:\ORACLE\ORA81\oradata\SATEST\redo01.log') SIZE 50M,
          GROUP 2 ('E:\ORACLE\ORA81\oradata\SATEST\redo02.log') SIZE 50M
  DATAFILE 'E:\ORACLE\ORA81\oradata\SATEST\system01.dbf' SIZE 200M REUSE AUTOEXTEND ON MAXSIZE UNLIMITED
  SYSAUX DATAFILE 'E:\ORACLE\ORA81\oradata\SATEST\sysaux01.dbf' SIZE 100M REUSE
  UNDO TABLESPACE RBS DATAFILE 'E:\ORACLE\ORA81\oradata\SATEST\rbs01.dbf' SIZE 100M REUSE
  DEFAULT TEMPORARY TABLESPACE TEMP TEMPFILE 'E:\ORACLE\ORA81\oradata\SATEST\temp01.dbf' SIZE 50M REUSE
  DEFAULT TABLESPACE USERS DATAFILE 'E:\ORACLE\ORA81\oradata\SATEST\users01.dbf' SIZE 100M REUSE
  CHARACTER SET ZHS16GBK
  NATIONAL CHARACTER SET AL16UTF16;

7. 建立資料字典視圖

SVRMGR> @E:\ORACLE\ORA81\rdbms\admin\catalog.sql
SVRMGR> @E:\ORACLE\ORA81\rdbms\admin\catproc.sql
SVRMGR> CONNECT SYSTEM/MANAGER
SVRMGR> @E:\ORACLE\ORA81\sqlplus\admin\pupbld.sql

8. 驗證與後續

  • SELECT * FROM V$VERSION; 確認版本
  • 建立監聽器 listener.ora、tnsnames.ora
  • 設定自動啟動服務、備份排程

核心心得

  1. 手工建庫讓你真正理解每個檔案、參數、腳本的角色,比點擊 OUI 學到的更多
  2. OUI Hang 多為 JRE/顯示驅動/權限問題,**手工流程繞過所有圖形化依賴**
  3. 參數檔、密碼檔、目錄結構、字符集選擇——每一項都值得深思
  4. 現代版本(12c/19c/21c)同樣支援手工建庫,且可搭配 DBCA 靜默模式 (dbca -silent) 實現自動化

結語

這次「被迫手工」後來成為我 DBA 生涯最寶貴的基本功訓練。**當圖形化工具失效時,命令列才是真正的主宰。**

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved