文章目录

  • 一、Oracle安装存在的问题
  • 二、如何解决Oracle安装的问题
  • 三、获得Oracle压缩包
  • 四、软件需求
  • 五、硬件需求
    • 1、查看内存和交换区的大小
    • 2、创建交换区
    • 3、删除交换区
  • 六、安装对应的依赖包
  • 七、修改系统核心参数
    • 1、修改/etc/sysctl.conf文件
    • 2、 修改/etc/security/limits.conf文件
    • 3、 修改/etc/pam.d/login文件
    • 4、 修改/etc/profile文件
    • 5、 修改/etc/selinux/config文件
    • 6、重启服务器
  • 八、创建Oracle用户和组
  • 九、解开压缩包
  • 十、数据库的参数
  • 十一、数据库的启动
  • 十二、数据库的关闭
  • 十三、采用sqlplus登录数据库
  • 十四、查询数据库的版本
  • 十五、服务器防火墙配置
    • 1、查看防火墙的命令
    • 2、配置防火墙的命令
  • 十六、云平台访问策略配置
  • 十七、版权声明

关于Oracle数据库安装的文章网上到处都是,百度一下就能找到很多,例如:

能百度到的Oracle安装是常规的方法,我就不讲了,本文向大家介绍一种更简单的非常规的安装方法,这种方法适用于初学者。

一、Oracle安装存在的问题

Oracle数据库系统对服务器的硬件和软件要求比较严格,一般来说,用于Oracle生产环境的服务器配置非常好,内存在16GB以上,在图形界面中安装Oracle非常容易,极少失败。

但是,对初学者来说,学习资源有限,一般是在VMWare虚拟机上安装CentOS操作系统,或租用最低配置的云服务器(1核1G/2G内存),不可能有那么好的服务器来安装Oracle,也可能没有图形界面。在虚拟机或低配置的云服务器上安装Oracle问题很多,莫名其妙,根本找不到问题的原因和解决方法,困难重重,让人欲哭无泪。

二、如何解决Oracle安装的问题

解决虚拟机或低配置的云服务器上安装Oracle的方法有两种:

1)不用图形界面,采用静默方式安装,这种方法的技术难度比较大,Oracle的DBA经常采用这种方法,而普通程序员很难掌握。

2)把已经安装好的Oracle软件、数据库实例和环境参数打包压缩,然后在目标服务上解压恢复,对初学者来说,这是搭建Oracle数据库学习环境的最佳方案,也是本文采用的方案。

在安装Oracle之前,您必须已经掌握了Linux的常用命令,具备Oracle数据库系统的基础知识。

三、获得Oracle压缩包

登录C语言技术网,在“资源下载”栏目中下载软件安装包,文件名是oracle11gR2.tgz。

四、软件需求

建议采用CentOS7系列版本的操作系统,CentOS6和CentOS7在系统配置和操作上有较大差别,CentOS8以上版本对初学者来说没有必要。

建议先把CentOS7操作系统的字符集设置为zh_CN.gbk。

五、硬件需求

1、查看内存和交换区的大小

采用free -m命令查看系统的内存和交换区,如下:

Mem:行显示的是物理内存的大小和使用情况,Swap:行显示的是交换区的大小和使用情况,单位是MB。

安装Oracle的物理内存要求在1024MB以上,交换区的要求如下:

可用内存 交换区大小
1024MB到2048MB之间。 1.5倍于物理内存。
2049MB到8192MB之间。 1倍于物理内存。
大于8192MB。 0.75倍于物理内存。

2、创建交换区

如果没有交换区或交换区太小,先创建交换区,交换区的大小见上表的对应关系,以下步骤将创建一个2048M的交换区。

1)用root用户执行dd命令创建/swap1文件。

dd if=/dev/zero of=/swap1 bs=1024 count=2048000

如下:

2)把/swap1文件设置成交换区。

/sbin/mkswap /swap1

如下:

3)把/swap1交换区设置为有效状态。

/sbin/swapon /swap1

如下:

4)用free -m命令查看交换区,确认已生效。

如下:

5)修改/etc/fstab文件,让CentOS操作系统在每次重启时自动加载/swap1交换区。

在/etc/fstab文件中增加以下内容。

/swap1 swap swap defaults 0 0

如下:

6)重启操作系统,重启后再确认一下交换区/swap1是否已加载。

3、删除交换区

如果创建的交换区不符合要求,可以用以下步骤删除它。

1)停止正在使用的swap分区。

swapoff /swap1

2)删除swap分区文件。

rm /swap1

3)修改/etc/fstab文件,删除开机自动挂载/swap1的命令。

六、安装对应的依赖包

安装Oracle之前,还需要安装一些CentOS的软件包,用以下命令执行安装(用root用户执行)。

