linux 安装配置oracle

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

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/

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

详情请见附件

猜你喜欢

转载自wuxiangqian.iteye.com/blog/1300886