2013年11月25日 星期一

[研究] 甲骨文 Oracle Database 11g Release 2 (11.2.0.1.0) for Windows (x64) 與 SQL Developer 安裝研究

[研究] 甲骨文 Oracle Database 11g Release 2 (11.2.0.1.0) for Windows (x64) 與  SQL Developer 安裝研究

2013-11-25

Oracle Database Minimum Hardware Requirements
https://docs.oracle.com/en/database/oracle/oracle-database/12.2/ntdbi/oracle-database-minimum-hardware-requirements.html#GUID-7FD4CC66-D02C-4101-8A00-ADEB65AE2EFE

前言:

因為單位買了一套 Oracle Database 甲骨文資料庫系統,於是來了位工程師幫忙安裝,把兩個壓縮檔案
win64_11gR2_database_1of2.zip
win64_11gR2_database_1of2.zip
解壓縮到相同目錄,執行 setup.exe 就可以安裝,基本上並不困難。

( 其實前一天聯絡時,對方說需要半天時間,而且只有第一次安裝免費,以後換機器做第二、三、、次安裝,要另外收錢;服務有價是合理,但很難安裝嗎?於是筆者去註冊一個帳號,下載 Oracle Database 12c Release 1 安裝,並不困難,只是沒想到當天同事要對方安裝的是 Oracle Database 11g Release 2,但實際上也不難安裝)

接下來請對方測試建立了一個資料庫,結果出現錯誤;對方確認是否用固定IP後,再測試一次,也是相同;在 hosts 檔案中設定 IP (非 127.0.0.1 ) 和主機對應後,終於建立資料庫了。

再來測試執行 SQL Developer,但是無法啟動,而且怎樣修改和嘗試都無法成功,因為該機器無法連上 Internet 查詢資訊, SQL Developer 也不是最重要的,所以最後放棄不測。

回家抽空測試研究。

PS:有和工程師聊,建議安裝 12cR1 或 11gR2,對方建議後者,因為前者太新了。
11gR2 還有幾年壽命?應該還有5、6年以上。

如果不想看碰了甚麼釘子,發生甚麼狀況,可以直接跳到後面的結論。

***** 安裝 *****

安裝環境:Windows Server 2008 R2 Standard 繁體中文標準版

去官方網站註冊帳號,下載兩個檔案,解壓縮到同目錄,安裝

(下圖) 把「我希望透過 My Oracle Support 收到安全更新(W)」的打勾取消 (當場問過工程師,可以以後再設定)



(下圖) 筆者此處選第一個,但是後面會出錯。

(下圖) 因為安裝到 Windows Server 2008 R2上,從「桌面類別」改成選「伺服器類別」



(下圖) Oracle 基本目錄預設是 app\(使用者登入帳戶),如果你有 C: 和 D:,預設自動選 D:\app\(使用者登入帳戶),如果只有 C:,預設自動選 C:\app\(使用者登入帳戶),因為筆者用 administrator 登入,故預設目錄 C:\app\Administrator

「全域資料庫名稱」出現「orcl.168.128.137」,似乎是因為 IP 為 192.168.128.137 的關係

(下圖) 「資料庫版本」有 Enterprise Edition、Standard Edition、Standard Edition One、Personal Edition等4種可以選

(下圖) 密碼不能亂取,有一定要求






(下圖) 發生錯誤了

(下圖) 發生錯誤了

(下圖) 這裡還是說資料庫安裝成功。

當場好像沒注意是否也有那兩個錯誤畫面,或者該工程師和筆者安裝過程和選的不同,比較可疑的是下圖中若選第二個「僅安裝資料庫軟體」,或許就不會有那兩個錯誤畫面。(有空再測試)


(下圖) 開始功能表出現不少東西



***** 測試建立資料庫 *****

(下圖) 點選「資料庫組態輔助程式」




(下圖) 資料庫名稱取名 testdb1



(下圖) 為了省麻煩,所有帳戶皆使用相同管理密碼


(下圖) 這裡該工程師建議取消















(下圖) 失敗了,畫面訊息和之前安裝的相同

(下圖) 失敗了,畫面訊息和之前安裝的相同

(下圖) 資料庫占用約 1GB 空間

