在Linux下安裝配置Oracle11g R2

2022-02-03 20:00:56 字數 3434 閱讀 5269

最近在安裝linux下的oracle環境,折騰了很久,遇到了不少問題,最後終於搞定了,於是寫下此文,記錄安裝過程,以備後用。

1.linux環境配置準備

環境:linux:redhat enterprise 5.4,db:oracle 11g r2 x64,oracle安裝到/home/oralce_11目錄下。

配置過程如下:(大部分是網上的內容,個人也是按照網上步驟來的)

1)         檢查基本需求(對於牛逼的伺服器來說,這個肯定是滿足要求的,可以跳過)

記憶體大小

grep memtotal /proc/meminfo

交換分割槽大小

grep swaptotal /proc/meminfo

增加交換分割槽

建立/home/swap這麼乙個分割槽檔案。檔案的大小是5120000個block,一般情況下1個block為1k,所以這裡空間是5g。

dd if=/dev/zero of=/home/swap bs=1024 count=5120000

接著再把這個分割槽變成swap分割槽。

mkswap /home/swap

然後把它加到fstab裡面

echo "/home/swap swap swap defaults 0 0" >> /etc/fstab

2)         檢查軟體需求,沒有的yum install安裝

rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc- gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixodbc unixodbc-devel pdksh

【注意:如果是x64的系統,那麼這裡就要用 /lib64/security/pam_limits.so,不然系統可能會在伺服器上無法登入!】

13)接下來會出現圖形化的安裝嚮導,按照嚮導一步一步的操作,和windows下安裝oracle的嚮導一樣,沒有太大區別,直到最後安裝完成。

2.確認安裝成功

linux下的oracle在安裝結束後是處於執行狀態的。執行top –u oracle可以看到以oracle使用者執行的程序。在圖形化介面下,執行$oracle_home/sqldeveloper/sqldeveloper.sh可以出現oracle自帶的免費oracle管理客戶端sql developer。試著連線剛安裝的oracle,連線成功。

這時需要重啟伺服器,看伺服器重啟後,oracle是否可以正常啟動。以root使用者執行reboot命令可以重啟linux,重啟完成後,預設情況下oracle並不像windows中的oracle那樣註冊成服務,隨機器一起啟動的,所以需要手動敲入命令來啟動。啟動方式:以oracle使用者登入執行以下語句:

1,進入sqlplus:

sqlplus /nolog

2,以sysdba的身份連線到資料庫,並啟動oracle資料庫引擎:

sql> conn /as sysdba

sql> startup

3,退出sqlplus,執行listener

sql> exit

$ lsnrctl start

這樣資料庫的tns也啟動了,可以通過網路連線資料庫了。一般情況下就啟動這兩個就夠了,如果想用oracle提供的em來管理oracle的話還需要啟動em控制台,執行如下命令:

$ emctl start dbconsole

這樣就可以通過https://servername:1158/em/console來訪問em控制台了。

這裡我在實際操作中執行sqlplus出現了錯誤,大致如下:

sqlplus / as sysdba

網上也有很多人遇到了這個問題,原來是selinux在作怪,我採用的解決辦法是禁止掉selinux:

更改/etc/sysconfig/selinux 檔案的內容為 selinux=disabled,然後重啟伺服器。

好像這個辦法不是很好,也有說的解決辦法是使用chcon 命令

示例: chcon -t texrel_shlib_t /usr/local/rsi/idl_6.1/bin/bin.linux.x86/*.so

另外我在啟動listener時也報錯tns-12555: tns:permission denied

後來網上搜了下,發現是oracle使用者就無法進入/var/tmp/.oracle資料夾,方法很簡單,執行:chmod 777 /var/tmp/.oracle 之後就ok了.

還有,我在啟動em控制台的時候又遇到了錯誤:environment variable oracle_unqname not defined. please set oracle_unqname to database unique name.

emca -config dbcontrol db

根據嚮導重新配置一下就可以了。

3.配置oracle為開機自啟動

雖然說oracle作為伺服器不會經常關機,但是偶爾重啟一下,每次都要去手動啟動oracle還是太麻煩了,希望的是能夠像在windows中一樣,每次開機的時候自動啟動oracle,只需要將oracle配置為linux的服務就可以了。操作如下:

#!/bin/bash

# # chkconfig: 35 95 1

# description: init script to start/stop oracle database 11g, tns listener, em

# #

# # match these values to your environment:

export oracle_base oracle_home oracle_sid oracle_unqname path ld_library_path lang

# see how we are called:

case $1 in

start)

su - oraclesu - oracle<*)

echo "usage: $0 "

;; esac

2,以root使用者執行以下命令

chmod 755 /etc/rc.d/init.d/oracle11g

chkconfig --add oracle11g

3, 重啟服務

service oracle11g stop

service oracle11g start

這樣在開關機的時候oracle自動啟動和停止。

另外,還有說,需要修改/etc/oratab這個檔案,將最後的n改為y,如下:

最後,我們要測試一下這個自啟動是否真的有效,重啟一下伺服器吧,過幾分鐘後,可以看到客戶端可以正常連線到oracle了。oracle環境配置成功!

在linux下安裝配置rabbitMQ詳細教程

由於rabbitmq依賴erlang,所以需要先安裝erlang yum install epel release yum install erlang安裝 rabbitmq,刪除guest,增加新使用者 wget yum install rabbitmq server 3.6.6 1.el7.no...

在linux下安裝配置使用redis

目錄 安裝 3 進入解壓後的資料夾cd redis 2.6.17 4 編譯安裝make 執行 src redis server 配置 1.先進入redis目錄,將redis安裝到指定目錄 使用make prefix usr local redis install 命令 2.進入redis目錄複製re...

在linux下安裝配置rabbitMQ詳細教程

由於rabbitmq依賴erlang,所以需要先安裝erlang。erlang的安裝方式大概有兩種 從erlang solution安裝 推薦 新增erlang solutions源 wget sudo rpm uvh erlang solutions 1.0 1.noarch.rpm sudo y...