yum install -y binutils* compat-libstdc* elfutils-libelf* gcc* glibc* ksh* libaio* libgcc* libstdc* make* sysstat* libXp*  glibc-kernheaders ksh binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel

这些软件包依赖关系比较复杂,不管它,多执行几次以上命令,直到全部的软件包都是最新版本。

七、修改系统核心参数

1、修改/etc/sysctl.conf文件

/etc/sysctl.conf是操作系统的核心参数配置文件,在文件最后增加以下行。

fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmall = 2097152
kernel.shmmax= 2147483648
kernel.shmmni= 4096
kernel.sem = 250 32000100 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

注意,kernel.shmmax参数的值为操作系统内存的一半,单位是字节。例如,操作系统总内存如果是1024MB,那么kernel.shmmax的值应该是512*1024*1024=536870912,即kernel.shmmax=536870912

其它的参数照抄。

2、 修改/etc/security/limits.conf文件

/etc/security/limits.conf是操作系统对用户使用资源的配置文件,在文件最后增加以下行。

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

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

/etc/pam.d/login是用户认证文件,在文件最后增加以下行。

session    required     /lib64/security/pam_limits.so

4、 修改/etc/profile文件

/etc/profile是系统环境参数配置文件,在文件最后增加以下行。

if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fi
fi

5、 修改/etc/selinux/config文件

/etc/selinux/config是SELinux配置文件,修改SELINUX的值,禁用它。

SELINUX=disabled

6、重启服务器

init 6reboot

八、创建Oracle用户和组

Oracle的安装用户是oracle,组是dba,oracle用户的根目录是/oracle,不能采用其它目录(注意是小写的字母),如果/oracle目录的空间不够,可以采用软链接的方式,把有/oracle链接到其它有足够空间的目录。

1)创建dba组。

groupadd dba

2)创建oracle用户,组名是dba,用户根目录是/oracle,不可改变。

useradd -n oracle -g dba -d /oracle

3)修改oracle用户的密码。

passwd oracle

九、解开压缩包

把Oracle的压缩包文件oracle11gR2.tgz上传到服务器的/tmp目录。

采用su - oracle切换到oracle用户,在根目录下执行解开压缩包。

su - oracle
cd /
tar zxvf /tmp/oracle11gR2.tgz
exit;

注意,解压缩包后,一定要退出oracle用户,否则oracle用户的环境变量不会生效。

十、数据库的参数

oracle11gR2.tgz解压后,会生成/oracle/.bash_profile文件,包括了Oracle数据库的安装参数,内容如下:

export ORACLE_BASE=/oracle/base
export ORACLE_HOME=/oracle/home
export ORACLE_SID=snorcl11g
export NLS_LANG='Simplified Chinese_China.ZHS16GBK'
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.

十一、数据库的启动

用oracle用户登录,执行lsnrctl start启动网络监听服务,执行dbstart启动数据库系统。

十二、数据库的关闭

用oracle用户登录,执行lsnrctl stop关闭网络监听服务,执行dbshut关闭数据库系统。

在重启或关闭服务器操作系统之前,一定要关闭数据库,否则数据库损坏的概率非常大。

十三、采用sqlplus登录数据库

用oracle用户登录CentOS系统。

执行sqlplus scott/tiger,以scott用户的身份登录数据库。

在sqlplus中,输入exit;退出sqlplus。

在Shell中,执行sqlplus / as sysdba以系统管理员身份登录数据库。

十四、查询数据库的版本

select * from v$version;

十五、服务器防火墙配置

Oracle数据库缺省的通信端口是1521,如果想从远程连接Oracle数据库,需要开通服务器防火墙的1521端口。

CentOS7和CentOS6的防火墙设置不同,CentOS7采用以下命令开通1521端口:

firewall-cmd --zone=public --add-port=1521/tcp --permanent

以下是CentOS7防火墙的相关操作命令。

1、查看防火墙的命令

1)查看防火墙的版本。

firewall-cmd --version

2)查看firewall的状态。

firewall-cmd --state

3)查看firewall服务状态(普通用户可执行)。

systemctl status firewalld

4)查看防火墙全部的信息。

firewall-cmd --list-all

5)查看防火墙已开通的端口。

firewall-cmd --list-port

6)查看防火墙已开通的服务。

firewall-cmd --list-service

7)查看全部的服务列表(普通用户可执行)。

firewall-cmd --get-services

8)查看防火墙服务是否开机启动。

systemctl is-enabled firewalld

2、配置防火墙的命令

1)启动、重启、关闭防火墙服务。

#启动
systemctl start firewalld
#重启
systemctl restart firewalld
#关闭
systemctl stop firewalld

2)开放、移去1521端口。

#开放1521端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
#移去1521端口
firewall-cmd --zone=public --remove-port=1521/tcp --permanent

4)设置开机时启用、禁用防火墙服务。

