Redhat6.8下安裝Oracle11gR2

来源:https://www.cnblogs.com/lvbinbin2yujie/archive/2019/03/09/10496837.html
-Advertisement-
Play Games

Step1.配置本地yum源,方便安裝依賴包 補充: df命令查看 linux系統磁碟空間以及使用情況,-h代表方便閱讀方式顯示 ;/dev/sr0為光碟機設備名 補充: 將光碟機掛在到 /mnt/cdrom下 補充:本地yum源,enabled為1代表啟用 Redhat修改了redhat.repo之後 ...


Step1.配置本地yum源,方便安裝依賴包

df -h

1

   補充: df命令查看 linux系統磁碟空間以及使用情況,-h代表方便閱讀方式顯示  ;/dev/sr0為光碟機設備名


mkdir cdrom
mount /dev/sr0 /mnt/cdrom

image

  補充: 將光碟機掛在到 /mnt/cdrom下


vim /etc/yum.repos.d/redhat.repo

image

補充:本地yum源,enabled為1代表啟用

 

Redhat修改了redhat.repo之後, 每次yum操作之後redhat.repo改動都沒了,只會保留註釋行,解決方法重命名自己的repo文件 或者 取消插件自動檢查:

下圖為該插件功能,每次都會檢測並提示沒有註冊到Redhat的yum源,

image

 

這時候回去看之前改動的redhat.repo文件,改動地方沒了已經,取消插件自動檢查方法(將enabled由0改為1即可,然後將redhat.repo文件內容重新寫一遍  或者一開始就將文件名隨便重新取一個):

vim /etc/yum/pluginconf.d/subscription-manager.conf

image


上面準備工作完成就可以準備安裝Oracle依賴了, 測試之前安裝是否成功可以通過以下簡單嘗試:

Root用戶下安裝lrzsz成功之後,rz可以彈出文件選擇框上傳文件 ;  或者yum  list 命令彈出一大可安裝,每行最後都有 Server的名字,就是我們之前配置的源名字[Server]

yum install -y lrzsz

 

Step2.Oracle安裝步驟準備

以下配置需要Root用戶執行

2.1 配置Oracle內核參數信息  補充說明:內核參數設置  Oracle安裝內核參數詳解

vi /etc/sysctl.conf

追加以下內容:

kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.file-max = 6815744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048586
fs.aio-max-nr = 1048576

執行命令使之生效

sysctl -p

 

2.2 配置Oracle 資源使用情況 補充說明:資源使用情況解釋 Oracle資源使用情況詳解

vi /etc/security/limits.conf

追加以下內容

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle hard stack 10240

2.3 配置Oracle 登陸設置  補充說明:Oracle登陸設置解釋

vi /etc/pam.d/login

追加以下內容 (說明:當前機器為64位 所以是lib64目錄下, 32位的機器目錄下 lib下 ,查看機器目錄方式有 getconf LONG_BIT)

session required /lib64/security/pam_limits.so
session required pam_limits.so


註意上面的目錄寫錯了會導致linux系統登陸出現問題,雖然沒遇到這樣的問題,但是貼上解決的博客,萬一遇到:解決Oracle安裝後linux登陸出現問題


2.4 同樣Root用戶下修改/etc/profile

vi /etc/profile

添加以下內容:

if [ $USER = "oracle" ]; then
 if [ $SHELL = "/bin/ksh" ]; then
  ulimit -p 16384
  ulimit -n 65536
 else
  ulimit -u 16384 -n 65536
 fi
fi

2.5 添加用戶 (補充說明:為什麼linux下安裝oracle需要創建用戶,以及用戶組呢?個人見解,先說創建Oracle用戶,不可能每次操作資料庫都用root用戶來登陸伺服器,所以肯定要有這樣一個用戶來管理資料庫,處於系統安全、數據完整考慮;第二點,用戶組個人認為兩個組才可以,OINSTALL以及DBA組,OINSTALL軟體安裝組,Oracle軟體的所有者,而DBA組安全性來說就比較重要了,DBA組用戶可以 conn / as sysdba方式通過操作系統認證進而登陸任意資料庫實例,後面會補充介紹;以上都是這四天從零完成測試環境Oracle安裝的發現,有不對之處歡迎討論)

groupadd  oinstall
groupadd  dba
useradd  -g  oinstall  -G  dba  oracle
passwd  oracle

之後輸入兩次密碼即可完成給oracle用戶設置密碼;  補充說明:useradd 的 –g代表 指定用戶所屬群組,-G 指定用戶所屬附加群組, 也就是說 -g是覆蓋式的 -G是增量式的 ;

比如useradd  -g  oinstall –g dba XXX  這樣XXX只屬於oinstall組


