1. 程式人生 > 其它 >centos7.9 安裝oracle11g

centos7.9 安裝oracle11g

安裝環境:

作業系統:CentOS Linux release 7.9.2009 (Core)
orcle安裝包:linux.x64_11gR2_database_1of2.zip、 linux.x64_11gR2_database_2of2.zip

個人感覺安裝難度主要是包的依賴,以及出現問題後的查詢和解決。

官網安裝教程:https://www.oracle.com/linux/technologies/ginnydbinstallonlinux/
注:個人感覺不好用哈哈


一、關閉ELINUX
1.用root使用者登入

2.cd /etc/selinux

3.vi config

4.SELINUX=disabled 原本是:SELINUX=enforcing



5.:wq!

6.reboot


配置網路
vi /etc/hosts
192.168.1.100 oracleservice


二、安裝映象檔案
將需要安裝的版本 將需要安裝的版本 enable =1 ,所以要修改一下 .repo檔案

[root@oracle ~]# mkdir /mnt/cdrom

[root@oracle ~]# sudo mount -o loop CentOS-7-x86_64-Everything-2009.iso /mnt/cdrom

注:如果前有掛載取消掛載可能會報錯
root@# umount /mnt/cdrom
umount: /mnt/cdrom: device is busy

查詢相關的程序
root@# fuser -m /mnt/cdrom/

/mnt/cdrom/: 24066c

直接kill -9 24066 之後在取消掛載就成功了


三、開始安裝oracle依賴度的包
cd /mnt/cdrom/Packages

rpm -Uvh --nodeps binutils*
rpm -Uvh --nodeps compat-libstdc++-33*
rpm -Uvh --nodeps compat-libstdc++-33.i686*
rpm -Uvh --nodeps gcc*
rpm -Uvh --nodeps gcc-c++*
rpm -Uvh --nodeps glibc*
rpm -Uvh --nodeps glibc.i686*
rpm -Uvh --nodeps glibc-devel*

rpm -Uvh --nodeps glibc-devel.i686*
rpm -Uvh --nodeps ksh*
rpm -Uvh --nodeps libgcc*
rpm -Uvh --nodeps libgcc.i686*
rpm -Uvh --nodeps libstdc++*
rpm -Uvh --nodeps libstdc++.i686*
rpm -Uvh --nodeps libstdc++-devel*
rpm -Uvh --nodeps libstdc++-devel.i686*
rpm -Uvh --nodeps libaio*
rpm -Uvh --nodeps libaio.i686*
rpm -Uvh --nodeps libaio-devel*
rpm -Uvh --nodeps libaio-devel.i686*
rpm -Uvh --nodeps libXext*
rpm -Uvh --nodeps libXext.i686*
rpm -Uvh --nodeps libXtst*
rpm -Uvh --nodeps libXtst.i686*
rpm -Uvh --nodeps libX11*
rpm -Uvh --nodeps libX11.i686*
rpm -Uvh --nodeps libXau*
rpm -Uvh --nodeps libXau.i686*
rpm -Uvh --nodeps libxcb*
rpm -Uvh --nodeps libxcb.i686*
rpm -Uvh --nodeps libXi*
rpm -Uvh --nodeps libXi.i686*
rpm -Uvh --nodeps make*
rpm -Uvh --nodeps sysstat*
rpm -Uvh --nodeps unixODBC*
rpm -Uvh --nodeps unixODBC-devel*
rpm -Uvh --nodeps zlib-devel*
rpm -Uvh --nodeps elfutils-libelf-devel*

注:這些包的名稱,不同版本的映象檔名稱可能有差異
例如:我的的映象檔案是安裝包的名稱是如下
[root@minio2 Packages]# ls |grep glibc-devel
glibc-devel-2.17-317.el7.i686.rpm
glibc-devel-2.17-317.el7.x86_64.rpm

其他的映象檔案可能名稱是glibc-devel.i686* 會有差別根據自己的實際情況改改包名就行。



四、新增使用者和使用者組
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle
注:密碼也是oracle

五、建立安裝目錄
#sysctl -p
sysctl -a

