一步步教你如何在CentOS6.0上安装Oracle 11gR2详细步骤

首先安装CentOS6.0

===========

就不用说了。安装即可。唯一需要注意的就是后面Oracle 11G Installation guide中的Checking the Software Requirements部分,会要求安装一部分软件

这些软件在CentOS6 DVD镜像里都有。可以自己配置个DVD镜像的repos。

检查命令格式如下:

rpm -qa | grep 名字

binutils-2.17.50.0.6            ok
compat-libstdc++-33-3.2.3        ok
elfutils-libelf-0.125            ok
elfutils-libelf-devel-0.125        --
elfutils-libelf-devel-static-0.125    --
gcc-4.1.2                ok
gcc-c++-4.1.2                ok
glibc-2.5-24                ok
glibc-common-2.5            ok
glibc-devel-2.5                ok
glibc-headers-2.5            ok
kernel-headers-2.6.18            ok
ksh-20060214                ok
libaio-0.3.106                ok
libaio-devel-0.3.106             --
libgcc-4.1.2                ok
libgomp-4.1.2                ok
libstdc++-4.1.2             ok
libstdc++-devel-4.1.2            ok
make-3.81                ok
numactl-devel-0.9.8.i386        --
sysstat-7.0.2                --
unixODBC-2.2.11                --
unixODBC-devel-2.2.11            --

从 CentOS-5.5-i386-bin-DVD.iso\CentOS 文件找到缺少的包, 并且上传到 linux 上去,

ls *.rpm

rpm -ivh *.rpm

CentOS6.0基本环境配置

===========

#建立dba和 oinstall用户组。用来区别普通的用户

groupadd oinstall

groupadd dba

mkdir -p /u01/oracle

#添加一个oracle用户, 根目录是 /u01/oracle, 主的组是 oinstall 副的组是dba

useradd -g oinstall -G dba -d /u01/oracle oracle

#拷贝几个用户.bash*文件的demo

cp /etc/skel/.bash_profile /u01/oracle

cp /etc/skel/.bashrc /u01/oracle

cp /etc/skel/.bash_logout /u01/oracle

#为oracle用户设置密码 123456

passwd oracle

chown -R oracle:oinstall u01

#检查 nobody 是否存在 ,  id nobody 缺省存在的。#如果不存在 # /usr/sbin/useradd -g nobody

###############################

#内核参数修改(最好按照Oracle安装要求来修改)

#vi /etc/sysctl.conf

fs.aio-max-nr = 1048576

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 = 1048586

#立刻使内核参数生效,而不需要重启

#sysctl -p

#vi /etc/security/limits.conf

oracle           soft    nproc   2047

oracle           hard    nproc   16384

oracle           soft    nofile  1024

oracle           hard    nofile  65536

#vi /proc/sys/fs/file-max   120300/512#(未验证不重要)

#vi /etc/pam.d/login  #不知道干什么的

session    required     pam_limits.so

######################

#设置oracle 用户环境变量

#su – oracle

#vim ~/.bash_profile

ORACLE_BASE=/u01

ORACLE_HOME=$ORACLE_BASE/oracle

ORACLE_SID=wilson

PATH=$ORACLE_HOME/bin:$PATH:$HOME/bin

export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH

#查看设置的环境变量ITPUB个人空间.
[oracle@oracle11g ~]$ env | grep ORA

# 这个具体的作用还是不知道的

#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

# ifconfig #要改IP为固定的IP

# vi /etc/hosts

编辑里面内容  去掉一个oracle11g[安装Linux时的local名]###这个请根据情况改变。作用应该是 远程连接的时候需要这个IP

192.168.0.100 oracle11g

安装Oracle11gR2

============

安装文件(方式自己选择)

#此处注意,由于是英文安装环境,需要LANG的支持,否则中文乱码。

export LANG=en_US

./runInstaller 执行安装(oracle用户,非root)

安装到最后需要Root执行两个脚本

执行以下命令

[root@oracle11g ~]# /u01/oraInventory/orainstRoot.

[root@oracle11g ~]# /u01/oracle/root.sh

[root@oracle11g database]# netca  配置监听程序

[root@oracle11g database]# ps -ef 查看监听程序

[root@oracle11g database]# dbca  安装数据库

测试Oracle连接

sqlplus DBSNMP/passWORD

SQL> !ps -ef

SQL> !ps -ef | grep oracle Oracle数据库一些常用进程

启动监听程序

[oracle@devrfel501 ~]$ lsnrctl start

启动企业管理器

[oracle@devrfel501 ~]$ emctl start dbconsole

https://192.168.70.128:1158/em/console/aboutApplication这是我自己电脑上的

利用Net Manager 配置本地命名

[root@oracle11g ~]#  netmgr

Linux 启动ftp [root@localhost ~]# service vsftpd start

在dos里面

C:\Users\Administrator>ftp 192.168.48.130    OK

连接到 192.168.48.130。

Liunx关闭防火墙[root@localhost ~]# service iptables stop

[root@localhost ~]# vi /etc/inittab

我只能看到ID:3:INITDEFAULT ,但是不知道怎么将3改成5?  减少内存开销..

创建linux下自动启动Oracle的服务

==============================

View Code
下面是另外一个脚本。我在使用
$ORACLE_HOME
即可。dbshut同理。
其他操作请参照上面。下面只是脚本的内容改变了而已。
#!/bin/bash
#chkconfig:2345 99 10
#description :startup script for oracle database;
#/etc/rc.d/init.d/oracle
/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
/bin
$ORACLE_HOME
#lsnrctl在dbstart and dbshut里面已经包括,不必在设置了
#只需要设置 dbstart 和emctl start dbcosole 就可以了。
in
start)
log
/subsys/oracle
log
;;
stop)
log
/subsys/oracle
log
;;
*)
1
esac
0

