+ ------------------ CentOS 6.3上安装配置oracle 11g R2  ----------------- +

+---------------------------By--tanglongwei ---------------------------------+

一、运行环境

系统环境:centos 6.3 32(图形安装)

#同步时钟

yum -y install ntp
ntpdate time.nist.gov

#以下下为计划任务-每过2小时同步一次时间

echo "* */2 * * * /sbin/ntpdate time.nist.gov" >> /etc/crontab

关闭服务:

iptables
selinux
portmap
rpc.statd
cupsd
avahi-daemon
sendmail

killall iptables

chkconfig --level 2345 iptables off
killall portmap
chkconfig --level 2345 portmap off
killall avahi-daemon
chkconfig --level 2345 avahi-daemon off
killall sendmail
chkconfig --level 2345 sendmail off

#vim /etc/selinux/conf  设置 SELINUX=disabled

#enforce 0   //关闭selinux

二、安装oracle 11gR2 依赖的组件包

#需要以下组件:可使用yum源安装。

yum -y install binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio-devel libaio libgcc libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel pdksh numactl-devel glibc-headers

/sbin/ldconfig

三、调整内核参数在最后添加

vi /etc/sysctl.conf
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 536870912
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.aio-max-nr = 1048576

#让内核参数生效

sysctl -p

#修改limits.conf

vi /etc/security/limits.conf
#oracle settings
oracle           soft    nproc   2047
oracle           hard    nproc   16384
oracle           soft    nofile  1024
oracle           hard    nofile  65536

#修改系统版本(Redhat 5.×系列系统略过这步Centos需修改。)

cp /etc/redhat-release /etc/redhat-release.bk
vi /etc/redhat-release
#修改内容为:
Red Hat Enterprise Linux AS release 5 (Taroon)

#修改/etc/pam.d/login

#添加以下内容:系统32位与64位不同的是
session    required     /lib/security/pam_limits.so

#session required /lib64/security/pam_limits.so

session    required     pam_limits.so

#修改/etc/profile

vi /etc/profile
#添加以下内容:
if [ $USER = "oracle" ]; then
   if [ $SHELL = "/bin/ksh" ]; then
      ulimit -p 16384
      ulimit -n 65536
   else
      ulimit -u 16384 -n 65536
   fi
fi

#修改/etc/csh.login

vi /etc/csh.login
#添加以下内容:
if ( $USER == "oracle" ) then
     limit maxproc 16384
     limit deors 65536
endif

四、创建oracle用户

groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
passwd oracle

mkdir -p /data/oracle

mkdir -p /data/oralnventory
mkdir -p /data/software
chown -R oracle:oinstall /data/oracle
chown -R oracle:oinstall /data/software
chown -R oracle:oinstall /data/oralnventory

如果安装的时候报2个文件错误,是因为没权限写入。查看/data目录权限修改为oracle:oinstall

#设置用户环境变量

#su - oracle
$ vi .bash_profile
#添加以下内容:
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_UNQNAME=orcl;

ORACLE_BASE=/data/oracle; export ORACLE_BASE

ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin; export PATH

ORACLE_BASE下是adminproduct

ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener等等一系列的东东。
这只是ORACLE自己的定义习惯。ORACLE_HOMEORACLE_BASE目录要更深一些。也就是说:ORACLE_HOME$ORACLE_BASE/product/version

ORACLE_BASEoracle的根目录,ORACLE_HOMEoracle产品的目录。

简单说,你如果装了2个版本的oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME2,全局数据库名用于区别分布式数据库各个不同机器上的实例。
SID
用于区别同一台机器上的不同实例,
即一个用于外部区分。
一个用于内部区分。

$source .bash_profile

五、安装oracle

#上传oracle安装文件到/data/software目录下,并解压
cd /data/software
unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip
xhost +   #(
这里使用root用户执行,一定要执行以下2步,如果没有执行,将无法启动图形安装界面有些系统执行会乱码。可以使用英文版安装[LANG=en_US]否则会出现乱
xhost + localhost #(
这里有些系统干部支持)
su - oralce
cd /data/software/database
$./runInstaller  #(
oracle安装文件所在目录执行该命令)

 

#方案口令:大写字母+数字+小写字母

#root身份执行脚本

su -
/data/oralnventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh

六、开机启动设置

#自动启动和关闭数据库实例和监听
vi /oracle/oracle/product/11.2.0/db_1/bin/dbstart
ORACLE_HOME_LISTNER=$1
#
修改为:
ORACLE_HOME_LISTNER=$ORACLE_HOME

编辑 /etc/oratab orcl:$ORACLE_HOME:N 该成Y

#添加服务器启动脚本。

vi /etc/init.d/oracle

#!/bin/sh

# chkconfig: 345 61 61

# description: Oracle 11g AutoRun Services

# /etc/init.d/oracle

#

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

# Web Interface

 

export ORACLE_BASE=/data/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=orcl

export PATH=$PATH:$ORACLE_HOME/bin

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

     su - $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart

     echo "Oracle Start Succesful!OK."

     ;;

 stop)

     # Oracle listener and instance shutdown

     su - $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut

     echo "Oracle Stop Succesful!OK."

     ;;

 reload|restart)

     $0 stop

     $0 start

     ;;

 *)

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

     exit 1

esac

exit 0

        

完成后保存,修改文件权限

chmod 750 /etc/init.d/oracle

添加链接

ln -s /etc/init.d/oracle /etc/rc1.d/K61oracle
ln -s /etc/init.d/oracle /etc/rc3.d/S61oracle
chkconfig --level 345 oracle on
chkconfig --add oracle

#启动oracle

service oracle start

#启动和关闭 EM

vi /etc/init.d/oraemctl
#!/bin/sh

# chkconfig: 345 61 61

# description: Oracle 11g AutoRun Services

# /etc/init.d/oraemctl

#

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

# Web Interface

 

export ORACLE_BASE=/data/oracle

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1

export ORACLE_SID=orcl

export ORACLE_UNQNAME=orcl

export PATH=$PATH:$ORACLE_HOME/bin

ORACLE_OWNER="oracle"

 

case "$1" in

start)

echo -n $"Starting Oracle EM DB Console Please Input Oracle "

 

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl start dbconsole"

echo "OK"

;;

stop)

echo -n $"Stopping Oracle EM DB Console Please Input Oracle "

su - $ORACLE_OWNER -c "$ORACLE_HOME/bin/emctl stop dbconsole"

echo "OK"

;;

*)

echo $"Usage: $0 {start|stop}"

esac

改权限 如果修改750不可以执行则修改777

chmod 750 /etc/init.d/emctl

chmod +x /etc/init.d/oracle

chmod +x /etc/init.d/oracle

#启动EM
service emctl start

启动状态中如果提示输入oracle密码.就是文件提示权限不足,可自行修改。

修改 vim /etc/oratab

orcl:/data/oracle/product/11.2.0/db_1:N 就是将N改为Y

启动完成后重新启动系统reboot

使用命令重新开启实例

/etc/init.d/oracle reload

查看数据库实例启动没有

Ps –ef |grep “smon”

查看监听状态

  lsnrctl status

sqlplus /nolog

conn system/安装时填写的密码,如没填写,需要进入SQL环境启动startup

查看是否有1521: listen 端口

如果不行,查看脚本是否有误点。

Free –m查看内存大小

 

使用pscp上传dmmp.dmmp

PSCP.EXE

上传命令"

F:\sha\dmmp.dmp

下载命令

pscp oracle@192.168.0.130:/data/software F:\shuju;