mkdir -p /u01/app/oracle
mkdir /u01/app/oraInventory
chown -R oracle:oinstall /u01/app/
chmod -R 770 /u01/app/*

六、修改配置檔案

vi /etc/security/limits.conf

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


[root@oracle ~]# vim /etc/pam.d/login
session required /lib/security/pam_limits.so


vi /etc/sysctl.conf
kernel.sem = 250 32000 100
fs.file-max = 6815744
fs.aio-max-nr = 1048576
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 = 1048576



#su - oracle
$vi .bash_profile

TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR

ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=orcl
ORACLE_HOSTNAME=ol7.localdomain
ORACLE_UNQNAME=DB11G
ORACLE_TERM=xterm
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;

PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin
export NLS_LANG=American_america.ZHS16GBK
export PATH ORACLE_BASE ORACLE_HOME ORACLE_SID ORACLE_HOSTNAME ORACLE_UNQNAME ORACLE_TERM CLASSPATH
export LANG=C




七、將安裝包 上傳到 /home/oracle 路徑
unzip linux.x64_11gR2_database_1of2.zip #解壓檔案1
unzip linux.x64_11gR2_database_2of2.zip #解壓檔案2

八、oracle使用者進入圖形化介面開始安裝

[oracle@minio2 database]$ pwd
/home/oracle/database
[oracle@minio2 database]$./runInstaller

九、安裝oracle軟體 進入影象介面


如下路徑會根據之前設定的環境變數自動填寫

這裡出現了缺包的現象(前面的引數問題可以忽略不用管),使用rpm語句查一下是否安裝,如果已經安裝就不用管了直接下一步。

語句樣例:rpm --all --query glibc-devel

這裡報錯了,最討厭的地方

執行如下語句看看是不是有沒有安裝的包

[root@minio2 Packages]# rpm --all --query --queryformat "%{NAME}-%{VERSION}-%{RELEASE}-(%{ARCH})\n" | grep glibc

如果發現有則查詢相應的包安裝,都安裝後直接點選continue。

如下樣例:

root@minio2 Packages]# ls |grep glibc-devel

glibc-devel-2.17-317.el7.i686.rpm

glibc-devel-2.17-317.el7.x86_64.rpm

[root@minio2 Packages]# rpm -Uvh --nodeps glibc-devel-2.17-317.el7.i686.rpm

Preparing... ################################# [100%]

package glibc-devel-2.17-324.el7_9.x86_64 (which is newer than glibc-devel-2.17-317.el7.i686) is already installed

這一個有兩個需要root使用者執行的指令碼,執行一下即可

看到這一步oralce的軟體安裝終於結束。

十、建立資料庫
dbca正常會進入圖形介面,如果報如下錯,一般是環境變數沒有生效
[oracle@ocprsl ~]$ dbca
-bash: dbca: command not found

[oracle@ocprsl ~]$ source .bash_profile
[oracle@ocprsl ~]$ dbca

安裝完成後還需要建立資料庫,還是同樣在Oracle使用者桌面環境下,重新開啟一個終端,輸入dbca命令即可彈出相應的資料庫建立嚮導。


dbca正常會進入圖形介面,如果報如下錯,一般是環境變數沒有生效
[oracle@ocprsl ~]$ dbca
-bash: dbca: command not found

[oracle@ocprsl ~]$ source .bash_profile
[oracle@ocprsl ~]$ dbca

這一步的密碼要記好,我們使用密碼統一,沒有分開建立不同使用者的密碼

這裡不指定快速恢復和歸檔

這裡要進入漫長的等待。

看到這介面恭喜你安裝完成,這時oracle服務是啟動的,切換到oracle使用者啟動監聽

[oracle@minio2 ~]$ lsnrctl start

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 13-SEP-2021 18:12:01

Copyright (c) 1991, 2009, Oracle. All rights reserved.

Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))

STATUS of the LISTENER

------------------------

Alias LISTENER

Version TNSLSNR for Linux: Version 11.2.0.1.0 - Production

Start Date 13-SEP-2021 18:11:57

Uptime 0 days 0 hr. 0 min. 4 sec

Trace Level off

Security ON: Local OS Authentication

SNMP OFF

Listener Log File /u01/app/oracle/diag/tnslsnr/minio2/listener/alert/log.xml

Listening Endpoints Summary...

(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=docker-worker108)(PORT=1521)))

Services Summary...

Service "orcl" has 1 instance(s).

Instance "orcl", status READY, has 1 handler(s) for this service...

Service "orclXDB" has 1 instance(s).

Instance "orcl", status READY, has 1 handler(s) for this service...

The command completed successfully

到這一步就可用用客戶端的工具連線oracle的服務了



十一、如果之前安裝過失敗了重新安裝
執行如下語句即可
rm -rf /u01/app/oracle
rm -rf /u01/app/oraInventory

rm -rf /tmp/.oracle
rm -rf /var/tmp/.oracle
rm -rf /etc/init/oracle-ohasd.conf
rm -rf /etc/init.d/ohasd
rm -rf /etc/init.d/init.ohasd
rm -rf /etc/oraInst.loc
rm -rf /etc/oratab
rm -rf /etc/oracle