Linux下Oracle資料庫的安裝

来源:https://www.cnblogs.com/csyd/archive/2019/02/13/10370291.html
-Advertisement-
Play Games

記錄詳細過程以備使用 一、準備安裝 為了確保Oracle資料庫11g能夠成功安裝,您需要做好準備工作,例如檢查網路配置、更改Linux內核參數、創建用戶Oracle、創建安裝目錄、設置用戶Oracle的shell限制以及設置用戶根的環境變數。 檢查要安裝的分區 本主題描述如何在安裝Oracle資料庫 ...


記錄詳細過程以備使用

 

一、準備安裝

為了確保Oracle資料庫11g能夠成功安裝,您需要做好準備工作,例如檢查網路配置、更改Linux內核參數、創建用戶Oracle、創建安裝目錄、設置用戶Oracle的shell限制以及設置用戶根的環境變數。

檢查要安裝的分區

本主題描述如何在安裝Oracle資料庫之前檢查分區

過程

步驟1.作為root用戶登錄到伺服器。

步驟2.運行以下命令檢查分區。

# df –h

 

- - - - -結束

檢查網路配置

安裝Oracle資料庫時,需要伺服器的網路配置信息,例如伺服器的IP地址和主機名。因此,在安裝Oracle資料庫之前,請檢查伺服器的IP地址和主機名。

過程

步驟1.作為root用戶登錄到伺服器。

步驟2.檢查伺服器的主機名。在終端視窗中,運行以下命令:

# hostname

系統顯示伺服器的主機名。

如果希望保留主機名,請記錄主機名以備將來使用。l

步驟3.檢查伺服器的IP地址。

# ifconfig

 

- - - - -結束

更改Linux內核參數

為了確保Linux內核的參數滿足安裝要求,您需要更改Linux內核配置。

上下文

安裝Oracle資料庫11g對Linux內核參數的要求如下:

fs.file-max = 512*PROCESSES

kernel.shmall = 4194304

kernel.shmmax = 4294967296

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 262144

過程

步驟1.作為root用戶登錄到伺服器。

步驟2.打開/etc/sysctl.conf文件與vi編輯器。

# vi /etc/sysctl.conf

步驟3.使用向下箭頭鍵將游標移動到文件的末尾。按o,然後在文件末尾添加以下信息。

fs.file-max = 6553600

kernel.shmall = 4194304

kernel.shmmax = 4294967296

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 1024 65000

net.core.rmem_max = 4194304

net.core.rmem_default = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 262144

 

註:shmmax可按以下方式設置:

值範圍:

4GB - 1位元組

記憶體大小的一半

shmmax所需的最小值是0.5 GB。但是,Oracle建議您將shmmax的值設置為2.0 GB(即2147483648),以便優化Oracle資料庫的性能。

如果記憶體小於2.0GB,則將shmmax設置為記憶體大小的一半。

 

步驟4.按Esc,輸入:wq!,然後按Enter保存並關閉/etc/sysctlconf文件。的/etc/sysctl.conf文件是一個只讀文件,您需要使用:wq!命令保存文件。

步驟5.使更改的參數生效。

# /sbin/sysctl –p

步驟6.使系統訪問/etc/sysctl.啟動過程中的conf文件。

# /sbin/chkconfig boot.sysctl on

 

- - - - -結束

二、後續安裝的過程

更改內核參數後,轉到創建操作系統的用戶oracle。

創建操作系統的用戶oracle

在安裝Oracle資料庫11g之前,需要創建安裝和使用資料庫所需的用戶組和用戶。

上下文

如果系統從未安裝過Oracle軟體,則需要以下用戶組和用戶:

OSDBA組:dba

這個組標識具有資料庫管理特權(SYSDBA特權)的用戶帳戶。這個組的預設名稱是dba。

Oracle庫存組:oinstall

Oracle庫存組擁有操作所有Oracle軟體的許可權。通常,這個組稱為oinstall。

Oracle軟體所有者用戶:Oracle

該用戶擁有甲骨文軟體的全部權利。通常,用戶的名字是oracle。該用戶必須將Oracle Inventory組(oinstall)作為其主要組。它還必須將OSDBA組(dba)作為輔助組。

過程

步驟1.作為root用戶登錄到伺服器。

步驟2.檢查用戶oracle是否存在。

# id oracle

如果顯示以下信息,則表示用戶oracle存在,但未設置用戶oracle的輔助組。

uid=103(oracle) gid=103(oinstall) groups=103(oinstall),6(disk),104(dba)

將用戶oracle更改為主組oinstall和輔助組dba。

