Linux 安装Oracle10g

来源:互联网 发布:淘宝网店忘记了怎么办 编辑:程序博客网 时间:2024/05/22 07:57

1、  安装环境及相关要求

System: CentOS 5.6

Oracle version: Oracle10g

基本需求:

物理内存大小: 至少1G,检查命令:#grep MemTotal /proc/meminfo

swap: 大小为内存2倍, 检查命令:# grep SwapTotal /proc/meminfo

tmp: 大于400M,检查命令:# df–k /tmp

oracle安装目录: 至少3G 检查命令:# df -lh

检查系统架构:# grep"model name" /proc/cpuinfo

检查Linux版本:#more /etc/issue

检测Linux内核:#uname –r

Oracle安装目录: /apps (该用例安装目录)

 

2、  准备安装

1)、解压安装文件:

# unzip 10201_database_linux32.zip

2)、安装依赖包

binutils

compat-libstdc++-33

elfutils-libelf

elfutils-libelf-devel

glibc

glibc-common

glibc-devel

gcc

gcc-c++

libaio

libaio-devel

libgcc

libstdc++

libstdc++-devel

make

sysstat

unixODBC

unixODBC-devel

libXp

可通过以下命令查看是否安装,例如:

# rpm –qa | grep binutils

如果不存在,可以逐一安装,也可以采用以下方式安装:

# yum –yinstall binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibcglibc-common glibc-devel gcc gcc-c++ libaio libaio-devel libgcc libstdc++ libstdc++-develmake sysstat unixODBC unixODBC-devel libXp

 

3、  修改内核参数

# vi /etc/sysctl.conf

在该文件中添加以下内容:

#oraclesettings

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

修改完毕后,执行以下命令使配置文件生效:

# sysctl –p

 

4、  修改/etc/security/limits.conf

# vi /etc/security/limits.conf

在该文件中添加以下内容:

#oraclesettings

oracle           soft    nproc           2047

oracle           hard    nproc          16384

oracle           soft    nofile          1024

oracle           hard    nofile          65536

 

5、  修改/etc/pam.d/login

# vi /etc/pam.d/login

在该文件中添加以下内容:

#oraclesettings

session    required    /lib/security/pam_limits.so

 

6、  修改/etc/selinux/config

# vi/etc/selinux/config

更改以下内容:

SELINUX=disabled

 

7、  修改/etc/redhat-release

# vi /etc/redhat-release

将该文件内容更改为:

redhat-4

 

8、  创建相关用户

# groupadd oinstall

# groupadd dba

# useradd –g oinstall –G dba oracle

# passwd oracle

 

9、  创建安装目录并赋予权限

# mkdir –p /apps/oracle/product

# chown –R oracle:oinstall /apps/

 

10、 配置oracle环境变量

切换至oracle用户

# su – oracle

修改.bash_profile文件

$ vi .bash_profile

在该文件中添加以下内容:

#oraclesettings

umask 022

export TMP=/tmp

exportTMPDIR=$TMP

 

exportORACLE_BASE=/apps/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

exportORACLE_SID=ORCL

exportORACLE_TERM=xterm

exportTNS_ADMIN=$ORACLE_HOME/network/admin

exportPATH=/usr/sbin:$PATH

exportPATH=$ORACLE_HOME/bin:$PATH

exportLD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib

exportCLASSPATH=$ORACLE_HOME/jre:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib

exportNLS_LANG=AMERICAN_AMERICA.ZHS16GBK

 

if [ $USER ="oracle" ]; then

   if [ $SHELL = "/bin/ksh" ]; then

      ulimit -p 16384

      ulimit -n 65536

   else

      ulimit -u 16384 -n 65536

   fi

fi

 

11、 进入界面模式,开始安装

打开终端,输入以下命令:

# xhost +

# xhost + localhost

切换至oracle用户

# su – oracle

进入安装文件目录,开始安装:

$ ./runInstaller

最后一步需要执行以下脚本:

/apps/oracle/oraInventory/orainstRoot.sh

/apps/oracle/product/10.2.0/db_1/root.sh

root身份登录执行即可。

 

12、 启动数据库

打开终端使用oracle用户登录

$ sqlplus / as sysdba

SQL> startup

Errors 1

ORA-01078: failure in processing system parameters

