CentOS下Oracle数据库的安装

常用命令:

重启Oracle数据库的操作步骤
0.进入Oracle用户:su - oracle
1.查看监听器状态:lsnrctl status
2.停止监听器:lsnrctl stop
3.连接数据库:sqlplus sys/Fyy19940722 as sysdba
4.停止数据库:shutdown immediate

5.启动数据库:startup
6.退出数据库:exit
7.启动监听:lsnrctl start

参考文章:https://zhuanlan.zhihu.com/p/111710672

参考文章:https://www.cnblogs.com/zhangzhixi/p/17595686.html

参考文章:https://blog.csdn.net/huangbaokang/article/details/83857026

本文还额外提供了安装以及最后的一些数据库自启动配置操作。

Oracle软件包地址:https://pan.baidu.com/s/1rQFXCsL44Nl-cXaLWVY9jQ?pwd=d8ns

前置工具安装(安装过可以忽略):

yum -y install vim
yum -y install unzip
yum -y install lrzsz
yum -y update

操作系统:

[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core)

回到顶部

一、安装Oracle11GR2所需要的依赖包

 一键安装命令:

yum -y install gcc gcc-c++ make binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel kernel-headers pcre-devel readline rlwrap 

一个一个进行安装:

yum -y install gcc

yum -y install gcc-c++

yum -y install make

yum -y install binutils

yum -y install compat-libstdc++-33

yum -y install elfutils-libelf

yum -y install elfutils-libelf-devel

yum -y install elfutils-libelf-devel-static

yum -y install glibc

yum -y install glibc-common

yum -y install glibc-devel

yum -y install ksh

yum -y install libaio

yum -y install libaio-devel

yum -y install libgcc

yum -y install libstdc++

yum -y install libstdc++-devel

yum -y install sysstat

yum -y install unixODBC

yum -y install unixODBC-devel

yum -y install kernel-headers

yum -y install ksh

yum -y install pcre-devel

 yum -y install readline*

yum -y install rlwrap

回到顶部

二、创建用户组及文件夹

创建用户组:groupadd oinstall

创建用户组:groupadd dba

创建用户并添加到用户组:useradd -g oinstall -G dba oracle

设置oracle用户密码:echo “Fyy19940722” | passwd –stdin oracle

创建安装目录及权限:

mkdir -p /data/robert/app/oracle/product/11.2.0/dbhome_1
mkdir /data/robert/app/oracle/{oradata,inventory,fast_recovery_area}
chown -R oracle:oinstall /data/robert/app/oracle
chmod -R 775 /data/robert/app/oracle

回到顶部

三、静默安装Oracle11GR2数据库

上传数据库文件到:/data/robert/software下

mkdir -p /data/robert/software

解压:

cd /data/robert/software
unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

1、修改内核配置文件

vim /etc/sysctl.conf

在尾部添加下面配置:

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1073741824
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 = 1048576

使配置文件生效:sysctl -p

2、修改用户限制

vim /etc/security/limits.conf

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

3、修改/etc/pam.d/login 文件

vim /etc/pam.d/login

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

4、修改环境变量

vim /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

5、设置oracle用户环境变量

su - oracle
vim .bash_profile

添加:

export ORACLE_BASE=/data/robert/app/oracle
export ORACLE_HOME=/data/robert/app/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export ORACLE_UNQNAME=$ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
export NLS_LANG=american_america.AL32UTF8
alias sqlplus='rlwrap sqlplus'
alias rman='rlwrap rman'

使配置生效:source .bash_profile

6、修改静默安装响应文件

拷贝一份响应文件:

cp -R /data/robert/software/database/response/ .cd response/

执行:vim db_install.rsp

修改内容:

oracle.install.option=INSTALL_DB_SWONLY

ORACLE_HOSTNAME=自己主机名

主机名可通过命令获取:hostname

UNIX_GROUP_NAME=oinstall

INVENTORY_LOCATION=/data/robert/app/oracle/inventory

SELECTED_LANGUAGES=en,zh_CN

ORACLE_HOME=/data/robert/app/oracle/product/11.2.0/dbhome_1

ORACLE_BASE=/data/robert/app/oracle

oracle.install.db.InstallEdition=EE

oracle.install.db.DBA_GROUP=dba

oracle.install.db.OPER_GROUP=dba

DECLINE_SECURITY_UPDATES=true

保存退出

7、执行安装

切换到解压的安装包目录:cd /data/robert/software/database/

执行:./runInstaller -silent -responseFile /home/oracle/response/db_install.rsp -ignorePrereq

此处执行事件需要几分钟,耐心等待下;

如果安装oracle 报Checking swap space: 0 MB available, 150 MB required. Failed

如下:

[oracle@localhost database]$ ./runInstaller -silent -responseFile /home/oracle/db_install.rsp
Starting Oracle Universal Installer…

Checking Temp space: must be greater than 120 MB. Actual 150565 MB Passed
Checking swap space: 0 MB available, 150 MB required. Failed <<<<

Some requirement checks failed. You must fulfill these requirements before

continuing with the installation,

Exiting Oracle Universal Installer, log for this session can be found at /tmp/OraInstall2017-06-07_02-08-39PM/installActions2017-06-07_02-08-39PM.log

解决方法:

1、检查 Swap 空间在设置 Swap 文件之前,有必要先检查一下系统里有没有既存的 Swap 文件。运行以下命令:

swapon -s

如果返回的信息概要是空的,则表示 Swap 文件不存在。

2、检查文件系统在设置 Swap 文件之前,同样有必要检查一下文件系统,看看是否有足够的硬盘空间来设置 Swap 。运行以下命令:

df -hal

3、创建并允许 Swap 文件下面使用 dd 命令来创建 Swap 文件。检查返回的信息,还剩余足够的硬盘空间即可。

dd if=/dev/zero of=/swapfile bs=1024 count=512k

参数解读:if=文件名:输入文件名,缺省为标准输入。即指定源文件。< if=input file >of=文件名:输出文件名,缺省为标准输出。即指定目的文件。< of=output file >bs=bytes:同时设置读入/输出的块大小为bytes个字节count=blocks:仅拷贝blocks个块,块大小等于bs指定的字节数。

4、格式化并激活 Swap 文件上面已经创建好 Swap 文件,还需要格式化后才能使用。运行命令:

mkswap /swapfile

激活 Swap ,运行命令:

swapon /swapfile

以上步骤做完,再次运行命令:

swapon -s

你会发现返回的信息概要:Filename Type Size Used Priority /swapfile file 524284 0 -1

如果要机器重启的时候自动挂载 Swap ,那么还需要修改 fstab 配置。用 vim 打开 /etc/fstab 文件,在其最后添加如下一行:

/swapfile swap swap defaults 0 0

最后,赋予 Swap 文件适当的权限:

chown root:root /swapfile

chmod 0600 /swapfile

然后可以继续安装运行Oracle安装程序,记得切换用户Oracle和目录至database

安装完成,成功登录

回到顶部

四、创建数据库实例

修改响应配置文件:vim /home/oracle/response/dbca.rsp

GDBNAME = “orcl”

SID= “orcl”

SYSPASSWORD = “Fyy19940722”

SYSTEMPASSWORD = “Fyy19940722”

SYSMANPASSWORD = “Fyy19940722”

DBSNMPPASSWORD = “Fyy19940722”

DATAFILEDESTINATION =/data/robert/app/oracle/oradata

RECOVERYAREADESTINATION=/data/robert/app/oracle/fast_recovery_area

CHARACTERSET = “AL32UTF8”

TOTALMEMORY = “2048”

保存退出。

检查配置:egrep -v “(^#|^$)” /home/oracle/response/dbca.rsp

安装创建:dbca -silent -responseFile /home/oracle/response/dbca.rsp

查看默认实例:env|grep ORACLE_UNQNAME

启动监听:lsnrctl start

重启Oracle步骤

重启Oracle数据库的操作步骤
1.查看监听器状态:lsnrctl status
2.停止监听器:lsnrctl stop
3.连接数据库:sqlplus sys/Fyy19940722 as sysdba
4.停止数据库:shutdown immediate
5.启动数据库:startup
6.退出数据库:exit
7.启动监听:lsnrctl start

正常的监听启动,如下:

连接测试: 

回到顶部

五、配置oracle开机自启

root.sh 是一个脚本文件,用于在Oracle数据库安装的过程中完成一些的后续配置和设置操作

root用户执行:sh /data/robert/app/oracle/product/11.2.0/dbhome_1/root.sh

oracle用户执行:vim /etc/oratab,格式为:‘实例名:$ORACLE_HOME:Y’

orcl:/data/robert/app/oracle/product/11.2.0/dbhome_1:Y

root用户添加开机自启策略:

chmod 777 /etc/rc.local
vim /etc/rc.local
#oracle开机自启
su – oracle -c “dbstart”
su – oracle -c “lsnrctl start”
su – oracle -c “lsnrctl start listenerl”

sqlplus / as sysdba
alter user sys account unlock;
grant sysdba to sys;
create user Robert identified by Fyy19940722;
password Robert
grant resource to Robert;
grant create session to Robert;
grant CONNECT to Robert;
grant sysdba to Robert;

恢复后如果无法启动监听

修改hostname为安装时候的ecm-24d4
Last login: Tue Sep 26 14:32:36 2023 from 127.0.0.1
[root@ecm-24d4 ~]# hostname
ecm-24d4
[root@ecm-24d4 ~]# lsnrctl status
-bash: lsnrctl: command not found
[root@ecm-24d4 ~]# su - oracle 
Last login: Tue Sep 26 14:36:00 CST 2023
Last failed login: Tue Sep 26 14:36:31 CST 2023 from 41.191.116.18 on ssh:notty
There was 1 failed login attempt since the last successful login.
[oracle@ecm-24d4 ~]$ lsnrctl status

LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 26-SEP-2023 14:37:10

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                26-SEP-2023 14:36:00
Uptime                    0 days 0 hr. 1 min. 10 sec
Trace Level               off
Security                  ON: Local OS Authentication
SNMP                      OFF
Listener Log File         /data/u01/app/oracle/diag/tnslsnr/ecm-24d4/listener/alert/log.xml
Listening Endpoints Summary...
  (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ecm-24d4)(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@ecm-24d4 ~]$ 

THE END

Leave a Reply

Your email address will not be published. Required fields are marked *