实验环境:ORACLE11GR2,CENTOS6.2 32位版本(免去修改redhat的Yum源,IP设置为192.168.233.10,NAT网络),VM8.0版本

安装参考官网文档和一些文章,将配置参数尽量补全了一些,其中也将实验无效的地方进行了修正。

首先搭建好环境,centos默认安装的Minitop,配置好了FTP,网络,比较简单,不描述了。下载11G版本也比较简单也不描述了。下载地址,支持迅雷下载,不用注册http://929044991.blog.51cto.com/1758347/1068460

一、Linux安装完成后相关服务的设置:

1.关闭防火墙服务和邮件服务和NTP时间同步服务

[root@leonarding1 etc]# chkconfig --list iptables 查看防火墙服务运行级别设置参数

iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off 2345开机都启动

root@leonarding1 etc]# chkconfig --list sendmail 查看邮件服务运行级别设置参数

sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off 2345开机都启动

[root@leonarding1 etc]# service iptables stop 临时关闭防火墙服务

[root@leonarding1 etc]# service sendmail stop 临时关闭邮件服务

Shutting down sm-client: [ OK ]

Shutting down sendmail: [ OK ]

[root@leonarding1 etc]# chkconfig --level 35 iptables off 指定35运行级别上开机不启动

[root@leonarding1 etc]# chkconfig --level 35 sendmail off 指定35运行级别上开机不启动

[root@leonarding1 etc]# chkconfig --list iptables 查看是否设置成功35运行级别上开机不启动

iptables 0:off 1:off 2:on 3:off 4:on 5:off 6:off

[root@leonarding1 etc]# chkconfig --list sendmail 查看是否设置成功35运行级别上开机不启动

sendmail 0:off 1:off 2:on 3:off 4:on 5:off 6:off

root@leonarding1 app]# service ntpd status 查看ntp服务状态,已经关闭

root@leonarding1 app]# service ntpd stop 临时关闭ntp服务

[root@leonarding1 app]# chkconfig ntpd off 指定ntp服务开机不启动

2. 修改hosts 文件(删除掉默认的内容添加下面两句话)

  The "/etc/hosts" file mustcontain a fully qualified name for the server.

  <IP-address>  <fully-qualified-machine-name>  <machine-name>

127.0.0.1       localhost

192.168.233.10  oracleinstall 

3. 设置内核参数并生效

# vim /etc/sysctl.conf

kernel.core_uses_pid = 1 

kernel.shmall = 2097152     # ipcs -m   4G*1024*1024/4K = 1048576(页)

kernel.shmmax = 2147483648   2G*1024*1024*1024=2147483648(字节) 

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

fs.file-max = 65536

fs.suid_dumpable = 1

net.ipv4.ip_local_port_range = 9000 65000

net.core.rmem_default = 4194304

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048586

使其生效

# /sbin/sysctl –p

4.修改Oracle用户的shell限制

4.1 # vim /etc/security/limits.conf

添加如下内容

oracle soft nproc 2047

oracle hard nproc 16384

oracle soft nofile 1024

oracle hard nofile 65536

4.2 # vim /etc/pam.d/login

添加如下内容

[session required /lib/security/pam_limits.so 对64位操作系统不需要这行]

session required pam_limits.so 我是64位系统只添加这行即可

# ulimit –a 检查配置情况

5. 在/etc/security/limits.conf 文件里添加如下内容

oracle              soft    nproc  2047

oracle              hard    nproc  16384

oracle              soft    nofile 4096

oracle              hard    nofile 65536

oracle              soft    stack  10240

6. 创建groups 和 users

groupadd -g 501 oinstall

groupadd -g 502 dba

groupadd -g 503 oper

groupadd -g 504 asmadmin

groupadd -g 506 asmdba

groupadd -g 505 asmoper

useradd -u 502 -g oinstall -Gdba,asmdba,oper oracle

passwd oracle

7. 创建目录并赋权

mkdir -p/u01/app/oracle/product/11.2.0/db_1

chown -R oracle:oinstall /u01

chmod -R 775 /u01

8.安装RPM包

8.1 检查相关的RPM包是否安装:

# rpm -q binutils compat-libcap1 compat-libstdc++33 gcc gcc-c++ glibc glibc-devel ksh libgcc libstdc++ libstdc++ libaio libaio-devel make sysstat

 

