欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Linux下安装配置Oracle 博客分类: oracle/管理 linuxoracleinstall 

程序员文章站 2024-03-19 13:31:34
...

 

Linux下安装配置Oracle

1环境准备

1.1.linux系统安装

  版本

RHAS4:RedHat Enterprise Linux Advance Server 4.0

1.2.检查环境

  Hard Disk Space

[root@localhost  /]#df –h

 (目标安装目录) >2 G +1G(软件包源目录)

 /tmp >400M

  Mem>1G,swap>1G

[root@localhost  /]#cat /proc/meminfo|grep Total

  依赖软件版本

名称   最低版本  查询命令

kernel   2.6.9            #uname –a或 uname -r

glibc    2.3.2.95.27       #rpm -q glibc

gcc     3.2             #rpm -q gcc

make    3.79            #rpm -q make

binutils  2.14            #rpm -q binutils

libaio    0.3            #rpm -q libaio

openmotif  2.2.2-16      #rpm -q openmotif

setarch   1.3-1          #rpm -q setarch

1.3.检查并配置内核参数

  检查当前参数

/sbin/sysctl -a | grep 参数名

  配置内核参数

1)    执行 [root@localhost  /]#vi /etc/sysctl.conf 添加如下内容

kernel.shmall = 2097152   # OS范围内共享内存的最大页面数量, 单位4K, 默认2097152

kernel.shmmax = 536870912   # OS范围内每个共享内存段的最大尺寸. 单位Byte,默认32M

kernel.shmmni = 4096        #OS范围内共享内存段的最大数目,默认值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.wmem_defaut=262144

net.core.rmem_max=262144

net.core.wmem_max=262144

   2) 生效[root@localhost  /]# /sbin/sysctl -p

 

1.4.创建Oracle组及用户

  创建用户组oinstall,dba

创建安装数据库时所需要使用的用户组oinstall,dba

       [root@localhost  /]#groupadd oinstall

       [root@localhost  /]#groupadd dba

  创建用户oracle

创建用户oracle并将oinstamll,dba组定义成oracle用户的主次组

              [root@localhost  /]# useradd -g oinstall -G dba oracle (设定oracle用户为oinstall、dba用户组的成员)

              [root@localhost  /]#passwd oracle (设定oracle用户的密码)

  设置shell限制(可选)

(Oracle建议对每个Linux帐户可以使用的进程数和打开的文件数设置限制)

1)执行[root@localhost  /]#vi /etc/security/limits.conf添加以下四行

oracle soft nofile 65536

                            oracle hard nofile 65536

                            oracle soft nproc 16384

                            oracle hard nproc 16384

2)修改安全限制,执行[root@localhost  /]# vi /etc/pam.d/login加入如下1行

session required /lib/security/pam_limits.so

1.5.配置相关目录

  创建Oracle系统的安装目录和数据库文件存放的目录

[root@localhost  /]# mkdir -p /oracle/product/ 10.2.0 (创建数据目录)

[root@localhost  /]# mkdir -p /oracle/oradata(创建数据文件目录)

[root@localhost  /]# mkdir -p /oracle/flash_recovery_area(创建闪回目录)

[root@localhost  /]# mkdir -p /oracle/arc_pstat(创建归档日志目录)

[root@localhost  /]# mkdir -p /home/oracle/install_temp(创建oracle安装文件临时存放目录

[root@localhost  /]# chown -R oracle.oinstall  /home/oracle/install_temp

[root@localhost  /]# chown -R oracle.oinstall /oracle

[root@localhost  /]# chmod -R 775 /oracle (设定目录的读写权限)

1.6.配置环境变量

  确定ORACLE_SID

确定oracle_sid=oracletest       #后续安装后创建数据库时的服务名也保持一致,

  以oracle用户登录,修改oracle用户下的 .bash_profile 文件,完成后重启或或执行soure .bash_profile(. .bash_profile)或重登录生效

[oracle@localhost ~]$ vi  /home/oracle/.bash_profile增加以下内容

umask 022

ORACLE_BASE=/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/10.2.0; export ORACLE_HOME

#图形界面安装时要使用的变量

ORACLE_TERM=xterm; export ORACLE_TERM

ORACLE_OWNER=oracle; export ORACLE_OWNER

PATH=/usr/sbin:$PATH; export PATH

PATH=$ORACLE_HOME/bin:$PATH; export PATH

LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH

TMP=/tmp; export TMP

TMPDIR=$TMP; export TMPDIR

ORACLE_SID= oracletest

export ORACLE_SID

 

  退出后查看PATH source /home/oracle/.bash_profile

