实验环境: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 ;--表空间使用率