9。安装sqlplus命令行中的键盘增强工具,可以正常使用上下左右退格键。

 #yum install rlwrap

二、用户环境变量配置:

 

1.修改oracle 用户的.bash_profile环境变量

# su – oracle 登陆oracle用户

[oracle@leonarding1 ~]$ vim .bash_profile 修改.bash_profile

添加如下环境变量

# Oracle Settings #

export TMP=/tmp 指定临时目录

export TMPDIR=$TMP 指定临时目录路径

export ORACLE_BASE=/u01/app/oracle ORACLE基目录

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1 ORACLE家目录

export ORACLE_SID=ORCL ORACLE实例名

export ORA_CRS_HOME=/u01/app/product/crs_1 可选,这是集群注册服务目录

export ORACLE_ADMIN=$ORACLE_BASE/admin ORACLE的dump目录

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib 如果不写这个环境变量,当每次重启数据库时,在alert日志会

有报错信息

export ORACLE_TERM=xterm 指定安装ORACLE终端的类型

export PATH=/usr/sbin:/usr/bin:/usr/local/bin:$ORACLE_HOME/bin:$ORACLE_HOME/jdk/bin:$PATH

[oracle@leonarding1 ~]$ source .bash_profile 重新加载环境变量使之生效

四、开始安装数据库(切换到Oracle用户安装)

1.安装之前先导入语言,export LANG=en_US,否则安装的图形界面会出现乱码

2.解压压缩文件到相应的地点

#unzip 文件 -r /路径   解压.zip软件到相应的目录

3. ./runInstaller开始安装oracle数据库软件

$ cd database/ 进入安装目录

$ pwd

/home/oracle/database

$ ./runInstaller

—————————————————————————————————————

五.DB 开机自启动示例

5.1 修改/etc/oratab的值为Y

gg1:/u01/app/oracle/product/11.2.0.3/db_1/bin>ll /etc/oratab

-rw-rw-r-- 1 oracle oinstall 722 Jan 3020:36 /etc/oratab

gg1:/u01/app/oracle/product/11.2.0.3/db_1/bin>cat /etc/oratab

#

gg1:/u01/app/oracle/product/11.2.0.3/db_1:Y

 

5.2 修改dbstart的ORACLE_HOME_LISTNER,使其指向$ORACLE_HOME:

# First argument is used to bring up OracleNet Listener

ORACLE_HOME_LISTNER=$ORACLE_HOME

 

5.3  用root用户在rc.local里添加如下内容:

[root@gg1 ~]# cat /etc/rc.local  

#!/bin/sh

#

# This script will be executed *after* allthe other init scripts.

# You can put your own initialization stuffin here if you don't

# want to do the full Sys V style initstuff.

touch /var/lock/subsys/local

su - oracle -c"/u01/app/oracle/product/11.2.0/db_1/bin/dbstart"

su - oracle -c"/u01/app/oracle/product/11.2.0/db_1/bin/emctl start dbconsole"

这里注意必须用oracle 用户来启动脚本。

5.4 设置Oracle数据库

1.设置SQLPLUS命令行提示符样式

[oracle@leonarding1 ~]$ vim $ORACLE_HOME/sqlplus/admin/glogin.sql 登陆glogin.sql全局配置文件

在该文件glogin.sql尾部添加如下内容

set sqlprompt "_user'@'_connect_identifier> "

[oracle@leonarding1 ~]$ sqlplus / as sysdba 测试设置效果

SYS@LEO1> 用户名@连接串名

注:这样我们就可以很方便的知道哪个用户登录到哪台数据库上了,避免了混淆

5.5 验证

oracle@leonarding1 ~]$ ps -ef | grep ora_ 查看DB进程也是存在的

[oracle@leonarding1 ~]$ lsnrctl status 检查监听状态也是成功的

SQL> select * from v$version; 查询数据库版本

5.表空间使用率

select df.tablespace_name "表空间名",totalspace "总空间M",freespace "剩余空间M",round((1-

freespace/totalspace)*100,2) "使用率%" from (select tablespace_name,round(sum(bytes)/1024/1024) totalspace 

from dba_data_files group by tablespace_name) df, (select tablespace_name,round(sum(bytes)/1024/1024) 

freespace from dba_free_space group by tablespace_name) fs where df.tablespace_name=fs.tablespace_name order 

by df.tablespace_name ;--表空间使用率