手动启动关闭Oracle的方法

====

首先进入sqlplus
有以下几种启动方式:
1、startup nomount
非安装启动,这种方式启动下可执行:重建控制文件、重建数据库
读取init.ora文件,启动instance,即启动SGA和后台进程,这种启动只需要init.ora文件。
  
2、startup mount dbname
安装启动,这种方式启动下可执行:
数据库日志归档、
数据库介质恢复、
使数据文件联机或脱机,
重新定位数据文件、重做日志文件。
执行“nomount”,然后打开控制文件,确认数据文件和联机日志文件的位置,
但此时不对数据文件和日志文件进行校验检查。
3、startup open dbname
先执行“nomount”,然后执行“mount”,再打开包括Redo log文件在内的所有数据库文件,
这种方式下可访问数据库中的数据。
4、startup
等于以下三个命令
startup nomount
alter database mount
alter database open
5、startup restrict
约束方式启动
这种方式能够启动数据库,但只允许具有一定特权的用户访问
非特权用户访问时,会出现以下提示:
ERROR:
ORA-01035: ORACLE 只允许具有 RESTRICTED SESSION 权限的用户使用
6、startup force
强制启动方式
当不能关闭数据库时,可以用startup force来完成数据库的关闭
先关闭数据库,再执行正常启动数据库命令
7、startup pfile=参数文件名
带初始化参数文件的启动方式
先读取参数文件,再按参数文件中的设置启动数据库
例:startup pfile=E:/Oracle/admin/oradb/pfile/init.ora
8、startup EXCLUSIVE
有三种关闭方式:
1、shutdown normal
正常方式关闭数据库。
2、shutdown immediate
立即方式关闭数据库。
在SVRMGRL中执行shutdown immediate,数据库并不立即关闭,
而是在Oracle执行某些清除工作后才关闭(终止会话、释放会话资源),
当使用shutdown不能关闭数据库时,shutdown immediate可以完成数据库关闭的操作。
3、shutdown abort
直接关闭数据库,正在访问数据库的会话会被突然终止,
如果数据库中有大量操作正在执行,这时执行shutdown abort后,重新启动数据库需要很长时间。

另外:

测试结果显示,${ORACLE_HOME}环境变量中对“/”符号要求严格,不能在该字符串变量的值中出现多余“/”符号(虽然这样写在linux下是合法的),否则可能引起连接数据库异常。 #对于初学者需要提高警惕。

############
Oracle数据库入门心得
Oracle的体系太庞大了,对于初学者来说,难免会有些无从下手的感觉,什么都想学,结果什么都学不好,所以把学习经验共享一下,希望让刚刚入门的人对oracle有一个总体的认识,少走一些弯路。
一、定位
oracle 分两大块,一块是开发,一块是管理。开发主要是写写存储过程、触发器什么的,还有就是用Oracle的Develop工具做form。有点类似于程序员, 需要有较强的逻辑思维和创造能力,个人觉得会比较辛苦,是青春饭J;管理则需要对oracle数据库的原理有深刻的认识,有全局操纵的能力和紧密的思维, 责任较大,因为一个小的失误就会down掉整个数据库,相对前者来说,后者更看重经验。
因为数据库管理的责任重大,很少公司愿意请一个刚刚接触oracle的人去管理数据库。对于刚刚毕业的年轻人来说,可以先选择做开发,有一定经验后转型,去做数据库的管理。当然,这个还是要看人个的实际情况来定。
二、学习方法
我的方法很简单,就是:看书、思考、写笔记、做实验、再思考、再写笔记
看完理论的东西,自己静下心来想想,多问自己几个为什么,然后把所学和所想的知识点做个笔记;在想不通或有疑问的时候,就做做实验,想想怎么会这样,同样的,把实验的结果记下来。思考和做实验是为了深入的了解这个知识点。而做笔记的过程,也是理清自己思路的过程。
学习的过程是使一个问题由模糊到清晰,再由清晰到模糊的过程。而每次的改变都代表着你又学到了一个新的知识点。
学习的过程也是从点到线,从线到网,从网到面的过程。当点变成线的时候,你会有总豁然开朗的感觉。当网到面的时候,你就是高手了
很 多网友,特别是初学的人,一碰到问题就拿到论坛上来问,在问前,你有没有查过书,自己有没有研究过,有没有搜索一下论坛?这就叫思维惰性。由别人来回答你 的问题,会让你在短时间内不费劲地弄懂这个知识点,然而通过自己的努力去研究它,不但会更深入的了解这个知识点,更重要的是在研究的过程会提高你解决问题 和分析问题的能力。总的来说,没有钻研的学习态度,不管学什么东西,都不会成功的。
当然,初学的人很多时候是因为遇到问题时,无从下手,也不知道去哪里找资料,才会到论坛上提问题的。但我认为,在提问的时候,是不是可以问别人是如何分析这个问题?从哪里可以找到相关的资料?而不是这个问题的答案是什么?授人以鱼不如授人以渔。
下面我讲下我处理问题的过程
//metalink.oracle.com /这里是买了oracle服务或是oracle的合作伙伴才可以进去的,里面有很多权威的解决方案和补丁。然后就是一些着名网 站:asktom.oracle.com www.orafaq.net, www.dbazine.com。这里有很多经验之谈。


数据运维技术 » 一步步教你如何在CentOS6.0上安装Oracle 11gR2详细步骤