Oracle 11g R2 数据库安装硬件配置要求:

  1.  

最小内存 1 GB of RAM

  1.  

虚拟内存容量,这个oracle也有要求,不用担心此时的swap分区不够oracle的要求 。虚拟内存swap如何增加容量,后面将会讲到

  1.  

Available RAM

Swap Space Required

Between 1 GB and 2 GB

1.5 times the size of RAM

Between 2 GB and 16 GB

Equal to the size of RAM

More than 16 GB

16 GB

  1.  

硬盘空间要求

数据库软件硬盘空间需求:

  1.  

Installation Type

Requirement for Software Files (GB)

Enterprise Edition

3.95

Standard Edition

3.88

  1.  

数据文件硬盘空间需求:

  1.  

Installation Type

Requirement for Data Files (GB)

Enterprise Edition

1.7

Standard Edition

1.5

  1.  

Oracle 11g下载地址:

http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

Oracle 11g 测试机系统及环境:

  1. 虚拟机:VMware Workstation Pro 12
  2. 操作系统: CentOS 6.5
  3. 数据库版本:Oracle11G R2
  4. 系统内存:4G
  5. 硬盘:200G
  6.  
  7. 说明:如果操作系统为RedhatCentOS,建议操作系统版本使用rhel 5.x centos 5.x,因为在后续安装oracle 11g解决依赖包关系的时候,很多依赖包都在5.x的安装包里
    oracle 11g R1 使用5.4即可,Oracle 11g R2 具体推荐的操作系统版本本人没测试过,操作系统版本大致在5.4~5.8,有兴趣的小伙伴也可以试试。不过使用6.x也不影响oracle
    安装使用,但在安装时解决包依赖关系比较麻烦,有的不好找,当然你可以忽略掉,不是硬性要求。但如果生产环境想发挥出oracle出色的性能,建议最好解决掉包依赖关系。
    oracle 11g R2 ==> rhel 5.5 (亲测)
    oracle 11g R1 ==> reel 5.4

Oracle安装步骤:

  1. 关闭Selinux
    2 修改主机名,并添加主机名与IP对应记录
    3 安装依赖包
    4 创建用户和组
    5 修改内核参数
    6 修改系统资源限制
    7 创建安装目录及设置权限
    8 设置oracle环境变量
    9 安装
    10 提供开机启动脚本
    11 oracle防火墙策略设定(iptables

一. 关闭Selinux

  1. shell ~]#sed -i "s/^SELINUX=.*/SELINUX=permissive/" /etc/selinux/config
    shell ~]#setenforce 0
  2.  
  3. 查看当前Selinux策略
    shell ~]#getenforce

  1. 可以看到Selinux已经被禁用,如果是本次修改,需要重启操作系统

修改主机名,并添加主机名与IP对应记录

  1. 二. 修改主机名
    shell ~]#sed -i -r 's/^(HOSTNAME=).*/\1oracle.dongpi.com/g' /etc/sysconfig/network # 重启操作系统后生效
    shell ~]#echo "oracle.dongpi.com" > /proc/sys/kernel/hostname    # 即时生效
    查看主机名
    shell ~]# cat /proc/sys/kernel/hostname
    shell ~]# hostname
    shell ~]# echo $HOSTNAME ### 重新登录一边shell

之前安装oracle 11g R2主机名配置要求

添加主机名与IP对应记录

 shell ~]#echo -e "`ifconfig eth0 | awk '/addr:[0-9]/{print $2}'| cut -d: -f2` \toracle.dongpi.com" >> /etc/hosts

 查看解析结果

 shell ~]#ping `hostname`

三. 安装依赖包:

之前安装oracle 11g R2 需要解决的依赖包关系截图,有个大概了解,解决依赖关系之前最好挂载上centos 5.x的镜像和epel源,省得去百度下载,不过每个人

的操作系统环境不一样,有些依赖包解决了,有些没解决,oracle安装界面有个重新检测按钮,如果有的包关系没解决,你可以安装检测失败的包,然后在点那个

