Linux系统安装Oracle 11g数据库

[oracle@localhost database]$ netca   #创建监听

  

下图为oracle数据库安装导图:

Linux系统安装Oracle 11g数据库

 

 

 

安装步骤:

1、下载oracle 11g 安装包

  因为我centos7为64位操作系统,所以这里下载的也是64位版本的oracle。

  下载地:http://www.oracle.com/technetwork/indexes/downloads/index.html#database

Linux系统安装Oracle 11g数据库

 

 

 

Linux系统安装Oracle 11g数据库

下载后:

Linux系统安装Oracle 11g数据库

 

 

 

 2、安装前的准备

 

 

  2.1、创建组与用户 

[root@localhost zhuzi]# groupadd oinstall #创建oinstall组
[root@localhost zhuzi]# groupadd dba  #创建dba组
[root@localhost zhuzi]# useradd -g oinstall -g dba -m oracle #创建oracle用户并将用户加入到dba组与oinstall组    
[root@localhost zhuzi]# passwd oracle #设置oracle用户密码

Linux系统安装Oracle 11g数据库

 

 

   2.2、创建oracle安装目录

[root@localhost zhuzi]# mkdir -p /data/oracle #oracle根目录
[root@localhost zhuzi]# mkdir -p /data/database #用于存放Oracle解压后的安装包
[root@localhost zhuzi]# mkdir -p /data/oraInventory #数据库配置文件目录
[root@localhost zhuzi]# chown -R oracle:oinstall  /data #修改目录所有者为oracle

  2.3、关闭防火墙

 

 

    1)、首先关闭selinux,修改/etc/selinux/config文件,将SELINUX=disabled。修改好后如下图所示,这个如果修改好后,需要重启才能生效: Linux系统安装Oracle 11g数据库

    2)、关闭防火墙,并设置开机不启动防火墙。设置好后不需要重启,会立即生效。

[root@localhost zhuzi]# systemctl stop firewalld.service   #关闭防火墙
[root@localhost zhuzi]# systemctl disable firewalld.service #设置开机不启动防火墙

   2.4、优化系统内核参数    

    1)、编辑/etc/sysctl.conf文件,在文件尾添加如下内容:

net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

    2)、使配置修改内核的参数生效:

[root@localhost zhuzi]# sysctl -p

Linux系统安装Oracle 11g数据库

 

 

   2.5、对oracle用户设置限制  

[root@localhost zhuzi]# vi /etc/security/limits.conf

     在文件后半部分,添加如下内容中斜体部分内容,保存退出。

@student - maxlogins 4
 
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
 
End of file

  2.6、设置用户变量

[root@localhost ~]# vi /home/oracle/.bash_profile

     在文件末尾添加如下内容:

export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_UNQNAME=orcl
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致 

Linux系统安装Oracle 11g数据库

 

 

 

       使配置的环境变量生效:

[root@localhost ~]# source /home/oracle/.bash_profile

   2.6、配置yum源

    1). 备份

      mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup

    2).下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/,这里使用阿里的yum源。

      CentOS 7命令为:

      wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    3)、yum clean all  #清空yum缓存

    4)、yum makecache #重建缓存

    5)、yum repolist  #查看配置目录资源数

   2.7、安装依赖包

[root@localhost ~]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*

  centos7需要的安装包,可以在Oracle上查看:https://docs.oracle.com/cd/E11882_01/install.112/e47689/pre_install.htm#LADBI1085
  我的版本当然对应的是这个版本:Oracle Linux 7 and Red Hat Enterprise Linux 7
  它没有要求说要安装elfutils和unixODBC包,但是等安装Oracle检查安装前准备时,会提示说缺少这两个包,所以一并安装

 3、开始安装Oracle

前面设置很多内容,保险起见,重启一次系统。

[root@localhost ~]# reboot

 将步骤1中下载的两个oracle安装文件,上传至/usr/local/src目录中。我使用的xshell工具,root用户直接在命令窗口cd /usr/local/src ,然后鼠标拖住那两个安装包至命令窗口就可以自动上传。