根據該工程師說法,資料庫其實有建立成功,但是 Enterprise Manager 相關部分建立失敗,所以無法用圖形介面去管理而已。

根據畫面訊息,該工程師去查了數個 log 檔案後,最後決定修改 hosts檔案。
( A log 看看後叫你去看 B log,看看後叫你去看 C log,.... )
(那個訊息看起來好像也和修改 hosts 檔案無關...)

***** 修改 hosts 檔案 *****

C:\Windows\system32\drivers\etc\hosts 必須要系統管理員才可以修改和存檔。






(下圖) 改完後依據之前步驟,另外建立 testdb2 資料庫 (不要和之前相同)

(下圖) 建立成功了

(下圖) 在「控制台」的「服務」中,對於某些服務,Oracle每個資料庫會各自擁有,例如 VSS Write Service、OracleJobScheduler、OracleService;有些服務,只有順利建立資料庫後才有,例如 OracleDBconsoletestdb2。(後來有再測試建立 testdb3,建立時候不勾選 Enterprise Manager,是不會有此服務)

(下圖) 比較 testdb1 和 testdb2 資料庫,幾乎都要 1GB,成功者略大一些。

PS:還好因為安裝的快,請對方工程師測試建立資料庫,不然要自己想辦法解決,或下次請
對方來,然後被收費。

***** 執行 SQL Developer *****



(下圖) 居然說找不到 SQLDEVELOPER.BAT

(下圖) 目錄中確實沒有,而且搜尋整個磁碟,也沒有SQLDEVELOPER.BAT存在

當天當場和該工程師,按下瀏覽按鈕後改指向 sqldeveloper.exe 或 sqldeveloperW.exe,或增加 JAVA_HOME 或再增加 CLASS_HOME,設定到 Oracle 自己安裝的 JAVA 目錄,多種測試都失敗,最後放棄。(筆者在該電腦沒有另外安裝 JAVA)




(下圖) 順道提一下,Oracle 11gR2 安裝的 JRE 是 1.5.0 版

(下圖) Oracle 11gR2 安裝的 JDK 是 1.5.0_17 版

JAVA 版本很老....。



***** 自己安裝 SQL Developer *****

下班回家後,查閱 Oracle 官方網站文件,沒看到問題解決方法。
http://www.oracle.com/pls/db112/portal.portal_db?selected=11&frame=#microsoft_windows_installation_guides

最後去 Google,才知 Oracle 11gR2 for Windows x64  版內提供的 SQL Developer 居然是 x86 版,必須另外去下載 SQL Developer x64 版來安裝才行。(天啊 ~ 幾年了,Google 還不少篇)



下載得到 sqldeveloper64-3.2.20.09.87-no-jre.zip

(下圖) 筆者把舊的從 sqldeveloper 改名 sqldeveloper.delete (或許還有參考價值)

(下圖) 把 sqldeveloper64-3.2.20.09.87-no-jre.zip 解壓

(下圖) 解壓出 sqldeveloper 目錄

(下圖) 拷貝到 C:\app\Administrator\product\11.2.0\dbhome_1目錄

(下圖) 裡面有 sqldeveloper.bat 目錄

因為  sqldeveloper64-3.2.20.09.87-no-jre.zip 名稱很明顯不含 JRE
且 Google 得到資訊說它至少要 JDK 1.6 以上,於是去 Oracle 官方網站
結果 Java 主要下載畫面不再提供 JDK 1.6 下載 (以前這個網頁同時提供 Java 6 和 Java 7 下載,後來 Oracle 停止開發 Java 6,網頁也不再提供下載)
http://www.oracle.com/technetwork/java/javase/downloads/index.html

那就下載安裝 JDK 7 Update 45 (64 bit) 吧



(下圖) 執行一下 SQL Developer

(下圖) 居然說不能超過 1.7,但 Java 6  (v1.6)網頁又不提供下載 ( Oracle 你在自相矛盾嗎?)


(下圖) 最後靠著 Google 大神幫忙,找到 Java 6 下載網頁

http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html

下載末代 Java 6 版本 JDK 6 Update 45 ( 64 bit ) 並安裝