# usermod -g oinstall -G dba -d /opt/oracle -s /bin/sh oracle

 

請註意

-g oinstall表示將用戶oracle的主組設置為oinstall。

-G dba是指將用戶oracle的輔助組設置為dba。

-d /opt/oracle表示將用戶oracle的home路徑設置為/opt/oracle。

-s /bin/sh表示將用戶oracle的登錄shell設置為/bin/sh

 

如果顯示以下信息,則表示用戶oracle不存在。

id: oracle: No such user

創建用戶oracle。

# groupadd oinstall

# groupadd dba

# useradd -g oinstall -G dba -d /opt/oracle oracle

步驟3.設置用戶oracle的密碼。

# passwd oracle

顯示以下信息。輸入用戶oracle的密碼。

changing password for oracle.

New Password:

 

- - - - -結束

 

後續的過程

創建所需的用戶組和用於安裝和使用資料庫的用戶成功後,轉到創建用於安裝Oracle資料庫的目錄。

 

創建用於安裝Oracle資料庫的目錄

本主題描述如何創建用於安裝Oracle資料庫的目錄。

上下文

由於用戶oracle對用戶根創建的文件夾沒有寫許可權,安裝oracle資料庫11g所需的文件夾必須由用戶root創建。

如果安裝Oracle資料庫11g所需的文件夾不是由用戶Oracle創建的,則將完全控制許可權作為root用戶授予用戶Oracle。

過程

步驟1.作為root用戶登錄到伺服器。

步驟2.創建/opt/oracle目錄。

# mkdir /opt/oracle

請註意

可能存在/opt/oracle目錄。

步驟3.將/opt/oracle的所有者更改為用戶oracle和用戶組oinstall。

# chown oracle:oinstall /opt/oracle

步驟4.創建用於存儲安裝文件的/home/software目錄。

# mkdir -p /home/software/

步驟5.將/home/software的所有者更改為用戶oracle和用戶組oinstall。

# chown -R oracle:oinstall /home/software

步驟6.將/oradata的所有者更改為用戶oracle和用戶組oinstall。

# chown -R oracle:oinstall /oradata

 

- - - - -結束

 

後續的過程

以二進位方式將Oracle資料庫的安裝文件作為root用戶文件上傳到/home/software目錄。

註意:以二進位模式將文件傳輸到伺服器,否則文件可能被破壞。創建安裝Oracle資料庫11g的目錄後,轉到為用戶Oracle設置Shell限制。

 

為用戶oracle設置Shell限制

本主題描述如何為用戶oracle設置shell限制。

過程

步驟1.作為root用戶登錄到伺服器。

步驟2.編輯/etc/security/limits.conf文件。

1. 打開/etc/security/limits.conf文件與vi編輯器。

# vi /etc/security/limits.conf

2. 檢查文件中是否存在以下信息。

如果不存在,則使用向下箭頭鍵將游標移動到文件的末尾。按o,然後在文件末尾添加以下信息。

如果已經存在,請確保參數值滿足以下要求。

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

3.按Esc,回車:wq,回車保存文件,退出vi編輯器。

步驟3.編輯/etc/pam.d/login。

1.打開/etc/pam.d/login用vi編輯器登錄文件。

# vi /etc/pam.d/login

2.檢查文件中是否存在以下信息。

如果不存在,則使用向下箭頭鍵將游標移動到文件的末尾。按o,然後在文件末尾添加以下信息。

如果已經存在,什麼也不要做。

session required pam_limits.so

3.按Esc,回車:wq,回車保存文件,退出vi編輯器。

步驟4.編輯/etc/profile文件。

1.使用vi編輯器打開/etc/profile文件。

# vi /etc/profile

2.使用向下箭頭鍵將游標移動到文件的末尾。按o,然後在文件末尾添加以下信息。

if test $USER = "oracle"; then       

    if test $SHELL = "/bin/ksh"; then               

        ulimit -p 16384                

        ulimit -n 65536       

    else                

        ulimit -u 16384 -n 65536       

    fi

fi

3.按Esc,回車:wq,回車保存文件,退出vi編輯器。

 

- - - - -結束

後續的過程

在成功設置用戶oracle的shell限制之後,需要轉到設置用戶oracle的環境變數。

 

設置用戶oracle的環境變數

本主題描述如何設置用戶oracle的環境變數。

過程

步驟1.作為用戶oracle登錄到伺服器。

步驟2.確保用戶oracle的當前目錄為/opt/oracle。

> pwd

顯示的信息是當前目錄。

