一、配置系统参数
在安装oracle前我们需要对用到的系统参数进行配置
1、修改系统内核参数
kernel.sem = 250 32000 100 128
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
fs.aio-max-nr = 1048576
fs.file-max = 6815744
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.ip_local_port_range = 9000 65500
注意:kernel.shmmax的值是物理内存的一半。 如果服务器是4G内存,那么他的值是2147483648
参数说明: kernel.shmmni:整个系统共享内存段的最大数目
fs.file-max:系统中所允许的文件句柄最大数目
net.core.rmem_default:套接字接收缓冲区大小的缺省值
net.core.rmem_max:套接字接收缓冲区大小的最大值
net.core.wmem_default:套接字发送缓冲区大小的缺省值
net.core.wmem_max:套接字发送缓冲区大小的最大值
net.ipv4.ip_local_port_range:应用程序可使用的IPv4端口范围
修改完成之后使内核参数生效
sysctl –p输出:
2、修改hosts文件
192.168.100.197oracleoracle.localdomainrhel6.localdomain
必须将主机名对应到主机真实ip192.168.100.197地址,否则oracle有可能将监听程序仅仅建立在127.0.0.1上。主机名可根据个人喜好进行设置。
3、创建用户和用户组
[root@rhel6 ~]#groupadd dba
[root@rhel6 ~]#groupadd oinstall
[root@rhel6 ~]#useradd -g oinstall -Gdba oracle
[root@rhel6 ~]#passwd oracle
创建oracle用户时,所属组为oinstall和dba,并使用passwd oracle为oracle用户设置密码
4、新建安装目录
我们将oracle安装在home/app/oracle下,需要在home下新建目录
mkdir -p /home/app/oracle
mkdir -p /home/app/oraInventory (日志目录)
5、设置目录的所有权和权限
root@ubuntu:~# chmod -R 755 /home/app(权限)
root@ubuntu:~# chown -R oracle:oinstall /home/app/oracle (所有权)
root@ubuntu:~# chown -R oracle:oinstall /home/app/oraInventory (所有权)
6、配置oracle用户环境变量
[oracle@linux02 ~]$ su oracle (切换到oracle用户下)
[oracle@linux02 ~]$ vi .bash_profile
(.bash.profile是在/home/oracle下的是隐藏文件注意用ls –a 查看)
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_BASE=/home/app/oracle; export ORACLE_BASE (对应用户创建的oracle目录)
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1; export ORACLE_HOME
ORACLE_SID=orcl; export ORACLE_SID
ORACLE_TERM=xterm; export ORACLE_TERM
PATH=$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:$PATH; export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export CLASSPATH
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
umask 022
(ORACLE_SID的值可自己定,这里设为orcl,在后续安装时的ORACLE_SID也应设置为orcl:)
完成之后立刻是环境变量生效source .bash_profile
检查环境变量是否生效 env |grep ORA
7、修改/etc/security/limits.conf文件
在文件【/etc/security/limits.conf】最后添加以下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
8、修改/etc/pam.d/login文件
在文件【/etc/pam.d/login】最后添加以下内容:
session required pam_limits.so
9、修改/etc/profile文件
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
umask 022
fi
10、防火墙设置
在文件【/etc/sysconfig/iptables】内增加以下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT
Oracle远程访问端口默认是1521,OEM端口1158,若自定义新端口,请开放相应端口。
(新开放端口的配置必须紧跟着放在端口22的配置后面)
重启防火墙:[root@oracle sysconfig]# service iptables restart,输出如下重启成功:
iptables: Flushing firewall rules: [ OK ]
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Unloading modules: [ OK ]
iptables: Applying firewall rules: [ OK ]
二、oracle软件安装
1、启动oracle安装
找到解压包后database里runInstaller选择在终端中打开,待安装文件检查结束后出现图形界面安装:
2、配置安全更新
取消勾选,不接收安全更新,然后点击【next】,弹出提示窗口,选择【yes】:
3、选择安装选项
提供了3个安装选项:
创建和配置数据库
仅安装数据库软件
这里我们选择第一个【创建和配置数据库】,然后点击【next】:
4、选择系统类
桌面类:如果要在笔记本或桌面类系统中安装,则选择此选项,此选项包括启动数据库并允许采用最低配置。
服务器类:如果要在服务器类系统中进行安装(如在生产数据中心内部署Oracle时使用的内容),则选择此选项,此选项允许使用更多高级配置选项。
为了能使用更多高级配置选项,我们选择【服务器类】,然后点击【Next】:
5、节点选择
单实例数据库安装
Real Application Clusters数据库安装
选择【单实例数据库安装】,然后点击【Next】:
6、选择安装类型
包含2个选项:
典型安装:使用基本配置执行完整的Oracle Database安装
高级安装:可以选择高级选项,例如:为SYS、SYSMAN、SYSTEM和DBSNMP账户使用不同口令,选择数据库字符集,产品语言,自动备份,定制安装及备用存储选项(例如自动存储管理)。
选择【高级安装】,然后点击【Next】:
7、选择产品语言
默认已添加了【English】,在左侧语言列表中找到简体中文【Simplified Chinese】这样的话我们可以在window系统中远程访问,并添加到右侧,然后点击【Next】:
8、选择数据库版本
包含3个选项:
企业版:具有可伸缩性、高性能、高可用性和安全功能的自行管理的数据库,能够满足大多数高标准的关键任务应用程序的需求。
标准版:标准版是寻求低成本解决方案的工作组、部门和中小企业的理想选择。
标准版1:标准版1是寻求低成本解决方案的工作组、部门和中小企业的理想选择。
选择【企业版】,然后点击【Next】:
9、指定安装目录
设置Oracle基目录为新建的目录:/home/app/oracle,则软件位置会自动为:/home/app/oracle/product/11.2.0/dbhome_1,然后点击【Next】:
10、创建产品清单
设置Oracle清单目录新建的目录:/home/app/ oraInventory,选择组"oinstall",然后点击【Next】:
11、选择配置类型
包含2个选项:
一般用途/事务处理:为一般用途或高事务处理量应用而设计的启动数据库。
数据仓库:为数据仓库应用程序而优化的启动数据库。
这里我选择【一般用途/事务处理】,然后点击【Next】:
12、制定数据库标识符
指定Oracel全局数据库名和服务标识符为:orcl(在前面提到),然后点击【Next】:
13、制定配置选项
在【内存】页中勾选【启用自动内存管理】,在【字符集】页中选择【使用Unicode】,然后点击【Next】:
14、制定管理选项
选择【使用Database Control管理数据库】,然后点击【Next】:
15、指定数据库存储选项
选择【文件系统】,并设置路径为:/home/app/oracle/oradata,然后点击【Next】:
16、指定恢复选项
选择【不启用自动备份】,然后点击【Next】:
17、指定方案口令
这里我选择【对所有账户使用相同口令】,然后输入密码(rootadmin),当然你也可以为不同用户设置不同密码。然后点击【Next】:
18、特权操作系统组
设置数据库管理员组为【dba】,数据库操作者组为【oinstall】。然后点击【Next】:
19、执行先决条件检查
若提示有程序包不存在,我们可以通过yum进行安装,然后点击【Next】:
Package 包直接yum install 安装 pdksh从网上down rpm包
20、概要
查看安装概要,若无问题,则可点击【Finish】结束配置,开始进行安装:
21、软件安装及配置数据库
22、运行配置脚本
软件及数据库配置完成后,需要运行配置脚本:
打开命令终端,切换到root用户,并执行脚本:
[root@oracle tmp]# /home/app/oraInventory/orainstRoot.sh
[root@oracle ~]# /home/app/oracle/product/11.2.0/dbhome_1/root.sh
/usr/local/bin
执行完成后,切换到图形安装界面,点击【OK】
这样oracle数据库就安装完成了
三、配置优化与测试(root)
root@oracle ~]# vi /etc/oratab
orcl:/home/app/oracle/product/11.2.0/dbhome_1:Y(将N改为Y)
进入dbstart和dbshut所在的bin目录
root@oracle ~]# cd /home/app/oracle/product/11.2.0/dbhome_1/bin/
[root@oracle bin]# vi dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME(将$1改为$ORACLE_HOME)
[root@oracle bin]# vi dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME(将$1改为$ORACLE_HOME)
3、建立启动脚本
在/etc/rc.d/init.d/目录下新建一个oracle文件
#!/bin/bash
# chkconfig: 2345 99 10
# description: Startup Script for oracle Databases
# /etc/rc.d/init.d/oracle
export ORACLE_BASE=/home/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export PATH=$PATH:$ORACLE_HOME/bin
case “$1” in
start)
echo “-----startup oracle-----“ >> /var/log/oraclelog
su oracle –c “$ORACLE_HOME/bin/dbstart”
su oracle –c “$ORACLE_HOME/bin/emctl start dbconsole”
touch /var/lock/subsys/oracle
echo “-----startup oracle successful-----“ >> /var/log/oraclelog
echo “OK”
;;
stop)
echo “-----shutdwn oracle-----“ >> /var/log/oraclelog
su oracle –c “$ORACLE_HOME/bin/dbshut”
su oracle –c “$ORACLE_HOME/bin/emctl stop dbconsole”
rm –f /var/lock/subsys/oracle
echo “-----shutdown oracle successful-----“ >> /var/log/oraclelog
echo “OK”
;;
*)
echo “Usage: ‘basename $0' start|stop”
exit 1
esac
exit 0
4、设置脚本权限
[root@oracle init.d]# chmod 755 oracle
5、建立oracle服务
[root@oracle ~]# chkconfig --add oracle
[root@oracle ~]# chkconfig oracle on
6、测试连接
[oracle@oracle ~]$ sqlplus "/as sysdba"
sql*Plus: Release 11.2.0.1.0 Production on Tue Jan 5 16:49:24 2016
Copyright (c) 1982,2009,Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning,OLAP,Data Mining and Real Application Testing options
7、启动oem客户端
[oracle@oracle ~]$ emctl start dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.1.0
Copyright (c) 1996,2009 Oracle Corporation. All rights reserved.
https://oracle:1158/em/console/aboutApplication
- An instance of Oracle Enterprise Manager 11g Database Control is already running.
8、登录Oracle企业管理器(OEM)
打开系统的FireFox浏览器,并输入OEM的URL:https://oracle:1158/em,远程访问的话输入的URL:https://192.168.100.197:1158/em输入sys用户和密码(rootadmin),以SYSDBA身份登录,登录成功的页面如下:
四、安装过程中常见的问题
yum源的配置
Redhat自身的源存在一些问题,我安装过程中使用的是163的源。
1、 确认RedHat的版本
cat /etc/redhat-release或者uname -m
系统:rhel-server-6.2-i386
2、 找到对应的redhat6.2的源rpm包
把下面4个rpm文件wget下载下来备用
http://mirrors.163.com/centos/6/os/i386/Packages/python-iniparse-0.3.1-2.1.el6.noarch.rpm
http://mirrors.163.com/centos/6/os/i386/Packages/yum-3.2.29-69.el6.centos.noarch.rpm
http://mirrors.163.com/centos/6/os/i386/Packages/yum-metadata-parser-1.1.2-16.el6.i686.rpm
http://mirrors.163.com/centos/6/os/i386/Packages/yum-plugin-fastestmirror-1.1.30-30.el6.noarch.rpm
3、 卸载自带的yum
rpm -aq|grep yum|xargs rpm -e --nodeps
4、 按照下面的顺序安装rpm包
rpm -ivhpython-iniparse-0.3.1-2.1.el6.noarch.rpm
rpm -ivhyum-Metadata-parser-1.1.2-16.el6.i686.rpm
rpm -ivhyum-3.2.29-40.el6.centos.noarch.rpmyum-plugin-fastestmirror-1.1.30-14.el6.noarch.rpm
(最后两个安装包要放在一起同时安装,否则会提示相互依赖,安装失败)
5、 添加163的yum源
# cd /etc/yum.repos.d/
# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
# vi CentOS6-Base-163.repo
编辑文件,把文件中的$releasever全部替换成redhat的版本号也就是6最后保存。
6、 导入key
# rpm --import http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
7、 清理yum缓存
# yum clean all
# yum makecache #将服务器上的软件包信息缓存到本地,以提高搜索安装软件的速度
# yum install vim* #测试yum是否可用
至此,Redhat6可以使用CentOS的yum源在线安装软件了!
需要安装的依赖包
在安装oracle的过程中会check,我们发现会少一些依赖包我们可以通过yum install进行安装
compat-libstdc++-33-3.2.3-69.el6.i686
elfutils-libelf-devel-0.161-3.el6.i686
gcc-c++-4.4.7-16.el6.i686
libstdc++-devel-4.4.7-16.el6.i686
libaio-devel-0.3.107-10.el6.i686
unixODBC-2.2.14-14.el6.i686
unixODBC-devel-2.2.14-14.el6.i686
pdksh-5.2.14
Swap 空间不够问题
1、用dd指令建了一个swapfile;
[root@oracle image]# dd if=/dev/zero of=/tmp/swap bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied,32.223 s,33.3 MB/s
2、用mkswap将swapfile格式化为swap文件格式
[root@oracle image]# mkswap /tmp/swap
mkswap: /tmp/swap: warning: don't erase bootbits sectors
on whole disk. Use -f to force.
Setting up swapspace version 1,size = 1048572 KiB
no label,UUID=4ae3030b-bedc-45c5-84e5-6193af42e7a3
3、用swapon启动该文件
[root@oracle image]# swapon /tmp/swap
[root@oracle image]# free -m
total used free shared buffers cached
Mem: 2022 1967 54 0 29 1680
-/+ buffers/cache: 258 1764
Swap: 3039 0 3039
bash:sqlplus:command not found的问题
1、 检查.base_profile中PATH是否配置正确
2、 切换到root给sqlplus建立一个索引
root登陆之后切换到oracle用户上,输入
su oracle
第二步:连接
在oracle用户下,输入
sqlplus /nolog
第三步:使用管理员权限
输入
connect /as sysdba
第四步:启动/关闭服务
输入
startup
Shutdown
监听器
lsnrctl start 启动
lsnrctl stop 关闭
lsnrctl status 状态
[root@oracle ~]# ln -s $ORACLE_HOME/bin/sqlplus /usr/bin
Oralce数据库的启动