Linux系统安装Oracle 11g数据库

 

 

 用root用户解压这两个文件到/data/database 目录下,设置所属用户与组,再切换至oracle用户加载一下环境变量,开始安装。

[root@localhost src]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解压第一个压缩包
[root@localhost src]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解压第二个压缩包
[root@localhost src]# chown -R oracle:oinstall /data #指定文件夹及子目录的所属用户与组
[root@localhost src]# su oracle #切换至oracle用户
[oracle@localhost src]$ cd #进入家目录 [oracle@localhost ~]$ source .bash_profile #加载环境变量
[oracle@localhost ~]$ cd /data/database/database/ #进入oracle安装程序存放的目录
[oracle@localhost database]$ ./runInstaller #执行oracle安装命令,然后弹出下图安装窗口。

下面为贴图部分,修改后与下面图保持一致即可。

 

 

1)、将勾去掉,这样就不自动更新软件了。

Linux系统安装Oracle 11g数据库

 

 

 2)、提示你没有提供电子邮件,这里选择yes,继续就行。

 

 Linux系统安装Oracle 11g数据库

 

 

 3)、这里选择第二项,仅安装数据库软件。

 

Linux系统安装Oracle 11g数据库

 

 

 

 

 4)、这里选择第一个选项,单实例数据库。第二个为安装集群的意思。

Linux系统安装Oracle 11g数据库

 

 

 

 

5)、选择语言,默认下一步。

Linux系统安装Oracle 11g数据库

6)、第一个为企业版,默认直接下一步。

 

 

 Linux系统安装Oracle 11g数据库

 

 

 7)、前面咱们准备阶段,已经在环境变量里配置好了路径,这里就是读取咱们前面配置的路径,所以直接下一步。不用修改。

 Linux系统安装Oracle 11g数据库

 

 

 8)、指定配置文件存放路径,这个也不需要修改,也是读取了咱们前面配置到环境变量里的路径。所以直接下一步。

Linux系统安装Oracle 11g数据库

 

 

 9)、关于权限的问题,这里直接都是默认就行。下一步。

 Linux系统安装Oracle 11g数据库

 

 

 10)、这里会检查系统资源与依赖包是否都满足,第一个提示swap大小不符合,这里扩展一下swap大小,可以参考https://www.cnblogs.com/find-syc/p/12615991.html,其他问题,选中缺失的依赖包,如果下方详情栏里Expected value中有括号中标注(i386)或(i686),是在提示缺少32位的依赖包,但是实际上已经安装了64位的依赖包,忽略它们,pdksh包已经安装,就是之前安装的ksh依赖包。

Linux系统安装Oracle 11g数据库

 

 

 

 

 Linux系统安装Oracle 11g数据库

11)、点击finish完成。

 

 

 Linux系统安装Oracle 11g数据库

 

 

 Linux系统安装Oracle 11g数据库

 

 

报错解决: 1)、该软件包包含一个静态链接库,地址是:/usr/lib64/libc.a
修改/data/oracle/product/11.2.0/db_1/ctx/lib/ins_ctx.mk,将
ctxhx: $(CTXHXOBJ)
       $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
修改为:
ctxhx: $(CTXHXOBJ)
       -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a
点击Retry继续安装。 2)、”Error in invoking target 'agent nmhs' of makefile '/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk.'  解决方法:在makefile中添加链接libnnz11库的参数
修改/data/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk,将
$(MK_EMAGENT_NMECTL)修改为:$(MK_EMAGENT_NMECTL) -lnnz11
点击Retry继续安装。 有时候安装界面出现的灰色竖线无法拉开,可以重新运行./runInstaller,在重复上述步骤以后,第11步做完直接按照上面两个问题的解决办法修改两个mk文件,修改好安装时就不会报错了。mk文件是makefile文件,要以tab键开头,所以直接复制上面的修改语句会报错,要把
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) /usr/lib64/libc.a的前面的空格修改成tab键,不然会报错。 3)安装Database Configuration Assistant会需要挺长的时间,当安装完成后会弹出一个对话框,点击"Password management...",将竖线拉成对话框,给SYS、System、Scoot、SH设置密码,它们的默认密码分别是SYS:change_on_install、System:manager、Scoot:tiger、SH:sh,分别输入进对应的密码输入框中,在Scoot、SH设置密码之前,点击对号就可以为它们设置密码了。 4)最后等进度在100%的时候,会出现一个竖线,把它拉开,按照里面的提示以root权限进入提示的地址,运行上面提示的两个sh文件,第二个sh文件要你选地址直接回车就好了。   12)、用root用户,依次执行下面两条命令。

