版本:Oracle 11.2.0.4
创建用户
root执行以下命令
#创建database用户组
groupadd database
#创建oracle用户并放入database组中
useradd oracle -g database
#设置oracle密码
passwd oracle
密码我设置的是database@2023
安装oracle安装程序依赖程序包
root用户执行以下命令
yum -y install binutils compat-libcap1 compat-libstdc++-33 compat-libstdc++-33*.i686 elfutils-libelf-devel gcc gcc-c++ glibc*.i686 glibc glibc-devel glibc-devel*.i686 ksh libgcc*.i686 libgcc libstdc++ libstdc++*.i686 libstdc++-devel libstdc++-devel*.i686 libaio libaio*.i686 libaio-devel libaio-devel*.i686 make sysstat unixODBC unixODBC*.i686 unixODBC-devel unixODBC-devel*.i686 libXp
如果乱码或者不想用中文界面安装,安装前运行以下命令,临时使用英文环境。
LANG=en_US
上传并解压安装包
上传安装包到 CentOS7服务器 /home/oracle/目录。
[oracle@localhost ~]$ pwd
/home/oracle
[oracle@localhost ~]$ ls
p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
只需要*1of7.zip,*2of7.zip 两个压缩包即可。
如果没有unzip工具,安装unzip
root执行以下面
yum install unzip
oracle用户,执行下面命令,解压安装包
#解压第1个zip
unzip p13390677_112040_Linux-x86-64_1of7.zip
#解压第2个zip
unzip p13390677_112040_Linux-x86-64_2of7.zip
解压出 database
文件如下:
[oracle@localhost ~]$ ls
database p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
安装oracle
准备工作已经结束了,接下来的安装工作就跟在windows下安装oracle差不多了。基本就是根据界面提示就可以一路“下一步(N)”就可以完成了。
需要稍微注意的就是:
- 桌面类与服务器类的选择
- 超级管理员密码的设置
- 先决条件检查
oracle用户进入~/database/目录。
#进入安装目录
cd ~/database/
#运行安装程序
./runInstaller
配置安全更新
根据需要设置
下载软件更新
跳过软件更新(S)。
网络安装选项
选择“创建和配置数据库(C)”
桌面类 or 服务器类
安装类型
典型安装
典型安装配置
主要设置一下密码,其他默认即可。这里密码要在大写字母+小写字母+数字组合。比如:我设置的是Database123。
创建产品清单
默认即可。
执行先决条件检查
执行修补并再次检查(F) 可以自动修复
执行修补并再次检查(F)
root权限执行:
/tmp/CVU_11.2.0.4.0_oracle/runfixup.sh
执行完后,点击上面对话框中的确定(O) 这里发现大部分都修复了。如下:
剩下的警告尽量解决,如果自己知道影响不大直接点右上角 ☐全部忽略即可。
比如:我的虚拟机内存,比预期值差30MB左右,影响不大直接忽略也可以。
解决方法也很简单,加大内存即可。
解决 包:pdksh-5.2.14 警告
#下载安装包
wget http://vault.centos.org/5.11/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
如果没有wget就安装一下 yum install wget
如果下载不动 请看
https://blog.csdn.net/qq_45748758/article/details/131896211
执行安装操作。
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
执行结果如下,与已经安装的冲突了,安装失败了。
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
警告:pdksh-5.2.14-37.el5_8.1.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID e8562897: NOKEY
错误:依赖检测失败:
pdksh 与 (已安裝) ksh-20120801-142.el7.x86_64 冲突
卸载冲突
rpm -e ksh-20120801-142.el7.x86_64
再次安装
rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
全过程如下:
[root@localhost ~]# rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
警告:pdksh-5.2.14-37.el5_8.1.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID e8562897: NOKEY
错误:依赖检测失败:
pdksh 与 (已安裝) ksh-20120801-142.el7.x86_64 冲突
[root@localhost ~]# rpm -e ksh-20120801-142.el7.x86_64
[root@localhost ~]# rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm
警告:pdksh-5.2.14-37.el5_8.1.x86_64.rpm: 头V3 DSA/SHA1 Signature, 密钥 ID e8562897: NOKEY
准备中... ################################# [100%]
正在升级/安装...
1:pdksh-5.2.14-37.el5_8.1 ################################# [100%]
重新检测,发现警告消失了!!!
Swap分区设置
若检查中无此项,可忽略!
如果Swap空间不符合要求,oracle 安装文件检查发现swap 空间不足。
大小一般设置为一般为内存的1.5倍。
(root权限)查询当时Swap分区设置情况。
swapon -s
或者使用free工具来查看内存和Swap情况。
free -m
结果如下单位(MB):
[root@localhost ~]# free -m
total used free shared buff/cache available
Mem: 1475 439 171 13 865 877
Swap: 2047 0 2047
创建Swap文件
接下来我们将在文件系统上创建swap文件。我们要在根目录/下创建一个名叫swapfile的文件,当然你也可以选择你喜欢的文件名。该文件分配的空间将等于我们需要的swap空间。
一般内存的1.5倍以上就好了。也可以根据安装程序的提示来。
root执行以下命令,创建swap分区,
#创建swap文件 bs=2300的设置的值一般为内存的1.5倍以上
dd if=/dev/zero of=/var/swap bs=2500 count=1000000
#需要更改swap文件的权限,确保只有root才可读
chmod 600 /var/swap
#告知系统将该文件用于swap
mkswap /var/swap
#开始使用该swap
swapon /var/swap
#使Swap文件永久生效,/etc/fstab加入配置
echo "/var/swap swap swap sw 0 0" >> /etc/fstab
如果上面创建后发现,大小创建错误了。如何重置呢?
swapoff -a
rm /var/swap
上面命令就可以删除了,然后重新创建合适的swap文件就行了。
所有警告消失了
概要
这里显示了安装配置的概要部分,检查一下是否正确。没问题就开始安装吧!
安装产品
进度70% ins_emagent.mk错误弹框
编辑:
/home/oracle/app/oracle/product/11.2.0/dbhome_1/sysman/lib/ins_emagent.mk
约176行,可以搜索$(MK_EMAGENT_NMECTL) 关键字快速找到。
修改完成后,点击重试(R)
复制数据库文件
上面的问题解决后,安装一会儿就会出现如下的界面。耐心等待即可。
数据库创建完成
经过一段时间的等待,终于弹出如下界面
执行配置脚本
根据上图提示,root 执行上面两个脚本就可以了。
执行结果如下:
[root@localhost ~]# /home/oracle/app/oraInventory/orainstRoot.sh
更改权限/home/oracle/app/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。
更改组名/home/oracle/app/oraInventory 到 database.
脚本的执行已完成。
[root@localhost ~]# /home/oracle/app/oracle/product/11.2.0/dbhome_1/root.sh
Performing root user operation for Oracle 11g
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /home/oracle/app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
[root@localhost ~]#
执行完成这两个脚本,点击确定
Oracle Database 的安装已成功
防火墙放行1521
默认端口是1521
# 防火墙放行1521oracle端口
firewall-cmd --add-port=1521/tcp
firewall-cmd --add-port=1521/tcp --permanent
配置环境变量
切换到oracle用户操作。
编辑配置文件
su oracle
vi ~/.bash_profile
文件末尾加入以下内容,ORACLE_HOME中换成你实际安装的路径
export ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0/dbhome_1/
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
使用配置文件立即生效。
source ~/.bash_profile
启动oracle
su oracle
sqlplus /nolog
SQL> connect /as sysdba
SQL> startup
启动监听
lsnrctl start