2.6 配置環境變數以及 設定好安裝目錄

  先規劃好打算安裝oracle的路徑,我將oracle安裝到 /data/app/oracle目錄,安裝時候記得查看 磁碟空間大小,不要安裝到一半沒有空間了;

mkdir  -p  /data/app/oracle
chown  -R   oracle:oinstall  /data/app/

補充說明:mkdir  -p 需要時創建上級目錄,  chown –R  遞歸將目錄擁有者給oinstall組的oracle用戶

 

設定ORACLE用戶環境變數,當然要切換用戶到ORACLE ,.bash_profile在ORACLE的家目錄下, ls –al可以查看到該文件

su  -  oracle
vi   .bash_profile

這裡可以提前設置環境變數:解釋下,ORACLE_SID代表你後面想要創建的資料庫實例名,這裡可以先寫上,文章後面會說有什麼用處; ORACLE_HOME代表你打算安裝ORACLE產品的目錄,這裡寫了後面就要按照這個來,可以先把目錄手動創建起來

export ORACLE_BASE=/data/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/dbhome_1
export ORACLE_SID=olcom114DB
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

修改完成.bash_profile文件,立即生效命令 ; 可以通過 echo  $環境變數名字 查看是否起作用了

 source   .bash_profile

2.7 上傳好Oracle安裝包並完成解壓

Oracle11gR2安裝包Oracle官網就需要登錄才能下載,因為公司內網不知道啥情況,點擊下載連接死活下不了,就去用積分下載,這裡吐槽下某些鏈接,寫的64位,裝到一半報錯什麼libxxso的,才發現是32位的壓縮包;

這裡Oracle64位的安裝包是linux.x64……..這樣的,而linux_11gR2這種是32位的,直接通過fxp工具上傳到伺服器某個目錄下,註意磁碟空間大小,2個文件加起來2G多;

image

解壓命令: unzip解壓就會解壓到database目錄下

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

 


2.8 依賴包的安裝

前面Step1配置過了本地yum源之後,現在安裝這些依賴包應該不存在問題,第一天安裝的時候完全不知道什麼命令查看哪些依賴,厚臉皮去請教一位資料庫工程師,前輩發來一段命令

 rpm -q --queryformat "%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n" \
binutils.x86_64 \
compat-libcap1.x86_64 \
compat-libstdc++-33.i686 \
compat-libstdc++-33.x86_64 \
gcc-c++.x86_64 \
glibc.i686 \
glibc.x86_64 \
glibc-devel.i686 \
glibc-devel.x86_64 \
ksh-*.x86_64 \
libaio.i686 \
libaio.x86_64 \
libaio-devel.i686 \
libaio-devel.x86_64 \
libX11.i686 \
libX11.x86_64 \
libXau.i686 \
libXau.x86_64 \
libXi.i686 \
libXi.x86_64 \
libXtst.i686 \
libXtst.x86_64 \
libgcc.i686 \
libgcc.x86_64 \
libstdc++.i686 \
libstdc++.x86_64 \
libstdc++-devel.i686 \
libstdc++-devel.x86_64 \
libxcb.i686 \
libxcb.x86_64 \
make.x86_64 \
net-tools.x86_64 \
smartmontools.x86_64 \
sysstat.x86_64 | grep "not installed\|未安裝"

查看下當前依賴: (補充下,有些依賴通過後面安裝,沒發現需要這樣依賴)

image

Root用戶下執行下麵的安裝命令:

yum install compat-libcap1

yum install compat-libstdc++-33*

yum install compat-libstdc++-33*.i686

yum install gcc*

yum install glibc-devel-*.i686

yum install libstdc++-devel*.i686

yum install libaio*.i686

yum install libaio-devel*

yum install unixODBC*

yum install unixODBC*.i686

yum install ksh

 

執行完之後,查看還有哪些依賴沒有安裝(這些依賴後面安裝 check dependencies時候沒發現需要,也就沒有繼續安裝)

image


Step3.圖形化界面安裝Oracle,因為習慣圖形化安裝,下麵的只介紹圖形化安裝,我是先安裝資料庫軟體 (因為伺服器需要VPN連接,VPN經常斷,沒辦法堅持到安裝資料庫軟體建庫一起完成),然後dbca建庫,netca建立監聽,dbca\netca圖形以及靜默安裝方式都有;

3.1 安裝資料庫軟體(圖形化界面)

   圖形化安裝工具使用的是Xshell,以Oracle用戶登陸XShell工具,進入到上面2.7的解壓目錄database

 ./runInstaller

image

一切正常的話就會彈出來Oracle安裝界面,也會出現檢查不通過,臨時空間、交換空間不足,這兩個我沒有遇到就自行解決啦;

安裝過程第一個問題就出現了:

image

解決方案: 

vi /etc/hosts

image