(下圖) 但是另外新開一個「命令提示字元」,測試 JAVA版本,居然仍是 JDK 7,而非 JDK 6

PS:一定要另外新開一個「命令提示字元」測試,因為「命令提示字元」開啟時,某些環境狀態設定不會再改變,測試會不準確


不管它,執行 SQL Developer 測試,結果問題依然。

(下圖) 設定環境變數再測試



執行 SQL Developer 依然失敗,問題依舊,就算設定 C:\Program Files\Java\jdk1.6.0_45\bin 也是不行

(下圖) 改用 Configure Java 工具設定







執行 SQL Developer 依然失敗,問題依舊。

(下圖) 修改 sqldeveloper.conf


(下圖) 建議用 WordPad 開啟,因為用 記事本(Notepad) 會看到只有一行,WordPad 開啟看到是多行,編修存檔後,以後用 Notepad 看到就是多行。



執行 SQL Developer 依然失敗,問題依舊。



最後把 JAVA 7 移除,
C:\app\Administrator\product\11.2.0\dbhome_1\sqldeveloper\sqldeveloper\bin\sqldeveloper.conf 中設定 SetJavaHome "C:\Program Files\Java\jdk1.6.0_45"
( JAVA_HOME 不用設定)
SQL Developer 終於啟動成功,畫面如下:(只是依然有某些錯誤訊息)




(下圖) 修改路徑多加上 bin,情況依舊,SQL Developer 可以啟動,只是有某些錯誤訊息





***** 測試 SQL Link *****


(下圖) 測試連上順利建立的 testdb2 資料庫 ( 不連 testdb1 ),失敗

(下圖) 主機名稱從 localhost 改為 WIN2008R2,失敗

(下圖) 使用者名稱從 SYSDBA 改 SYSTEM,成功

(下圖) 連上資料庫 testdb2 了


***** 換個 IP 看看 *****

hosts 檔案把 IP 換為 192.168.128.138


(下圖) 連線會失敗


(下圖) 資料庫無法建立

也就是說 IP 不能隨便亂改。


附錄:修改電腦主機方法








安裝結論:

* IP 要設定為固定,hosts 檔案中主機名稱先設定,以後最好不要改,否則安裝後可能無法正常運作 ( 要更著變更那些地方,筆者沒有研究)
* 如果是安裝到 Windows x64 上,SQL Developer 和 JAVA 6 要自己另外下載安裝 (不支援 JAVA 7) (x86 版或許不需要這樣搞,但有待確認)
* 其他是否還有問題,不知道

也和工程師聊了一下其他
* CPU 建議 6 core/CPU,RAM 建議 24 GB,但以實際需求為準
* Oracle 商業版 (非 Express 免費版) 授權的 CPU 數量,是指 core 數,實體 1顆4核心CPU,要算4顆
* Oracle Express免費版只支援1顆CPU, 如果電腦有多顆 CPU 或多個 core,會自動計算效能,只使用相當於一個 core 的效能
http://docs.oracle.com/cd/B25329_01/doc/install.102/b25143/toc.htm#BEIIIEDG
但是 Standard / Enterprise、、、等商業付費版本,沒有這種能力,而是全部 CPU 和 core 都會盡量使用,所以電腦所有 CPU 共有幾個 core,要買足夠 License


其他筆者知道的 (不保證是目前最新的情況)

* Oracle 數年前發生過要求 CPU/core 超額使用的用戶,短時間補足授權費用的事情。列上幾篇,其他自己查

廠商狂追授權 企業群起控訴
文/iThome (記者) 2009-08-17
http://www.ithome.com.tw/itadm/article.php?c=56462&s=1

Oracle DB 企業 License追討, 非核心運算轉移到 MySQL/ PostgreSQL 的公司
2009-09-02
http://ithelp.ithome.com.tw/question/10026033?tag=rt.rq

Oracle 騙很大,用 Oracle 的資訊主管就該死嗎?
2009年8月18日星期二
http://juliusmin.blogspot.tw/2009/08/oracle-oracle.html

ORACLE JDE 授權的計算及費用有幾種方式?
2012-10-09
http://ithelp.ithome.com.tw/question/10098141?tag=rss.qu

