一、安装之前的环境配置
1. 创建运行 Oracle 数据库的系统用户和用户组
[root@centos ~]# groupadd oinstall #创建用户组 oinstall
[root@centos ~]# groupadd dba #创建用户组 dba
[root@centos ~]# useradd -g oinstall -g dba -m oracle #创建oracle用户,并加入到oinstall和dba用户组
[root@centos ~]# passwd oracle #设置oracle用户的登录密码
更改用户 oracle 的密码 。
新的 密码:
无效的密码: 它基于字典单词
无效的密码: 过于简单
重新输入新的 密码:
passwd: 所有的身份验证令牌已经成功更新。
[root@centos ~]# id oracle #查看新建的oracle用户
uid=501(oracle) gid=502(dba) 组=502(dba)
You have mail in /var/spool/mail/root
[root@centos ~]#
2. 安装必要的 rpm 包
在 root 用户下执行下面命令,这是安装 oracle 所需的依赖包,不然待会检查环境还得安装
yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel
3. 修改操作系统核心参数
下面的操作需在 root 用户下执行,切换命令su - root
- 修改用户的 shell 限制
输入命令vi /etc/security/limits.conf
,按i
进入编辑模式,将下列内容添加到该文件,编辑完成之后,:
wq
保存退出
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
- 输入命令
vi /etc/pam.d/login
,将下面内容添加到该文件,保存退出
session required /lib/security/pam_limits.so
session required pam_limits.so
- 命令
vi /etc/sysctl.conf
,修改 linux 内核参数,将下面内容添加到文件中
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
- 执行
sysctl -p
使 /etc/sysctl.conf 更改生效,显示如下
[root@centos ~]# sysctl -p
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@centos ~]#
- 命令
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
4. 创建数据库目录
- 创建 数据库软件安装目录以及数据文件存放目录,根据自己情况设置,需要记住后面配置环境变量
mkdir /home/oracle/app
mkdir /home/oracle/app/oracle
mkdir /home/oracle/app/oradata
mkdir /home/oracle/app/oracle/product
- 修改 oracle 用户权限
chown -R oracle:oinstall /home/oracle/app
chmod 777 /home/oracle/ -R
5. 配置 oracle 用户的环境变量
输入su - oracle
,输入密码,切换到 oracle 用户,执行vi .bash_profile
,增加以下内容,然后保存退出
export ORACLE_BASE=/home/oracle/app
export ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
6. 关闭系统防火墙
命令service iptables status
查看系统防火墙状态,如果防火墙处于活动状态,执行service iptables stop
关闭防火墙,或者直接在虚拟机桌面关闭更直接,防火墙的设置因系统版本不同设置方法略有不同,可自行百度,还有设置防火墙须在 root 用户下设置
7. 关闭 selinux
执行vi /etc/selinux/config
关闭 selinux
[root@centos ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled #此处修改为disabled
# SELINUXTYPE= can take one of these two values:
# targeted - Targeted processes are protected,
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
二、安装 Oracle 11g 数据库
完成以上步骤后,就可以正式安装 Oracle 11g 了,和 Windows 平台安装过程一样,大概说一下,安装是图形化界面安装,可以在虚拟机桌面安装,也可以在 Windows 用远程工具 Xmanager 实现远程安装,而且界面比较舒服
Oracle 11g 安装包:https://pan.baidu.com/s/1wJa1bFATEucazjWvo0hCfA
提取码:al29
里面含有 Xmanager 安装包,可直接下载使用
安装之前还要设置确保主机名 hostname 的一致性,不然影响数据库的监听启动,如下
执行 vi /etc/hosts
,在后面追加一行虚拟机ip hostname
,执行hostname odb-sonny
刷新
解压 Oracle 11g 的两个压缩包(先解压第一个,再解压第二个),解压后两个文件会合并到一个文件夹database
中,开始安装
执行cd database
- - >ls
- - >LANG=en_US ./runInstaller
(LANG=en_US
主要是为了防止乱码,安装界面文字是小方框,直接指定安装语言)接下来就是一路next
了
到下面这一步,系统提示还需要安装一些依赖包,但是仔细看的话这些包在开始之前就已经安装好了,只不过是版本不一样罢了,所以直接忽略即可,至于最后的一个pdksh
包,比较难装,可以不装,要是喜欢折腾可以安装一下,这儿检查如果出现 swap size 空间不足,参考swap分配解决
点击【ok】
输入命令LANG=en_US netca
,配置监听
监听配置完毕,输入命令LANG=en_US dbca
创建数据库实例 orcl
到下面这一步可能会提示一个File /etc/oratab is not accessible
错误,那是因为前面忘了执行一个root.sh
脚本,可以忽略掉,没啥大影响,对强迫症来说,这是安装过程中的一个败笔,不过都安装到这份上了,还是忍了吧
安装过程大概 20 分钟,耐心等待一下
三、安装完成,启动数据库,启动监听
- 切换到 oracle 用户,
su - oracle
- 执行
sqlplus /nolog
conn / as sysdba
startup
exit
lsnrctl start
开启监听lsnrctl status
查看监听状态
此时便可远程连接 Oracle 数据库了,修改oracle 用户的权限,同一主机的其它用户配置相应的环境变量,也可以通过sqlplus
工具操作数据库
参考博客:https://blog.csdn.net/qq_22260641/article/details/76182447
这篇博客安装方法和上面基本一模一样,因为我就是按照他的方法安装成功的,写这篇博客也主要是为了记录下来自己安装的经验和过程,以后如果再有用到也不用瞎撞墙了,也希望可以给其它需要的人一点参考