/opt/oracle

步驟3.編輯.profile文件。

1.使用vi編輯器打開用戶oracle的環境變數文件。

> vi .profile

2.檢查文件中是否存在以下信息。

如果不存在,按o,然後在文件末尾添加以下信息。

如果已經存在,請確保參數值滿足以下要求。

export ORACLE_SID=obd

export ORACLE_BASE=/opt/oracle/app/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/obd

export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

PATH=$PATH:/$ORACLE_HOME/bin:$HOME/bin:

export CLASSPATH PATH

3.按Esc,回車:wq,回車保存文件,退出vi編輯器。

步驟4使環境變數生效。

> source .profile

 

- - - - -結束

 

設置用戶oracle的環境變數成功後,所有的安裝準備工作就完成了。您可以開始安裝Oracle資料庫11g。

安裝Oracle資料庫

過程

步驟1.作為用戶oracle登錄到伺服器。

步驟2.上傳安裝文件。

步驟3. Go to the /home/software.

> cd /home/software/

步驟4.解壓縮Oracle資料庫11g的安裝包

> unzip linux.x64_11gR1_database.zip

步驟5.到目錄中存儲Oracle Database 11g的安裝文件

> cd database

步驟6.設置顯示器;否則系統無法顯示用於安裝的GUI。

如果您通過遠程工具執行安裝,請運行以下命令:

> export DISPLAY=10.110.1.101:0.0

請註意

10.110.1.101是您運行遠程工具的電腦的IP地址。

0:0是遠程工具使用的埠號。

如果在本地伺服器上安裝,則以用戶oracle的身份登錄到伺服器(不要使用su - oracle命令切換到用戶oracle),並運行以下命令設置本地伺服器的顯示:

> export DISPLAY=:0.0

> xhost +

步驟7.啟動Oracle資料庫11g安裝程式。

> ./runInstaller

 

 

不再上圖,可以網上查看具體細節。

 

 

後續的過程

為了確保Oracle資料庫實例可以連接到偵聽器,必須創建網路配置文件tnsnames.ora。

配置Oracle資料庫偵聽器。

過程

步驟1.作為用戶oracle登錄到伺服器。

步驟2.創建tnsnames.ora文件。

> cd /opt/oracle/app/oracle/product/11.1.0/obd/network/admin/

> vi tnsnames.ora

 

請註意:

/opt/oracle/app/oracle/product/11.1.0/obd是oracle資料庫11g的Home路徑。

 

步驟3.按o.將以下信息添加到tnsnames.ora文件。然後,將主機更改為伺服器的實際IP地址或主機名。

 

請註意:

格式必須如下;否則,Oracle資料庫無法正確解析內容。

第一行前面沒有添加空格。

必須在從第二行到最後一行的每一行前面添加空格。

等號(=)後必須加空格;否則,Oracle資料庫無法正確解析內容。

 

obd=   

  (DESCRIPTION =      

    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.18.31)(PORT = 1521))      

    (CONNECT_DATA =        

      (SERVER = DEDICATED)        

      (SERVICE_NAME = obd)      

    )   

 )

 

obd = 本地連接的字元串。它可以包含任何字元。通常,它與Oracle SID相同。

ADDRESS = 偵聽器的IP地址。

PROTOCOL =TCP 偵聽器中使用的協議。

HOST =192.168.18.31 伺服器的IP地址或主機名。

PORT = 1521 監聽埠號。

SERVER = 服務類型。

SERVICE_NAME = obd 在偵聽器中註冊的Oracle資料庫實例名。

 

步驟4.按Esc,輸入:wq,回車保存信息,退出vi編輯器。

請註意:

如果您輸入:q!在vi編輯器中按Enter鍵退出,文件將不會保存。

 

- - - - -結束

 

後續的過程

安裝Oracle資料庫時,只安裝資料庫軟體,不創建資料庫實例。在這種情況下,您需要在安裝之後創建一個資料庫實例。

創建Oracle資料庫實例

不要通過telnet創建Oracle資料庫實例;否則,在安裝過程中無法顯示GUI。

 

過程

步驟1.作為用戶oracle登錄到伺服器。

步驟2.啟動資料庫偵聽器。

> lsnrctl start

如果顯示以下信息,則表示資料庫偵聽器已啟動。

TNS-01106: Listener using listener name LISTENER has already been started

如果顯示以下信息,則表示資料庫偵聽器已成功啟動。

The command completed successfully

 

步驟3.設置顯示器;否則系統無法顯示用於安裝的GUI。

如果您通過遠程工具執行安裝,請運行以下命令:

