+ ------------------ 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下是admin和product ORACLE_HOME下则是ORACLE的命令、连接库、安装助手、listener等等一系列的东东。这只是ORACLE自己的定义习惯。ORACLE_HOME比ORACLE_BASE目录要更深一些。也就是说:ORACLE_HOME=$ORACLE_BASE/product/version
ORACLE_BASE是oracle的根目录,ORACLE_HOME是oracle产品的目录。简单说,你如果装了2个版本的oracle,那么ORACLE_BASE可以是一个,但ORACLE_HOME是2个,全局数据库名用于区别分布式数据库各个不同机器上的实例。 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;