重新检测按钮。此处只是告诉小伙伴们大概所依赖的软件包,不需要你再一个一个查然后再安装,如果所依赖的软件包提示有两个一模一样的名字,主要是对应

两种cpu架构平台(32位和64位)这两种包都需要安装

  1. shell ~]#yum groupinstall "Development Tools"
    shell ~]#yum install libaio glibc compat-libstdc++-33 elfutils-libelf-devel gcc-c++ libaio-devel libgcc libstdc++ libstdc++-devel -y
    shell ~]#yum install unixODBC unixODBC-devel pdksh sysstat -y
  2.  
  3. shell ~]#wget http://mirror.centos.org/centos/5/os/x86_64/CentOS/pdksh-5.2.14-37.el5_8.1.x86_64.rpm
    shell ~]#yum localinstall pdksh-5.2.14-37.el5_8.1.x86_64.rpm 
  4.  
  5. 说明:之前安装oracle 11g R2没解决的依赖包关系,需要注意的是最好把yumupdate功能关闭掉,有可能你在安装其他包的时候又破坏了oracle依赖的包的版本要求

  推荐几个网址,小伙伴们可以在上面搜一下需要的rpm包

  1. http://rpm.pbone.net/

  2. https://pkgs.org/

四. 创建用户和组(oracle要求指定的用户和组名)

  1. shell ~]#groupadd oinstall
    shell ~]#groupadd dba
    shell ~]#useradd -g oinstall -G dba -d /home/oracle oracle

五. 修改内核参数:

具体的内核参数是什么样的值,这里先给一个要修改的内核参数列表,值的最终确定可以通过安装时检测获取,如果相应的内核参数检测失败,下面

有解释:包括期望值和当前值,只要修改相应的内核参数为oracle所期望的值即可,下面这里只是个参考

  1. [root@Test_ELK ~]# cat << EOF > oracle.kernel.list
  2. > net.ipv4.ip_local_port_range=
  3. > fs.file-max=
  4. > kernel.shmall=
  5. > kernel.shmmax=
  6. > kernel.shmmni=
  7. > kernel.sem=
  8. > net.core.rmem_default=
  9. > net.core.wmem_default=
  10. > net.core.rmem_max=
  11. > net.core.wmem_max=
  12. > fs.aio-max-nr=
  13. > EOF
  14.  

到时候根据检测结果修改为oracle期望的值,然后使用for循环和sed命令追加到/etc/sysctl.conf 文件中

内核参数获取

shell ~]# sysctl -a | grep "xxx"

修改完要想即时生效需要使内核重读此配置文件,然后让oracle重新检测,后面将会看到,现在不用着急配置

shell ~]# sysctl -p       ### 通知内核重读配置文件

六. 修改系统资源限制:

  1. 文件描述符修改
    [root@Test_ELK ~]# cat << EOF >> /etc/security/limits.conf
  2. > oracle soft nproc 2047
  3. > oracle hard nproc 16384
  4. > oracle soft nofile 1024
  5. > oracle hard nofile 65536
  6. > EOF
  7.  
  8. pam认证修改
    shell ~]#echo "# pam_limits.so" >> /etc/pam.d/login
    shell ~]#echo "session  required  pam_limits.so" >> /etc/pam.d/login

七. 创建安装目录及设置权限

  建议:oracle的数据文件目录和安装目录分开

oracle的数据文件最好存储在可靠的物理设备上(可以使用几块磁盘组成raid10 或者raid 5),最起码是一个单独的分区。

  1. 此次安装仅作为实验演示,所以使用一个分区上的目录来创建oracle的工作目录
    查看当前分区容量,只要磁盘剩余空间符合oracle的要求即可,我一般喜欢安装大的软件到/opt
    shell ~]#df -Ph
  1. 可以看到/dev/sd3 即/opt才使用了不到400兆,下面开始创建oracle所需要的几个目录
    shell ~]# mkdir /opt/oracle/{app,oradata} -pv
  2. shell ~]# chmod 755 /opt/oracle/ /opt/oracle/app

  1. shell ~]# chown -R oracle.oinstall /opt/oracle


   