* Oracle 每年要付維護費用,是購買價格 22% (是否會改不知,以官方最新公告為準),沒有買維護,無法下載更新 patch / hotfix,若有 bug 或 安全問題,後果自己負責
(Microsoft SQL Server 的 hotfix 和 service pack 免費,也從未收過費用)

* 維護停止後恢復,會追繳,例如今年和明年停止維護,後年恢復,要連今年和明天的維護費都要付 ( 所已聽說有客戶直接買新版算了)

* Oracle 資料庫官方定價 (Oct, 17, 2013)
http://www.oracle.com/us/corporate/pricing/technology-price-list-070617.pdf
(很複雜,很多功能要另外買,買 1 core 商業版最好有百萬左右預算)

那一套資料庫最好,沒有答案,各有優缺點,和適用場合。

(完)

相關文章

[研究] 甲骨文 Oracle Database 11g Release 2 (11.2.0.1.0) for Microsoft Windows (x64) 安裝研究
http://shaurong.blogspot.tw/2013/11/oracle-database-11gr2-for-windows-x64.html

[研究] Oracle Database Express Edition 11g Release 2 for Windows x32 一機安裝多套測試
http://shaurong.blogspot.tw/2012/10/oracle-database-xe-11g-r2-for-win-x32.html

[研究] Oracle Database Express Edition 11g Release 2 for Linux x64 一機安裝多套測試
http://shaurong.blogspot.tw/2012/10/oracle-database-express-edition-11g.html

[研究] Oracle 10g R2 Express安裝研究 (Fedora 10)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=16417

[研究] Oracle 10g R2 Express安裝測試 (CentOS 5.2)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=16384

[研究] Oracle 10g R2 Express安裝測試 (Ububtu 8.04.1)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=16385

[研究] Oracle 11g R1 Enterprise 安裝測試 (WinXP Pro)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=16387

[研究] Oracle 11g R1 Enterprise安裝研究(CentOS 5.2)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=16411

[研究] Oracle 11g R1 Enterprise安裝研究(Fedora 10)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=16421

[研究] Oracle 11g R1 Enterprise安裝研究(Ubuntu 8.04.1 LTS Desktop)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=16412

[研究] Oracle 11g R2 Express安裝測試 (WinXP Pro)
http://forum.icst.org.tw/phpbb/viewtopic.php?t=16386