修改添加當前主機名,主機名通過  hostname 命令查看,由於localhost.localdomain我覺得沒啥用途,就全刪掉改成主機名了

image

再次啟動安裝命令 ./runInstaller 不警告,通過;

簡單通過 LICECap 將之前安裝過程中圖片做成動畫形式,簡單記錄下安裝說明:

1. 將安全更新的√取消 ;

2. 這裡暫時只安裝資料庫軟體,不創建實例(伺服器VPN不穩定,資料庫實例創建時間稍長,所以只安裝資料庫軟體);

3.選擇單實例資料庫;

4. 語言只選擇了英語;

5. 這裡安裝的是企業版 ;

6. ORACLE_BASE、ORACLE_HOME 在前面2.6環境變數寫好了,這裡指定ORACLE_BASE為 /data/app/oracle 以及 ORACLE_HOME為/data/app/oracle/product/dbhome_1 ;

7. Inventory目錄為清單目錄,這最好不要在ORACLE_BASE目錄下,安裝過程中的日誌都在清單目錄裡面,下麵還指定了ORACLE清單組,oinstall就可以了; 

8. 指定DBA組為之前添加的dba組,OSOPER組為之前的oinstall組就可以;

9.依賴檢查,這裡如果按照之前yum全部安裝了,仍然會包缺少依賴,咨詢過相關DBA說最好依賴版本相同,但是安裝時候gcc版本安裝時候 gcc如果不小心安裝就會導致系統宕機、崩潰等各種問題;

如果確認之前2.8步驟的yum  install都執行成功,那點擊右上角的Ignore All再點擊下一步;(沒執行2.9的yum install可能會出現一種情況,生成的bin目錄裡面lsnrctl可能為空,我第一次安裝就有這樣的問題)

10.安裝產品步驟時,快完成時候會跳出來提示框,Root用戶下執行兩個腳本即可,截圖也在下麵有;

11.回到安裝界面,點擊OK,至此Oracle軟體安裝完成。

1


Step4.Oracle用戶  圖形化 dbca建庫、netca建立監聽

環境變數如果之前設置正確,xshell工具 Oracle用戶登錄後 輸入  dbca ,會彈出如下界面進行建庫操作:

Create a database  創建資料庫 ; 資料庫實例名SID 設置,和前面環境變數里的ORACLE_SID一致 (這裡有篇文章介紹 環境變數ORACLE_SID的作用 關於環境變數ORACLE_SID簡單談下); 後面有很多具體配置,

Enterprise Manger (企業管理,就會有個類似控制台的東西),SGA、PGA等等,具體自行百度設置;  這裡有個不太明白的地方: 前面會先設置一遍 All account的密碼,後面建庫完畢彈出來的Password Management打開發現密碼都是空的, 這裡重新設置一遍Sys用戶和Sysadmin等用戶,點擊OK,這樣就建庫完畢 ( 點擊OK之前再開打密碼管理器,發現還是空白, 但是後面登陸時候密碼確實是設置上的,這塊希望有人知道能評論告訴我,)

 4


環境變數設置正確的話,xshell工具 Oracle用戶登錄後 輸入  netcat ,會彈出如下界面進行建庫操作:

建立監聽的目的是讓其他機器可通過PLSQL等工具連接上本機的資料庫實例, 具體監聽這裡有篇資料mark Oracle 監聽器 Listener

5

查看監聽器是否啟動可以通過如下兩種方式:

netstat -tnlp |grep 1521

image

或者

lsnrctl status

image


Step5.到這裡建庫,監聽建立都完畢可以測試下,按照以上安裝步驟都是沒有問題的,本機安裝了兩次,伺服器也裝了一次,有什麼問題後續會補充;

本機測試連接(後面會有介紹 本機Oracle用戶登錄SYS用戶哪怕不要密碼 密碼錯誤都可以登陸):

sqlplus  /nolog
conn / as sysdba
select * from v$instance;

 image

可能登陸會有 connected to an idle instance ,啟動下資料庫實例 startup 即可

image

外部機器測試連接(通過PLSQL測試連接)  資料庫訪問這麼寫:192.168.88.114:1521/olcom114DB , 記得Oracle所在機器開放監聽埠;

image

image


 

Step6. 圖形化安裝過程中遇到的幾個錯誤 以及解決方案

問題一. 安裝Oracle軟體過程指定清單目錄時候,報錯 Unable to create a new central  Inventory at the specified location.

   問題說明:安裝的時候沒註意到清單所在目錄/data/oracle/oraInventory下麵有其他文件,解決方案把該文件夾下麵文件清掉或者換個文件夾; 

另外,該目錄最好不要在ORACLE_BASE目錄下

image

 


問題二. 安裝Oracle軟體檢查依賴時候,交換空間不足

 