#启用服务
systemctl enable firewalld
#禁用服务
systemctl disable firewalld

十六、云平台访问策略配置

如果Oracle数据库安装在云服务器上,需要登录云服务器提供商的管理平台开通访问策略(或安全组),开通1521端口的访问策略。

不同云服务器提供商的管理平台操作方法不同,具体操作方法阅读操作手册、或者百度,或者咨询云服务器提供商的客服。

十七、版权声明

C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道

如果文章有错别字,或者内容有错误,或其他的建议和意见,请您留言指正,非常感谢!!!

Oracle11g数据库快速安装相关推荐

  1. CentOS上快速安装Oracle11g数据库

    CentOS上快速安装Oracle11g数据库 下载RMP-GPG-KEY wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol7 -O /e ...

  2. Oracle11g数据库在win7系统上的安装教程

    2019独角兽企业重金招聘Python工程师标准>>> 1.下载Oracle 11g R2 for Windows的版本 下载地址:https://www.oracle.com/te ...

  3. Docker快速安装Sybase数据库DBeaver数据库图形化管理开发工具

    Docker快速安装Sybase数据库 Sybase 15.7 Based on ifnazar/sybase_15_7 Needs about 30 seconds after start for ...

  4. CentOS7下使用yum快速安装配置oracle数据库

    2019独角兽企业重金招聘Python工程师标准>>> CentOS7下使用yum快速安装配置oracle数据库 2017年10月10日 15:29:23 aladdin_sun 阅 ...

  5. Oracle11g数据库的下载与安装(Windows 10)

    下载地址: Oracle11g数据库win64的下载地址: https://www.oracle.com/technetwork/database/enterprise-edition/downloa ...

  6. 安装oracle11g数据库

    安装oracle11g数据库 一.oracle11g下载 二.oracle安装 第一步:配置安全更新 第二步:安装选项 第三步:系统类,选择默认的"桌面类" 第四步:典例安装,重要 ...

  7. Centos7安装并使用Oracle11g数据库

    centos7安装Oracle11g 一.安装的硬件要求 1.内存: 要求:内存最小1G,推荐2G或者更高 查看命令:# grep MemTotal /proc/meminfo 二.环境准备 2. S ...

  8. win7 安装oracle11g 数据库服务器

    ORACLE是数据库也有客户端和服务器. PLSQL Developer是连接oracle的可视化客户端软件. PLSQL Developer只是第三方工具,服务于ORACLE,类似的工具还有Toad ...

  9. m1芯片安装Oracle11g数据库

    我是2021m1pro版本,安装了pd虚拟机Win11系统,在win11上成功安装Oracle11g数据库,后面改了一下监听文件使用Navicat成功连接数据库!

最新文章

  1. 一口气带你踩完五个 List 的大坑,真的是处处坑啊!
  2. android p获取通话记录_[android] 取得最近通话记录的方法
  3. 一个最简单的 Github workflow 例子
  4. 734. [网络流24题] 方格取数问题 二分图点权最大独立集/最小割/最大流
  5. 关于Office 中的墨迹功能(可作word电子签名)
  6. 一加9RT外观和部分参数揭晓:搭载骁龙888+E4直屏
  7. 剑指offer——27.二叉树的镜像
  8. 一个批量转换文本文件编码的程序(Python)
  9. 【论文笔记】分层强化学习鼻祖:Feudal Reinforcement Learning 1993
  10. 用一句话阐明epoll跟Windows IOCP之间的区别
  11. C#多线程学习(四) 多线程的自动管理(线程池)
  12. Uvalive 3713 - Astronauts(2-SAT)
  13. 【Landsat 8】遥感影像文件内容及命名规则
  14. Linux as AirPrint server
  15. 什么叫明文,什么叫密文,为什么不允许在数据库里明文保存密码?
  16. 南京计算机类事业单位,南京市属事业单位公开招聘579人 3月25日起报名
  17. js和css动态画出一只安卓机器人,附代码
  18. android自动照相机2.0,Camera2.0下载
  19. 为了革命 保护眼睛 !—— 眼科专家配置的色调
  20. Factorials

热门文章

  1. Python使用广度优先和深度优先两种方法遍历目录树
  2. 哈夫曼编码原理与Python实现代码(附手动推导过程原稿真迹)
  3. 怎么设置linux端口权限,Linux下设置端口权限的系统调用—ioperm和iopl
  4. ipython版本_1. Python版本的选择与安装
  5. 红外报警c语言,基于单片机的红外报警系统设计 (毕业论文).docx
  6. MySQL通过接口导入hive_利用Sqoop将MySQL数据导入Hive中
  7. c++svd算法_AI算法工程师面试6
  8. python自编一个循环计算题_Python练习:循环
  9. linux知识点查阅
  10. 上海应用技术大学计算机专业分数线,上海应用技术大学2016年上海市各专业录取分数线...