> export DISPLAY=10.110.1.101:0.0

請註意

10.110.1.101是您運行遠程工具的電腦的IP地址。

0:0是遠程工具使用的埠號。

如果在本地伺服器上安裝,則以用戶oracle的身份登錄到伺服器(不要使用su - oracle命令切換到用戶oracle),並運行以下命令設置本地伺服器的顯示:

> export DISPLAY=:0.0

> xhost +

步驟4.啟動Oracle資料庫實例的配置程式。

> dbca

 

不再上圖,可以網上查看具體細節。

 

 

後續的過程

為了方便使用Oracle資料庫,建議從操作系統開始設置Oracle資料庫。

將Oracle資料庫設置為從操作系統開始。

步驟1.作為用戶oracle登錄到伺服器。

步驟2.打開/etc/oratab文件。

> vi /etc/oratab

步驟3.按i將文件設置為編輯模式。

步驟4.在obd中改變N:/opt/oracle/app/oracle/product/11.2.0/obd:N到Y

該語句位於文件末尾。

步驟5.按Esc,輸入:wq,回車保存信息,退出vi編輯器。

步驟6.切換到用戶根目錄。

> su – root

The Password: is displayed, enter the password for the user root.

步驟7.打開或創建after.local文件在/etc/rc.d目錄。

# vi /etc/rc.d/after.local

步驟8.按o鍵將文件設置為編輯模式。

步驟9.將以下信息添加到after.local文件後面的第一行。

su - oracle -c '$ORACLE_HOME/bin/lsnrctl start'

sleep 2s

su - oracle -c '$ORACLE_HOME/bin/dbstart'

 

步驟10.按Esc,輸入:wq,回車保存信息,退出vi編輯器。

步驟11.設置可執行許可權after.local文件。

# chmod +x /etc/rc.d/after.local

 

- - - - -結束


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一 Servlet的API的訪問 1 完全解耦和的方式 完全看不到request、response、session。 (1)創建jsp界面 (2)編寫action (3)struts_xml 運行效果圖 調用put方法相當於往request域中存數據註意:這種方式只能獲得像 request sess ...
  • asyncio之Coroutines,Tasks and Future Coroutines and Tasks屬於High-level APIs,也就是高級層的api。 本節概述用於協程和任務的高級非同步api。 Coroutines Coroutines翻譯過來意思是協程,使用async/awai ...
  • 1. eureka相關異常 1.1. 異常信息 1.2. 解決 1. 上述異常我在兩處地方遇到過,一是在集成txLCN分散式服務時,用到eureka註冊的時候,需要額外添加兩個配置類 否則也會報上述錯誤 2. 二是再junit的Test類中,用@SpringBootTest創建測試的時候,若是報上述 ...
  • 前邊我們提到了客戶端加域的操作方法,本章為大家補充域客戶端退域的操作過程,包含圖形化、netdom remove、Powershell三種方法,具體內容如下:圖形化退域方法:1.Win鍵,電腦右鍵屬性:2.系統界面在電腦名稱、域和工作組設置欄選擇"更改設置":3.在系統屬性界面,選擇"更改":4... ...
  • 解決windows憑據無法保存的問題1: 運行-gpedit.msc(組策略)-電腦配置-管理模板-系統-憑據分配 雙擊右側”允許分配保存的憑據用於僅NTLM伺服器身份驗證“ 在彈出的視窗中選中“已啟用“,單擊”顯示“,輸入鍵值”TERMSER/*“ 保存退出後,運行”gpupdate /forc ...
  • 目錄 1. 公鑰私鑰簡介 2. 使用密鑰進行ssh免密登錄 2.1. 實驗環境 2.2. 開始實驗 3. ssh的兩種登陸方式介紹 3.1. 口令驗證登錄 3.2. 密鑰驗證登錄 4. 總結 1、公私鑰簡介與原理 公鑰和私鑰都屬於非對稱加密演算法的一個實現,這個加密演算法的信息交換過程是: 1) 持有公 ...
  • Docker 常用命令 login/logout docker login [OPTIONS] [SERVER] 登錄到Docker鏡像倉庫,預設為Docker Hub。 docker logout [OPTIONS] [SERVER] 退出Docker鏡像倉庫。 OPTIONS 說明 u:登錄用戶 ...
  • Linux-通過inotifywait監控目錄及文件 inotifywait命令的使用此處就不寫了;可以參考文章:https://www.cnblogs.com/martinzhang/p/4126907.html inotifywait命令是工具包 inotify-tools 裡面的,可以直接通過 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...