Linux系统安装Oracle 11g数据库

 

 

 

[root@localhost zhuzi]# /data/oraInventory/orainstRoot.sh 
[root@localhost zhuzi]# /data/oracle/product/11.2.0/db_1/root.sh #这条命令执行后需要再按一次回车键才会结束。 

 

 

Linux系统安装Oracle 11g数据库

点击右下角close按钮,完成安装。

 

 

 

4、配置监听,在oracle用户下执行命令。

[oracle@localhost database]$ netca #创建监听

Linux系统安装Oracle 11g数据库

Linux系统安装Oracle 11g数据库

 

 

 Linux系统安装Oracle 11g数据库

 

 

 Linux系统安装Oracle 11g数据库

 

 

 Linux系统安装Oracle 11g数据库

 

 

 Linux系统安装Oracle 11g数据库

 

 

 Linux系统安装Oracle 11g数据库

 

 

 Linux系统安装Oracle 11g数据库

 

 

在不修改端口的情况下,第一个监听程序,一路回车,就配置好了。

 

5、创建数据库

[oracle@localhost database]$ dbca #创建数据库

 

Linux系统安装Oracle 11g数据库

 

 Linux系统安装Oracle 11g数据库

 

 选择第二项,意思是自定义数据库。

Linux系统安装Oracle 11g数据库

 

下面为输入想要创建数据库的名字,这里我输入的为orcl,你可以随意,但是上下内容要一致。

 Linux系统安装Oracle 11g数据库

 

 Linux系统安装Oracle 11g数据库

 

 第二项为对所有账户使用相同的管理密码,这里需要填写一下想设置的密码。

Linux系统安装Oracle 11g数据库

 

这里提示我密码太简单,我们直接yes忽略他的提示。

 Linux系统安装Oracle 11g数据库

 

 指定新建数据库的存放位置,这里我们选第二项,填写上之前建立的目录。

Linux系统安装Oracle 11g数据库

 

这里取消闪回功能,你也可以打开,看需求。

 Linux系统安装Oracle 11g数据库

 

下面为一些数据库组件的选择,这里就全部清空选择。直接下一步。

 Linux系统安装Oracle 11g数据库

 

 Linux系统安装Oracle 11g数据库

 

一些配置参数,内存,字符集等等,直接默认下一步。

 Linux系统安装Oracle 11g数据库

 

 Linux系统安装Oracle 11g数据库

 

 Linux系统安装Oracle 11g数据库

 

 Linux系统安装Oracle 11g数据库

 

 Linux系统安装Oracle 11g数据库

 

 接下来,等待安装结束,测试一下,有没有安装成功。

Linux系统安装Oracle 11g数据库

 

 安装结束,点击Exit按钮。

~~~~~~~~~~~~~~~~~~~~进入测试环节~~~~~~~~~~~~~~~~~~~~~~~~

[oracle@localhost database]$ sqlplus / as sysdba

Linux系统安装Oracle 11g数据库

 

 上图可以看出,sqlplus已经成功登陆进来了。

SQL> select status from v$instance;

Linux系统安装Oracle 11g数据库

 

 上图可以看出,数据库已经是打开状态的了。输入exit回车,可以退出sqlplus。

Linux系统安装Oracle 11g数据库

 

 上图可以看出监听状态,

Linux系统安装Oracle 11g数据库

 

 上图可以看出,orcl已经成功添加到监听中。

 

 

 

 

 

 

 

    

 

 

Linux系统安装Oracle 11g数据库

 

上一篇:启动Oracle 11g服务


下一篇:python学习笔记(六)文件夹遍历,异常处理