八. 设置oracle环境变量:

  1. shell ~]#su - oracle ### 必须使用oracle用户登录

[root@oracle ~]# echo '''
    ORACLE_BASE=/opt/oracle/app
   ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1

ORACLE_OWNER=oracle

ORACLE_SID=orcl
    LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
    LANG="zh_CN.UTF-8"
    PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
    export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH LANG PATH
    ''' >> ~/.bash_profile

shell ~]#source ~/.bash_profile

注意此处:最好使用vim修改,因为你的oracle环境PATH有可能有其他的值

九. 准备工作都做好了,开始安装

  说明:oracle安装需要在图形化界面完成,所以如果你的操作系统是最小化安装,很悲剧你不能通过命令行的模式去完成,这是比较恶心的地方

解决办法:安装图形化组件和vnc服务,然后通过vnc客户端进行oracle的安装

CentOS上VNC服务的安装配置请参考 http://www.ha97.com/4634.html 此处不做演示,非常简单

  1. shell ~]#mkdir /opt/packages
    shell ~]#unzip linux.x64_11gR2_database_1of2.zip
    shell ~]#unzip linux.x64_11gR2_database_2of2.zip

解压后会在当前目录下生成一个名为 database的目录

shell ~]#cd database

shell ~]#xhost +

shell ~]#su - oracle    ### 为了安全,运行oracle进程的属主不能是root

shell ~]$./runInstaller

解决办法:

1. 直接设置环境变量LANG为英文环境

shell ~]$locale -v     ### 查看当前用户的默认语言环境,即Oracle用户的默认语言环境

shell ~]$locale -a     ### 查看系统支持的所有字符编码集

shell ~]$LANG=en_US.UTF-8   ### 注意只是本次shell进程有效,要想始终有效,可以在oracle家目录下的.bash_profile定义LANG变量的值

2. 安装中易宋体18030 (参考网站:http://www.xpgod.com/soft/8928.html)

zysong.ttf使用方法:
      1.在Linux下执行以下命令,把字体库安装到相应位置  
     mkdir -p /usr/share/fonts/zh_CN/TrueType && cp zysong.ttf /usr/share/fonts/zh_CN/TrueType/

      2.这样在安装的时候。Oracle就会显示中文了,而不再是中文乱码了。
      3.索引的丢失可能引起数据库访问失败
      4.解决Oracle安装乱码问题。
        需要将文件同时安装到/usr/share/fonts/zh_CN/TrueType/和$JAVA_HOME/jre/lib/fonts/fallback/下

3. 如果你还能勉强看懂点英语,建议英文安装,但是安装时排错就比较麻烦

shell ~]$./runinstaller   ###再次执行此脚本

图一:

点击下一步

图二:

点击是,选择下一步

图三:

选择创建和配置数据库,下一步

图四:

选择服务器类,下一步

图五

选择单实例数据库安装,下一步

图六:

选择高级安装,高级安装可以自定义一些配置,下一步

图七:

选择语言,一般为简体中文和英语下一步

图八:

选择企业版,选择选项里有六个组件,一般默认即可,下一步

图九:

说明:oracle会根据之前在oracle家目录下的.bash_profile文件设置默认的基本目录和主目录,所以如果你想在安装前修改

就可以在.bash_profile 通过变量ORACLE_BASE,ORACLE_HOME定义,当然你可以在安装中通过浏览定义,oracle

会修改两个变量的值

选择下一步

图十:

!注意  此清单目录一定要为空(比如安装过程异常中断,再次安装oracle),否则会报以下错误:

选择下一步

图十一:

选择第一项,点击下一步

图十二

输入全局数据库名和SID,其中SID也是根据之前的环境变量来获取的,此处你也可以更改,下一步

图十三

如果没有oracle使用经验,选择让数据库自动内存管理

选择合适的字符集,这里选择UTF8

选择下一步

图十四

选择第二项,下一步

图十五

指定oracle数据库数据存放目录,选择文件系统,默认为/opt/oracle/app/oradata 这也是为什么之前创建的目录名为oradata

但是如果在此修改一定要保证修改后的目录具有以下权限

没问题,点击下一步

图十六

选择不启用自动备份,点击下一步,这个功能安装后还能修改,不需要安装时定义,点击下一步

图十七

选择对所有账户使用相同的口令,但生产环境不建议这么做,输入口令后,点击下一步

详细资料里有密码规则,不过你可以忽略,不影响,选择是,点击下一步(一定要记住此密码)

图十八

oracle用户组权限说明,保持默认,点下一步

图十九

oracle检测目标环境并生成结果

图二十

检测一共分三个板块

  1. 内存和交换分区大小

  2. 操作系统内核参数

  3. 程序包依赖

解决:

  说明:每个检测失败的选项,oracle都会给出详细信息,照着修改即可,一般就是把当前参数的值改为预期值,再重新检测即可

  一. 交换分区大小,一般交换分区在装系统的时候就已经确定,下面接下来讲解安装后如何增加swap分区的大小

从上面的报错可以看到,预期值为大概4g,当前值为2g,所以需要增加2g,但是考虑到其他进程的使用此处我们增加4g,反正也是使用磁盘来用作交换分区,只要你

有足够硬盘空间,你可以增大到你期望的swap大小。

  1. 查看内存使用情况
    shell ~]#free -m

以下的操作都要在root用户下进行,首先先建立一个分区,采用dd命令比如

 shell ~]#dd if=/dev/zero of=/home/swap bs=100M count=40   ### 注意bs如果设置很大,会很卡,建议bs小点,count可以大一些,只要乘积是4G就可以

这样就会创建/home/swap这么一个分区文件。

可以看到通过dd创建了一个4G大小的swap文件,接着再把这个分区变成swap分区。

   shell ~]#/sbin/mkswap /home/swap
   

再接着使用这个swap分区。其实就是挂载,使其成为有效状态。

 shell ~]#/sbin/swapon /home/swap

现在再用free -m命令查看一下内存和swap分区大小,就发现增加了4G的空间了。

不过当计算机重启了以后,发现swap还是原来那么大,新的swap没有自动启动,还要手动启动。

那我们需要修改/etc/fstab文件,增加如下一行

/home/swap              swap                    swap    defaults        0 0

你就会发现你的机器自动启动以后swap空间也增大了。

点击重新检查:如下图二十一

可以看到,交换分区检测通过,不在报检测失败

  二. 操作系统内核参数

  你没必要先手动一个一个去修改,选择修补并再次检查,oracle安装程序里有个脚本会自动帮你解决内核参数检测不通过的问题,如果次脚本执行完

  还报某几个选项检测失败,这时你可以手动修改了 (使用sysctl命令修改并保存结果到/etc/sysctl.conf中)

图二十二

  

  按提示修改即可:

  1. shell ~]# bash /tmp/CVU_11.2.0.1.0_oracle/runfixup.sh 

可以看到,运行此脚本后,会自动修改操作系统内核参数,点确定

图二十三:

图二十四

  1.  

  三 .软件包依赖关系,这里建议都解决了,主要是从CentOS5.x上和google找,此处全部忽略,下一步

图二十五

安装过程中配置的清单,可以选择保存到本地,默认会生成一个名为db.rsp的应答文件,oracle应答文件可以完成脚本式自动安装部署,可以使用图形化安装中生成

的应答文件作为模板。选择保存,此处不做如何使用应答文件快速部署oracle,感兴趣的小伙伴可以自行google或者百度。

shell ~]# mkdir /opt/oracle_rsp;chown  oracle.oinstall /opt/oracle_rsp

保存完成后,点击下一步

图二十六:

等待最后安装,这个时间有点长,主要和你的机器配置有关, 可以使用top看下负载

shell ~]#top -u oracle -c

可以看到安装Oracle需要用到java,不过oracle的安装包里已经替我们安装了java,其实oracle图形化安装界面就是用java写的

再看看进度

图二十七

只要安装状态成功就OK,从上面可以看到安装最后一个步骤需要运行一个脚本,点击详细资料可以看到安装的详细过程

图二十八

为了防止进程假死,你最好使用上面的top命令和打开详细过程按钮监控着,以免你在这里一厢情愿地浪费感情,这里你注意oracle的日志目录,里面有安装日志

终于弹下一个窗了,我以为卡死了,这时你就要注意oracle安装日志有没有变动,如果有变动那说明没问题

图二十九

注意当前操作的日志文件路径 /opt/oracle/app/cfgtoollogs/dbca/orcl

图三十

说明:上面红色箭头的部分都要留意下,主要有以下几方面注意的

  1. 数据库创建日志

  2. 数据库信息

  3. 登录方式:URL https://oracle.dongpi.com:1158/em     ### 通过web方式登录oracle的OEM

  4. 备份加密秘钥文件

    shell ~]#mkdir /root/oracle_key

    shell ~]#cp -ra  /opt/oracle/app/product/11.2.0/dbhome_1/oracle.dongpi.com_orcl/sysman/config/emkey.ora /root/oracle_key/

  5. 口令管理,默认oralce会锁定除了(sys,system)用户外的其他账户。这里我们可以选择解锁一个用户scott

点击确定:

图三十一

按上述提示执行以下操作,主要是执行两个脚本

shell ~]#bash /opt/oracle/oraInventory/orainstRoot.sh

shell ~]#bash /opt/oracle/app/product/11.2.0/dbhome_1/root.sh

执行完脚本,点确定

图三十二

十. 基本上Oracle安装算完成了,接下来看看如何启动关闭oracle,并提供sysv风格的启动脚本

用OUI安装并配置Oracle数据库后,Oracle就开启了(包括:数据库实例、监听器、EM)。在重启操作系统之后,Oracle默认是没有启动的。使用如下命令查看Oracle相关服务是否已启动:

oracle相关服务说明:

1.tcp/1158: oracle EM监听端口,网页版的管理器

- 状态查看:shell ~]#emctl status dbconsole   ### 切换到orcale用户执行

-  启动和关闭:shell ~]#emctl start/stop  dbconsole

- 访问方式:可在web浏览器中输入:https://{ServerIP|Hostname}:1158/em

注意一定要手动输入https://

2. tcp/17191: oracle 数据库实例监听的端口(此端口每次重启oracle都会改变)

手工启动oracle实例,可用sqlplus建立一个idle instance,然后使用startup启动或关闭,如下:

oracle实例关闭:

使用netstat命令再次查看:

可以看到oracle实例已经关闭,但是监听器和EM没有被关闭,接下来我们启动oracle实例

oracle实例启动:

注意以上在关闭oracle实例后,使用sqlplus连接到一个空闲实例(不再是orcl),oralce有一个连接后的默认实例-orcl

使用netstat查看oracle相关tcp连接

3. tcp/1521: oracle监听器,数据库实例启动后,需要启动监听器,才能让远程用户建立连接。

- 监听器状态查看:shell ~]#su -oracle -c "lsnrctl status"     ##切换到oracle用户

- 监听器关闭:shell ~] su - oracle -c "lsnrctl stop"

使用sqlplus连接oracle

初学oracle的小伙伴有可能就会疑惑,为什么关闭监听器后任然可以连接oracle,其实是这样子的oracle连接分为本地连接和远程连接,具体如下:

  1. 通过sqlplus命令行连接oracle四种方法
  2. . sqlplus / as sysdba
  3. 操作系统认证,不需要数据库服务器启动listener,也不需要数据库服务器处于可用状态。比如我们想要启动数据库就可以用这种方式
  4.  
  5. 进入
  6. sqlplus,然后通过startup命令来启动。
  7. . sqlplus username/password
  8. 连接本机数据库,不需要数据库服务器的listener进程,但是由于需要用户名密码的认证,因此需要数据库服务器处于可用状态才行。
  9. . sqlplus usernaem/password@orcl
  10. 通过网络连接,这是需要数据库服务器的listener处于监听状态。此时建立一个连接的大致步骤如下 
  11.   a. 查询sqlnet.ora,看看名称的解析方式,默认是TNSNAME  
  12.   b. 查询tnsnames.ora文件,从里边找orcl的记录,并且找到数据库服务器的主机名或者IP,端口和service_name  
  13.   c. 如果服务器listener进程没有问题的话,建立与listener进程的连接。  
  14.   d. 根据不同的服务器模式如专用服务器模式或者共享服务器模式,listener采取接下去的动作。默认是专用服务器模式,没有问题的
  15.  
  16. 话客户端
  17. 就连接上了数据库的server process
  18.   e. 这时连接已经建立,可以操作数据库了。
  19. .sqlplus username/password@//host:port/sid
  20.   sqlplus远程连接oracle命令(例:sqlplus risenet/@//192.168.130.99:1521/risenet)

上面的方式为本地连接,不需要开启oracle监听器,接下来我们使用账号密码远程连接oracle:

可以看到本地连接,不需要开启监听器,远程连接必须开启监听器。注意conn格式(本地和远程)

如果每次重启操作系统都要进行以上操作好麻烦,那么如何让Oracle作为系统服务在开机的时候自动启动呢?

Oracle在$ORACLE_HOME/bin下提供许多对数据库进行操作的脚本,其中dbstart和dbshut可分别用来启动和关闭数据库。注意,这两个脚本已包含监听器的启动或关闭,但并未对EM进行相关的操作。使用如下命令脚本:

  1. /opt/oracle/app/product/11.2./dbhome_1/bin/dbstart ### 启动数据库实例(包含监听器)
  2. 2 /opt/oracle/app/product/11.2./dbhome_1/bin/dbshut ### 关闭数据库实例(包含监听器)

以上命令要成功启动数据库实例还得打开Oracle设置的一个关卡:vim /etc/oratab,修改行:

编写oracle开机启动脚本如下:

shell ~]vim /sh/oracle.sh

  1. #!/bin/env bash
  2. #
  3. #*********************
  4. # version: 1.0.
  5. # author: 贾俊伟
  6. # contact:
  7. # - QQ:
  8. #*********************
  9.  
  10. # chkconfig:
  11. # description: Oracle sysv init Boot scipt.
  12.  
  13. # 自定义变量
  14. LogFile=/var/log/oracleinit.log
  15. ORA_OWNER=oracle
  16. PID=
  17.  
  18. # 读取oracle环境变量
  19. source /home/oracle/.bash_profile
  20.  
  21. # 读取系统functions脚本
  22. . /etc/init.d/functions
  23.  
  24. # 网络相关检查
  25. if [ ! -f /etc/sysconfig/network ]; then
  26. exit
  27. fi
  28.  
  29. . /etc/sysconfig/network
  30.  
  31. # Check that networking is up.
  32. [ "${NETWORKING}" = "no" ] && exit
  33.  
  34. start() {
  35.  
  36. if [ ! -x ${ORACLE_HOME}/bin/dbstart ];then
  37. echo "$(date +"%Y-%m-%d %H:%M:%S") [Warning] The file does not exist or can not be executed." | tee -a $LogFile >&
  38. exit
  39. else
  40. echo "$(date +"%Y-%m-%d %H:%M:%S") [Note] Server ORACLE boot start ..." | tee -a $LogFile >&
  41. su - ${ORA_OWNER} -c "${ORACLE_HOME}/bin/dbstart ${ORACLE_HOME}" | tee -a $LogFile >&
  42.  
  43. if (netstat -tnpl | grep -iq ":1521");then
  44. PID=$(pgrep tnslsnr)
  45. echo "$(date +"%Y-%m-%d %H:%M:%S") [Note] ORACLE($PID) Boot is OK." | tee -a $LogFile >&
  46. else
  47. echo "$(date +"%Y-%m-%d %H:%M:%S") [Warning] ORACLE($PID) Boot is Failed,Please start manually" | tee -a $LogFile >&
  48. exit
  49. fi
  50.  
  51. fi
  52. }
  53.  
  54. stop() {
  55. if [ ! -x ${ORACLE_HOME}/bin/dbshut ];then
  56. echo "$(date +"%Y-%m-%d %H:%M:%S") [Warning] The file does not exist or can not be executed."
  57. exit
  58. else
  59. echo "$(date +"%Y-%m-%d %H:%M:%S") [Note] Server ORACLE Stop start ..."
  60. if (netstat -tnpl | grep -iq ":1521");then
  61. su - ${ORA_OWNER} -c "${ORACLE_HOME}/bin/dbshut ${ORACLE_HOME}"
  62. sleep
  63. if (netstat -tnpl | grep -iq ":1521");then
  64. PID=$(pgrep tnslsnr)
  65. kill - $PID
  66. fi
  67. echo "$(date +"%Y-%m-%d %H:%M:%S") [Note] ORACLE Stop is OK."
  68. else
  69. echo "$(date +"%Y-%m-%d %H:%M:%S") [Note] ORACLE is already stopped."
  70. fi
  71. fi
  72. }
  73.  
  74. case $ in
  75. start)
  76. start
  77. ;;
  78.  
  79. stop)
  80. stop | tee -a $LogFile >&
  81. ;;
  82.  
  83. *)
  84. echo "Usage:`basename $0` {start|stop}"
  85. esac

脚本说明:此脚本判断oracle是否正常启动依据的是监听器,如果监听器没有启动就认为oracle没有启动,其实这是有问题的,不过这种情况只在手动使用命令启动或者关闭oracle

相关服务进程的时候才会出现,正常情况下oracle提供的默认脚本,启动和关闭都包含对监听器的操作。当然亦可以根据以上脚本修改更加严格的判断条件,比如只有oracle三个tcp连接同时存在作为启动判别标准。为了安全起见,本脚本没有启动oracle 管理器EM。

shell ~]cp /sh/oracle.sh /etc/init.d/oracle   ## 复制到系统默认开机启动脚本目录,该目录包含了sysv风格的服务启动脚本,即可以使用service命令

shell ~]chmod +x /etc/init.d/oracle     ### 添加可执行权限

shell ~]chkconfig --level 35 oracle on  ### 加入开机启动

测试脚本:

1.启动oracle,这里我们先使用pkill强行杀死所有oracle进程

  1. shell ~]#pkill - oracle
  2. shell ~]#ps -ef | grep -i "oracle|java" ### 杀掉包含oracle或者java关键字的进程(oracle使用java开发,为防止误杀,请首先确认是否有其他java进程)
    shell ~]#netstat -tnpl | egrep -i ":1521|:1158|ora"

返回为空说明,全部杀死。使用sercie命令启动oracle

2.关闭oracle,同样使用service命令

3. oracle启动关闭相关日志:$ORACLE_HOME/{starup.log|shutdown.log}

十一. oracle 防火墙设定

主要是开放oracle三个tcp端口中的(1521:监听器,1158:em)

  1. iptables -A INPUT -s 192.168.95.0/ -p tcp -m state --state NEW -m multiport --dports , -j ACCEPT

使用navicat连接验证:如下图点击测试连接。

至此有关oracle 11g r2基本环境部署就先介绍到这里,后续我会继续分享oracle基本操作命令,oracle备份与恢复。

Linux 6.x 下Oracle 11g R2 安装配置的更多相关文章

  1. Centos6.5下Oracle 11g R2安装过程

    1准备 CentOS-6.5-x86_64-bin-DVD1 linux_11gR2_database_1of2 linux_11gR2_database_2of2 VMware Workstatio ...

  2. windows下oracle 11g r2 安装过程与卸载详细图解

    Oracle 11g安装 1.解压下载的包,然后进入包内,点击setup.exe开始安装 . 2.出现如下:一般把那个小对勾取消,点击下一步进行, 弹出下图这个后点‘是' 3.下图后,选择创建和配置数 ...

  3. oracle 11g R2安装报错ORA-00604及ORA-06553的原因及解决方法

    10月31日PO主打算装oracle 11g R2,于是通过QQ旋风离线下载功能从oracle官网的链接下载了win32_11gR2_database_1of2.zip和win32_11gR2_dat ...

  4. Oracle 11g R2安装手册(图文教程)For Windows

    1.Oracle 11g R2安装手册(图文教程)For Windows 1.下载Oracle 11g R2 for Windows版本,下载地址如下 官方网站: http://download.or ...

  5. Windows下Oracle 11g的安装

    Windows下Oracle 11g的安装 Windows下Oracle 11g的安装: Windows:64位, Oracle 11g版本:win64_11gR2_database_1of2(安装包 ...

  6. Oracle 11g R2手动配置EM(转)

    转自:http://blog.itpub.net/9034054/viewspace-1973418/ Oracle 11g R2手动配置EM Oracle 作者:luashin 时间:2016-01 ...

  7. CentOS 7 下oracle 11G R2 ADG 搭建

    本文记录ADG搭建操作步骤,首先在虚拟机CentOS中安装并配置好oracle 11g R2(具体安装步骤在我的另一篇博客中),然后拷贝一份虚拟机,修改新虚拟机的主机名和ip配置,这时候主库和备库是一 ...

  8. oracle 11g r2安装

    安装环境:windows 7 安装版本:Oracle_win32_11gR2 目的:用于模拟服务器环境,学习Oracle操作 1. 下载oracle 11g r2,下载地址:www.oracle.co ...

  9. linux 下oracle 11g静默安装(完整版)

    1.操作系统及Oracle版本Linux版本:CentOS release 6.5Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Lin ...

随机推荐

  1. webpack的配置处理

    1.webpack对脚本的处理 1.Js用什么loader加载? 1>webpack 本身就支持js的加载, 2>通过babel-loader ES2015 加载js,再用 babel-p ...

  2. 第7章 数据库访问与ORM 慕课网微信小程序开发学习笔记

    第7章 数据库访问与ORM https://coding.imooc.com/learn/list/97.html 目录: 7-1 数据库操作三种方式之原生SQL 19:09 7-2 从一个错误了解E ...

  3. 数据结构-哈夫曼(Huffman)

    #include <iostream> #include <cstdio> #include <malloc.h> #define LIST_INIT_SIZE 1 ...

  4. python字符编码小结

    首先简要说一下各种字符编码: 1. ASCII 计算机只认识0101,但如何让计算机认识人类语言?将每个字母和符号给予固定的编号,然后将这个编号转换成二进制,计算机就可以正确识别这些字母与符号,同时计 ...

  5. 实验一 查看CPU和内存,用机器指令和汇编指令编程

    (1):使用debug,将下面的程序段写入内存,逐条执行,观察每条指令执行后,CPU中相关寄存器中内存的变化. 机器码        汇编指令 b8 20 4e     mov ax,4E20H 05 ...

  6. Mysql密码加密方式

    以Mysql 4.1版本为分界线,两种加密方式 Mysql323加密:(16位) select  old_password('root'); //Mysql自带加密函数old_password(str ...

  7. windows server 2008解决无法PING通问题

    今天安装服务器(server 2008),配置完IP地址后,发现局域网其它电脑无法PING通服务器,测线仪测试链路都正常,网线接别的电脑也正常,以为是网卡问题,于是ping了自己的IP,发现能PING ...

  8. cf984e Elevator

    ref我好菜啊 #include <iostream> #include <cstring> #include <cstdio> #include <cmat ...

  9. 图说不为人知的IT传奇故事-3-硅谷DNA创造者HP

    此系列文章为“图说不为人知的IT传奇故事”,各位大忙人可以在一分钟甚至几秒内了解把握整个内容,真可谓“大忙人的福利”呀!!希望各位IT界的朋友在钻研技术的同时,也能在文学.历史上有所把握.了解这些故事 ...

  10. 连接Oracle 10g时ORA-12514:TNS:监听进程不能解析在连接描述符中给出的SERVICE_NAME错误的解决

    近日服务器断电,导致客户端连接ORACLE服务器时出现ORA-12514错误,在网上查得解决方法如下 解决方法: 1. 打开/network/admin/listener.ora文件,找到: SID_ ...