Linux下Oracle数据库的搭建(新手)

最近由于需要安装了几台服务器 ,由于网上找不到一些过程中遇到的问题,所以把解决方法写出来吧 !


首先安装数据库服务器  如题装的是Oracle
 
  系统环境是Redhat 6.5 x86 64位虚拟化服务器
 
  首先 要确定需要安装 的版本  我们要求的是11g  最新的是12c

  硬件要求

   物理内存至少2G

查看命令:

grep MemTotal /proc/meminfo


   交换分区:至少1G,最好是物理内存的2

查看命令:

grep SwapTotal /proc/meminfo


   硬盘空闲区至少4G

查看命令:df -k

  然后 是系统的支持库 也就是安装所需包。
  

  • make3.8+

  • binutils-2.15.92+

  • gcc-3.4.6+

  • libaio-0.3+

  • glibc-2.3.4+

  • compat-libstdc++33+

  • elfutils-libelf-0.97+

  • elfutils-libelf-devel-0.97+

  • gilbc-common-2.3+

  • glibc-devel-2.3+

  • glibc-headers-2.3.4

  • gcc-c++3.4

  • libaio-devel-0.3+

  • libgcc-3.4+

  • libstdc++3.4+

  • libstdc++-devel3.4+

  • sysstat-5.0.5+

  • unixODBC2.2.11+

  • unixODBC-devel2.2.11+

  • pdksh-5.2.1.4

  • expat-1.95.7+


后面是系统内核参数

vi 
/etc/sysctl.conf

添加或修改如下的行

本人实际配置环境中,红色部分是需要修改行,蓝色部分为添加行。

kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default=262144
net.core.rmem_max=262144
net.core.wmem_default=262144
net.core.wmem_max=262144


         查看当前内核参数的值


/sbin/sysctl -p

    
                修改/etc/host.conf

            

增加下面内容,如果没有oracle 的监听器无法启动

        

7.0.0.1 localhost

                为了提高在linux系统上运行软件的性能,必须对oracle用户设置下列shell 限定。
打开文件数和进程数的限制,
加入下面的行到文件/etc/security/limits.conf

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

加入下面的行到文件/etc/pam.d/login

session required /lib/security/pam_limits.so

创建安装oracle 所需的组和用户
        以下操作需要使用root账户创建。
创建oinstall用户组

groupadd ointall


创建dba用户组

groupadd dba


创建oracle用户

useradd �Cg oinstall �CG dba oracle


初始化oracle用户密码

passwd oracle

创建Oracle安装目录
    本示例中,Oracle安装路径为:/home/Oracle/product/11.2.0/dbhome
    创建oracle安装目录

mkdir �Cp /home/Oracle/product/11.2.0/dbhome

修改目录所属用户为oracle用户

chown �CR oracle:oinstall /oracle


修改目录权限

chmod �CR 755 /oracle

设置oracle用户环境变量
    注意以下命令为,必需以oracle用户身分登录:

su �C oracle


修改/home/oracle/.bash_profile文件,添加以下行

export ORACLE_BASE=/home/Oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome
export ORACLE_SID=orcl(实际数据库实例名)
export PATH=$ORACLE_HOME/bin:$PATH


检查设置的环境变量

echo $ORACLE_HOME
echo $ORACLE_BASE
echo $ORACLE_SID

用oracle用户运行runInstaller 安装

配置oracle为自启动服务

以下操作使用root用户,

1.1 vi /etc/rc.d/init.d/oracle,复制以下内容:

#!/bin/bash

# chkconfig: 2345 66 36

# /etc/rc.d/init.d/oracle

# description: starts the oracle database

#

ORA_HOME=/oracle/product/10.2/db_1

ORA_OWNER=oracle

case "$1" in

  start)

        echo -n "Starting Oracle Databases: "

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >> /var/log/oracle

        echo "Done."

        echo -n "Starting Oracle Listeners: "

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >> /var/log/oracle

        echo "Done."

        echo ""

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Finished." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        touch /var/lock/subsys/oracle

        ;;

  stop)

        echo -n "Shutting Down Oracle Listeners: "

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >> /var/log/oracle

        echo "Done."

        rm -f /var/lock/subsys/oracle

        echo -n "Shutting Down Oracle Databases: "

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >> /var/log/oracle

        echo "Done."

        echo ""

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Finished." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        ;;

 restart)

        echo -n "Restarting Oracle Databases: "

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >> /var/log/oracle

        echo "Done."

        echo -n "Restarting Oracle Listeners: "

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >> /var/log/oracle

        su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >> /var/log/oracle

        echo "Done."

        echo ""

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        date +"! %T %a %D : Finished." >> /var/log/oracle

        echo "---------------------------------------------------------------------------------" >> /var/log/oracle

        touch /var/lock/subsys/oracle

        ;;

  *)

  echo "Usage: oracle { start | stop | restart }"

  exit 1

esac

exit 0

1.2 修改/etc/rc.d/init.d/oracle执行权限

chmod  755 /etc/rc.d/init.d/oracle

1.3 添加oracle服务

chkconig  --add oracle

1.4 设置oracle服务自启动

chkconfig oracle on

1.5 启动、关闭、重启oracle命令

启动oracle数据库:

service  oracle  start

关闭oracle数据库:

service  oracle  stop

重启oracle数据库

service  oracle restart


完成之后需要配置监听 推荐使用图形化工具  运行 netmgr (在$ORACLE_HOME/bin下)

wKioL1XkIq6zCG4TADdwugzkxXU689.jpg

wKiom1XkIRnyYNGjAFXZqONpem8240.jpg

wKioL1XkIzqT6sxgADvJ6AF5ZWk447.jpg

然后重新加载监听重启就可以了
lsnrctl reload
lsnrctl stop
lsnrctl start


你可能感兴趣的:(oracle,数据库,linux,服务器)