[oracle@localhost ~]$ set|grep PATH

2安装Oracle

1.1.oracle安装文件准备

  版本

oracle10g01_10.2.0.1.0_database_linux32

  文件准备

1)拷贝oracle10g01_10.2.0.1.0_database_linux32.zip

到目录/home/oracle/install_temp/下

2)解压:

unzip oracle10g01_10.2.0.1.0_database_linux32.zip

1.2.安装

  1.1开始

[oracle@localhost ~]$cd /home/oracle/install_temp/

[oracle@localhost ~]$cd  database

[oracle@localhost ~]$ ./runInstaller   #开始执行安装,等待一会出现

 

  1.1后续安装与window上基本一致(略)

后续安装与windows上基本一致,最后完成后出现如下图,切换用户到root下执行下两个配置脚本即可:

执行[root@localhost  /]#/oracle/oraInventory/orainRoot.sh

执行[root@localhost /]#/oracle/product/10.2.0/root.sh如下所示,输入/oracle/product/ 10.2.0/bin/

 

3配置Oracle

1.1.创建数据库oracletest

  执行[oracle@localhost ~]$dbca或图形菜单进行,注意下面一致即可(sys/oracletest)

 

1.2.配置监听,TNS

[oracle@localhost ~]$netca或图形菜单

最终  listener.ora

SID_LIST_LISTENER =

  (SID_LIST =

    (SID_DESC =

      (GLOBAL_DBNAME = oracletest)

      (ORACLE_HOME = /oracle/product/10.2.0/)

      (SID_NAME = oracletest)

    )

  )

 

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

  )

 

tnsnames.ora

ORACLETEST =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = oracletest)

    )

  )

 

1.3.EM

[oracle@localhost ~]$ emctl start| stop| status dbconsole

http://hostname:1158/em

1.4.isqlplus

[oracle@localhost ~]$ isqlplusctl startstart| stop| status

http://hostname:5560/isqlplus

 

1.5.配置自动启动

配置机器启动时自动启动数据库,监听与EM管理平台

停止时自动停止数据库,监听与EM管理平台

  修改Oracle系统配置文件/etc/oratab,把AUTO域由默认的N设置为Y,使oracle 自带的dbstart和dbshut才能够发挥作用

[root@localhost  /]#vi /etc/oratab

  创建启动脚本

1)[oracle@localhost ~] vi $ORACLE_HOME/bin/dbstart  找到第78行ORACLE_HOME_LISTNER=…

改为ORACLE_HOME_LISTNER=$ORACLE_HOME,

[oracle@localhost ~]cd $ORACLE_HOME/bin/

手动运行 [oracle@localhost ~] ./ dbstart

[oracle@localhost ~] ./ dbshut

测试正常与否

(日志:$ORACLE_HOME/startup.log与$ORACLE_HOME/shutdown.log)

2) [root@localhost  /]#vi /etc/init.d/oracle10g

#!/bin/sh

       # description: Oracle auto start-stop script.

       # chkconfig: - 20 80

       # Set ORA_HOME to be equivalent to the $ORACLE_HOME

       # from which you wish to execute dbstart and dbshut;

       #

       # Set ORA_OWNER to the user id of the owner of the

       # Oracle database in ORA_HOME.

       ORA_HOME=/oracle/product/10.2.0/

       ORA_OWNER=oracle

       if [ ! -f $ORA_HOME/bin/dbstart ]

       then

       echo "Oracle startup: cannot start"

       exit

       fi

       case "$1" in

       'start')

       # Start the Oracle databases:

       # The following command assumes that the oracle login

       # will not prompt the user for any values

       su - $ORA_OWNER -c $ORA_HOME/bin/dbstart

       #su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start"

       su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole"

       ;;

       'stop')

       # Stop the Oracle databases:

       # The following command assumes that the oracle login

       # will not prompt the user for any values

       su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole"

       su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop"

       su - $ORA_OWNER -c $ORA_HOME/bin/dbshut

       ;;

       'restart')

       $0 stop

       $0 start

       ;;

       esac

3) [root@localhost ~]# chmod 750 /etc/init.d/oracle10g

[root@localhost ~]# ln -s /etc/init.d/oracle10g  /etc/rc0.d/K10oracle10g

[root@localhost ~]#ln -s /etc/init.d/oracle10g  /etc/rc3.d/S99oracle10g

  [root@localhost ~]# chkconfig --list oracle10g

[root@localhost ~]# chkconfig --level 345 oracle10g on 

  [root@localhost ~]# chkconfig --list oracle10g