/root目錄下(目錄隨意)
dd if=/dev/zero of=swapfree  bs=32k  count=65515
mkswap  swapfree
swapon  swapfree
free  
/etc/fstab編輯開啟自啟動交換分區
/root/swapfree  swap  swap  defaults 0 0

之後Check Again就可以通過了

image


問題三.Oracle dbca建庫過程中 Tns could not resolve the connect identifier specified

說明DBCA建庫為啥會報這種錯,一般我以為只有PLSQL連接時候才報錯, 這種錯誤我這裡出現情況是設置資料庫用戶密碼中包含了@ 符號,把密碼稍微改動下 去掉 @ 試試

image


Step7.靜默方式dbca  netca建庫

至於為什麼採用dbca 靜默方式建庫呢? 因為伺服器需要用VPN連接不太穩定, 好幾次建庫等進度條的時候VPN斷了,嘗試了多次VPN死心時候,採用靜默dbca建庫;

dbca命令在安裝完Oracle軟體之後就可以使用,配置文件 dbca.rsp到 database/responseFile/dbca.rsp複製過來就可以

[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"

OPERATION_TYPE = "createDatabase"

[CREATEDATABASE]
GDBNAME = "olcom114DB"

SID = "olcom114DB"

TEMPLATENAME = "General_Purpose.dbc"

SYSPASSWORD = "你的SYS用戶密碼"

SYSTEMPASSWORD = "你的SYSTEM用戶密碼"

DATAFILEDESTINATION = /data/app/oracle/oradata/

CHARACTERSET = "ZHS16GBK"

NATIONALCHARACTERSET= "UTF8"

TOTALMEMORY = "2048"

這是最基礎的配置,全局資料庫名、實例名、字元集、數據文件存儲位置等

 

Oracle用戶下執行命令,執行成功就可以在伺服器上使用SQLPLUS連接Oracle

dbca  -silent  -responseFile  /data/oracle/dbca.rsp

image


netca建立監聽才可以通過其他機器的PLSQL連接本機的ORACLE資料庫

netca  /silent  /responseFile    /data/database/responseFile/netca.rsp

image


Step8.好了 文章感覺第一次寫這麼長的,謝謝你這麼好看,還看完這篇,希望能幫到你們,也希望懂的大兄弟告訴下我,之前那塊密碼安裝時候沒顯示的問題。點我回到問題的地方

 


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

-Advertisement-
Play Games
更多相關文章
  • 一、RAID 1、常見RAID (RAID 0、RAID1、RAID5、RAID10) 2、RAID 10 陣列添加 2.1、添加硬碟 2.2、查看系統載入 2.3、mdadm 命令添加RAID陣列 2.4、查看RAID初始化狀態 2.5、格式化RAID 磁碟 2.6、掛在並寫入配置文件 2.7 重 ...
  • 目錄 1. 公鑰私鑰簡介 2. 使用密鑰進行ssh免密登錄 2.1. 實驗環境 2.2. 開始實驗 3. ssh的兩種登陸方式介紹 3.1. 口令驗證登錄 3.2. 密鑰驗證登錄 4. 總結 1、公私鑰簡介與原理 公鑰和私鑰都屬於非對稱加密演算法的一個實現,這個加密演算法的信息交換過程是: 1) 持有公 ...
  • 前言 1. 格式: command [-options] [parameter] 2. 註意:區分大小寫 3. Ctrl + C: 終止當前操作(Tip:若想刪除當前命令行的命令,但內容過多,用Backspace刪除鍵十分麻煩,可用 Ctrl + C 直接彈出新的命令行) 4. 幫助: comman ...
  • 1.用wget下載python源碼 "PYTHON下載" 找適合自己的版本,我下載的是3.7.2 2.用tar命令解壓下載的文件 3.進入目錄解壓後的目錄,創建Makefile文件,執行configure命令,生成Makefile文件 因為我下載的是centos minimal版本,安裝時出現如下錯 ...
  • 是不是經常會遇到需要觀察某個內容,為了持續觀察而反覆執行某個命令?也許你可以寫一個簡單的腳本幫你反覆執行,但是有更簡單方便的方法為什麼不用呢? ...
  • ...
  • 一、HBase表的基本結構 1.概述: 平時常見的MySQL、Oracle資料庫都是傳統型關係資料庫,它們都是按行查詢、按行存儲;而HBase為非關係型資料庫,它是按列存儲的的。 在HBase插入數據時,先輸入數據的格式為rowkey => info => column => value rowke ...
  • SqlServer中: 目標表存在: INSERT INTO 目標表 SELECT * FROM 原表; 目標表不存在:SELECT * INTO 目標表 FROM 原表; Oracle中: 目標表存在:INSERT INTO 目標表 SELECT * FROM 原表; 目標表不存在:CREATE ...
一周排行
    -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.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...