LRM-00109: could not open parameter file'/apps/oracle/product/10.2.0/db_1/dbs/initORCL.ora'

执行以下操作:

$ cp /apps/oracle/admin/orcl/pfile/init.ora.4152011153029$ORACLE_HOME/dbs/initORCL.ora

 

Errors 2

ORA-01102: cannot mount database in EXCLUSIVE mode

执行以下操作:

root身份登录:

$ su – root

# cd /apps/oracle/product/10.2.0/db_1/dbs

# fuser –u lkORCL

# fuser –k lkORCL

然后换回oracle用户,重新执行startup

SQL> startup

 

如果启动后,显示的内容如下,则表示正确:

ORACLE instance started.

Total System Global Area 285212672 bytes

Fixed Size                 1218992 bytes

Variable Size             92276304 bytes

Database Buffers         188743680 bytes

Redo Buffers               2973696 bytes

Database mounted.

Database opened.

 

13、 修改数据库字符集

oracle用户登录

$ sqlplus system/system as sysdba

SQL> shutdown immediate

SQL> startup mount

SQL> alter system enable restricted session;

SQL> alter system set JOB_QUEUE_PROCESSES=0;

SQL> alter system set AQ_TM_PROCESSES=0;

SQL> alter database open;

SQL> alter database character set internal_use ZHS16GBK;

SQL> shutdown immediate

SQL> startup

 

其中ZHS16GBK是修改后的字符集编码 

可以使用以下语句查询当前数据库的字符集编码:

select userenv('language') from dual;

 

14、 Oracle服务开机启动

1)、修改/etc/oratab文件

$ vi /etc/oratab

将以下内容:

orcl:/apps/oracle/product/10.2.0/db_1:N

改为:

orcl:/apps/oracle/product/10.2.0/db_1:Y

2)、修改$ORACLE_HOME/bin/dbstart文件

$ cd $ORACLE_HOME/bin

$ vi dbstart

将以下内容:

ORACLE_HOME_LISTNER=/ade/vikrkuma_new/oracle

更改为:

ORACLE_HOME_LISTNER=$ORACLE_HOME

3)、测试dbstartdbshut是否能正常使用

切换至oracle用户,并执行命令

# su – oracle ---

$ cd $ORACLE_HOME/bin

$ dbstart

查看启动日志文件,是否有错误:

Errors 1

logger: Can't findinit file for Database instance "orcl".

logger: Error:Database instance "orcl" NOT started.

查看$ORACLE_HOME/dbs目录下是否存在spfileorcl.ora,确保大小写正确。

4)、编写脚本

切换至root用户,并创建oracle文件

$ su – root

# cd /etc/init.d

# vi oracle

在该文件中加入以下内容:

#!/bin/bash

#

# chkconfig: 2345 80 05

# description: Oracle 10g Server

# /etc/init.d/oracle

#

# Run-level Startup script for the Oracle Instance, Listener, and

# Web Interface

 

export ORACLE_BASE=/apps/oracle

export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1

export ORACLE_SID=ORCL

 

ORA_OWNR="oracle"

 

# if the executables do not exist -- display error

 

if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]

then

echo "Oracle startup: cannot start"

exit 1

fi

# depending on parameter -- startup, shutdown, restart

# of the instance and listener or usage display

 

case "$1" in

start)

# Oracle listener and instance startup

echo -n "Starting Oracle: " 

su $ORA_OWNR -c "$ORACLE_HOME/bin/dbstart"

touch /var/lock/oracle

echo "OK"

;;

stop)

# Oracle listener and instance shutdown

echo -n "Shutdown Oracle: "

su $ORA_OWNR -c "$ORACLE_HOME/bin/dbshut"

rm -f /var/lock/oracle

echo "OK"

;;

reload|restart)

$0 stop

$0 start

;;

*)

echo "Usage: `basename $0` start|stop|restart|reload"

exit 1

esac

exit 0

 

给该文件赋予权限,并加入到服务项

# chmod 755 oracle

# chkconfig –-add oracle

启动服务

# service oracle start

停止服务

# service oracle stop

 

15、 开放1521端口

修改/etc/sysconfig/iptables

# vi /etc/sysconfig/iptables

在该文件中添加以下内容:

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp--dport 1521 -j ACCEPT

重启系统

# reboot

原创粉丝点击