25 則留言:

  1. 非常詳盡的安裝步驟,跟錯誤排除,您的文章造福了相當多的人,謝謝您無私地分享

    回覆刪除
  2. 十分感謝,圖文並茂,對新手幫助非常大 ^^b

    回覆刪除
  3. 作者已經移除這則留言。

    回覆刪除
  4. 你好 我現在正因為找不到bat檔 搞得一個頭兩個大 我現在進行到最後步驟 關於修改config file
    當我修改完要存檔時 他不讓我存 說我無法access 請問該如何解決呢?
    請盡快回答我 我非常緊急 感謝您了!!

    回覆刪除
  5. hi 我修改好權限後 就可以存檔了 但是我試圖打開SQL Developer時 他就快速出現一個DOS視窗 然後一下就關閉 然後什麼都沒有發生 想請問這是為什麼呢?? thanks

    回覆刪除
    回覆
    1. 請在 DOS 視窗 "命令提示字元" 中執行 SQL Developer 看看

      刪除
    2. hi 我成功在dos視窗下開啟 但接下他要求我提供java.exe的full path
      C:\app\JingTeng\product\11.2.0\dbhome_1\jdk\bin\java.exe 這是我給他的
      但是 我按下ok後 什麼都沒發生 就一直停在Browser path的畫面

      刪除
    3. 檢查 sqldeveloper.conf 檔案中 SetJavaHome 的路徑

      刪除
    4. hi 情況還是一樣 不知道您說的檢查路徑是什麼意思 這是我目前的設置
      SetJavaHome "C:\Program Files\Java\jdk1.6.0_45\bin"

      我也用cmd檢查了我目前的java版本
      顯示為1.6.0_45-b06 應該是沒有錯

      感覺就快要登進去了 但不知道為何會找不到java.exe

      刪除
    5. 在 cmd 模式下,輸入 dir c:\java.exe /s 看看你電腦安裝了幾套 java,路徑是甚麼

      刪除
    6. 除了 1.6.0_45-b06 版本,其他版本 JAVA 移除掉試看看

      刪除
  6. 只有1.60 另一個就是oracle 安裝時 附帶的1.5.0 我需要移除他嗎 該如何移除?

    回覆刪除
    回覆
    1. 1.5.0 不理會,把 jdk-6u45-windows-i586.exe 和 jdk-6u45-windows-x64.exe 都安裝試看看,另外,你把 sqldeveloper 在 "命令提示字元" 環境下的錯誤訊息 複製,貼給我看

      刪除
    2. command 底下沒有錯誤訊息 我一直進入到 sqldeveloper資料夾後 輸入 sqldeveloper啟動後 就跳出小視窗 要我Browser java.exe path 我試過不管是去C:\Program Files\Java\jdk1.6.0_45\bin底下的java.exe 還是 C:\app\JingTeng\product\11.2.0\dbhome_1\jdk\bin底下的 java.exe都沒有用
      我現在先安裝i585的java看看行不行 同時我需要移除掉原來的java嗎?

      刪除
    3. 另外 就是這跟我用的環境有關係嗎? 我的windows是灌在Mac的Parall裡

      刪除
    4. x86 和 x64 的 JAVA 是可以共存在 Windows x64 上的,就算是在 Windows x64 上,如果程式需要 x86 Java,而你只安裝 x64 Java,仍是不能跑的

      > 我的windows是灌在Mac的Parall裡
      應該無關

      你的 Oracle 和小弟相同版本 ? SQL Developer 和小弟同版本 ?

      刪除
    5. 這樣說好了
      我在Mac系統裡有SQL Developer V4.0.3
      然後我現在要在 Windows裡灌Oracle Database 11gR2
      我灌好後 在資料夾底下也自動安裝了SQL Developer 但我不知道他的功能跟我Mac裡的是不是一樣的東西

      刪除
    6. 我明白你意思了 我下載下來的SQL Developer版本是4.1.1 這是目前Oracle網站上提供下載的
      是不是一定要用你寫的那個版本 3.2.2才能去替換調原來的sql developer資料夾??

      刪除
    7. 你在 Mac 的 Parall 建立的 VM 中安裝 MS-Windows,在 MS-Windows 上安裝 Oracle,現在 MS-Windows 和 Mac 各有一套 SQL Developer ? 你現在是 MS-Windows 的 SQL Developer 不能動 ? 還是 Mac 的 SQL Developer 不能動 ?

      刪除
    8. MS-Windows的SQL Developer無法動 但是Mac裡的可以正常開啟

      刪除
  7. > 因為 sqldeveloper64-3.2.20.09.87-no-jre.zip 名稱很明顯不含 JRE
    > 且 Google 得到資訊說它至少要 JDK 1.6 以上
    我不知道您抓的 4.11 是否內含 JAVA ? 以及需要的 JAVA 版本 ? 還有您抓的是 JRE ? 還是 JDK ?
    3.x 到 4.x 是大改版,是否還有甚麼差異小弟沒研究

    回覆刪除
    回覆
    1. > 是不是一定要用你寫的那個版本 3.2.2才能去替換調原來的sql developer資料夾??
      不知道,要測試看看才知道;小弟一般寫分享文都會註明軟體使用的版本,因為版本不同,就不保證完全可行

      刪除
  8. Dear 浮雲遊子 我好像成功了 但好像方法有點詭異 大概步驟就是
    1. 安裝完11gR2的Oracle DB
    2. 安裝Java 8
    3. 下載SQL Developer最新版4.1.1
    4. 解壓縮 下載下來的檔案後 把整個SQL Developer的資料夾 搬到dbhome_1底下 並取代所有 現有的SQL Developer資料夾的檔案
    5. 在開始裡面的SQL Developer的捷徑要砍掉 重新把dbhome_1\SQL Developer裡面的exe檔建立捷徑 放進去 才能使用

    步驟大概就跟浮雲大大一樣 主要還是因為少了Batch file 非常感謝浮雲大!!
    趕緊去寫作業了.... T__T

    回覆刪除