这个主要是作为自己学习的笔记,在安装oracle时候,参考了http://www.osyunwei.com/archives/5445.html
操作系统:centos6.0_X64
mkdir -p /data/oracle #oracle数据库安装目录
mkdir -p /data/oraInventory #oracle数据库配置文件目录
mkdir -p /data/database #oracle数据库软件包解压目录
2、创建运行oracle数据库的系统用户和用户组
groupadd oinstall #创建用户组oinstall
groupadd dba #创建用户组dba
useradd -g oinstall -g dba -m oracle #创建用户oracle,并加入oinstall和dba用户组
passwd oracle #设置用户oracle的登录密码,根据提示输入两次密码
chown -R oracle:oinstall /data/oracle #设置目录所有者为oinstall用户组的oracle用户
chown -R oracle:oinstall /data/oraInventory
chown -R oracle:oinstall /data/database
3、修改操作系统标识(oracle默认不支持CentOS系统安装)
vi /etc/redhat-release #编辑
把:CentOS release 6.0 (Final)
修改为:redhat-4
:wq! #保存退出
4、设置系统内核参数
vi /etc/sysctl.conf #编辑,在最后添加以下代码
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
:wq! #保存退出
sysctl -p #使配置立即生效
5、设置oracle用户限制,提高软件运行性能
vi /etc/security/limits.conf #在末尾添加以下代码
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
:wq! #保存退出
6、配置用户环境
vi /home/oracle/.bash_profile #在最后添加以下代码
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名
export ORACLE_TERM=xterm #xterm窗口模式安装
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export LANG=C #防止安装过程出现乱码
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致,如:ZHS16GBK,否则出现数据导入导出中文乱码问题
:wq! #保存退出
source .bash_profile #使设置立刻生效
7、关闭SELINX
vi /etc/selinux/config #编辑配置文件
#SELINUX=enforcing #注释掉
#SELINUXTYPE=targeted #注释掉
SELINUX=disabled #增加
:wq! #保存退出
8、配置防火墙开启1521端口
vi /etc/sysconfig/iptables #编辑防火墙配置文件,添加以下内容
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
/etc/init.d/iptables restart #重启防火墙使配置生效
9、解压oracle压缩文件到解压目录
cd /usr/local/src #进入目录
unzip linux_11gR2_database_1of2.zip -d /data/database #解压
unzip linux_11gR2_database_2of2.zip -d /data/database #解压
chown -R oracle:oinstall /data/database/database
10、安装oracle数据库所需要的软件包
yum install gcc* gcc-* gcc-c++-* glibc-devel-* glibc-headers-* compat-libstdc* libstdc* elfutils-libelf-devel* libaio-devel* sysstat* unixODBC-* pdksh-*
二、安装数据库:
su �C oracle
export DISPLAY=:0.0 #用w命令查看,根据自己系统显示的结果填写
cd /data/database/database #进入安装包目录
./runInstaller #安装,出现下面界面
耐心等待一会,出现下面的界面
Emial:默认不用填写
取消:“我希望通过My Oracle Support接收安全更新”前面的勾,不接收更新,点Next
提示是否不接收安全更新通知,选择Yes
Next
选择第二项,仅安装数据库软件
Next
选择第一项,单实例数据库安装
Next
语言选项,默认英语即可
Next
选择第一项:企业版
Next
Oracle数据库基目录:/data/oracle
Oracle软件安装位置:/data/oracle/product/11.2.0/db_1
Next
Oracle配置文件目录:/data/oraInventory
Nex
Oracle数据库运行组,默认即可
Next
进行安装前系统环境监测
注意:如果有某一项未监测通过,请根据提示做相应修改,知道监测全部通过为止,否则不能进行下一步安装
全部监测通过之后,点Cancel
列出oracle安装清单
选择finsh,正在安装,请耐心等待
点OK
直到安装完成,点Close
五、配置监听程序(创建数据库之前必须要先配置)
继续在Windows客户端运行Xmanager,登录到Linux服务器的 X window界面
su - oracle #切换到oracle用户
netca #配置监听程序命令,出现下面界面
选择第一项:监听程序配置
Next
选择第一项:添加
Next
监听程序名,默认即可
Next
协议配置,默认TCP即可
Next
选择第一项:使用标准端口号1521
Next
询问:是否配置另一个监听程序
选择:否
Next
监听程序配置完成,Next
Finish完成
三、创建Oracle数据库实例orcl
继续在Windows客户端运行Xmanager,登录到Linux服务器的 X window界面
su - oracle #切换到oracle用户
dbca #启动oracle实例安装界面,如下图所示
Next
选择第一项:创建数据库
Next
默认选择第一项:一般用途或事务处理
Next
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接
全局数据库名:orcl
SID:orcl
Next
默认即可,Next
口令配置,可以为每个账户设置不同的口令,也可以为所有账户设置一个相同的口令
选择第二项:所有账户使用同一管理口令
Next
如果口令设置的太简单,不满足Oracle口令的复杂性要求,会弹出上面的界面,可以选择是,或者选择否,然后返
口令设置,重新设置一个复杂的口令。
存储类型:文件系统
存储位置:使用模版中的数据库文件位置
Next
默认选择:指定快速恢复区
Next
快速恢复区大小设置,如果系统剩余空间小于设置值会出现上面的提示
Next
默认,Next
切换到调整大小:进程300(可以根据服务器配置设置)
切换到字符集设置
选择第三项:从字符集列表中选择
选择:ZHS16GBK- GBK 16-bit Simplified Chinese
国家字符集:AL16UTF16-Unicode UTF-16 Universal character set
默认语言:Simplified Chinese
默认地区:China
切换到连接模式,选择:专用服务器模式
Next
全部设置完成之后,点Finish
勾选:创建数据库
勾选:生成数据库创建脚本
点Finish
注意:这里如果出现file "/etc/oratab" is not accessible 提示,可以等安装完成之后用root账号登录,执行下面两个命令
/data/oracle/product/11.2.0/db_1/root.sh
/data/oraInventory/orainstRoot.sh
生成/etc/oratab文件
正在创建数据库
数据库创建完成,点Exit退出
三、启动oracle数据库
su - oracle #切换到oracle用户
sqlplus /nolog #进入sqlplus
conn / as sysdba #以超级管理员权限登录
startup #启动数据库实例
quit #退出
lsnrctl start #启动监听
startup参数说明:
startup #不带任何参数,启动数据库实例并打开数据库,一般选择这种启动方式
startup nomount #只启动数据库实例,不打开数据库,一般用于创建新的数据库时使用
startup mount #启动数据库实例,并加载数据库,但不打开数据库,一般用于修改数据库名称等管理时使用
四、关闭oracle数据库
su - oracle #切换到oracle用户
lsnrctl stop #关闭监听器
sqlplus /nolog #进入sqlplus
shutdown immediate #关闭数据库实例
quit #退出
shutdown参数说明:
normal #等待所有的用户断开连接,执行命令后不允许新连接
immediate #等待用户完成当前的语句后,再断开用户连接,不允许新用户连接
transactional #等待用户完成当前的事务后断开连接,不允许新用户连接
abort #强行断开连接并直接关闭数据库
前面三种方法不会导致数据库出错,最后一种方法非特殊状况不建议使用,
一般使用shutdown immediate关闭数据库
备注:如果执行shutdown immediate出现ORA-01012: not logged on错误
请先执行以下语句
ps -ef|grep ora_dbw0_$orcl
kill -9 pid #pid为进程号
其中orcl 是数据库的SID
五、设置oracle开机启动
说明:linux下默认安装完Oracle后不会实现开机自启动
1、su - root#切换到root用户操作
/data/oracle/product/11.2.0/db_1/root.sh #执行脚本,生成/etc/oratab文件
/data/oraInventory/orainstRoot.sh
2、vi /etc/oratab #编辑
找到:$ORACLE_SID:$ORACLE_HOME::
取消前面的#注释,修改为:
orcl:/data/oracle/product/11.2.0/db_1:Y #orcl为oracle数据库实例名称
:wq! #保存退出
3、vi /data/oracle/product/11.2.0/db_1/bin/dbstart#编辑
找到:ORACLE_HOME_LISTNER=$1
修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME
4、vi /data/oracle/product/11.2.0/db_1/bin/dbshut#编辑
找到:ORACLE_HOME_LISTNER=$1
修改为:ORACLE_HOME_LISTNER=$ORACLE_HOME
5、创建oracle启动脚本
vi /etc/init.d/oracle #编辑,添加以下代码
##########################################################
#!/bin/sh
# chkconfig: 0356 99 10
# description: Startup Script for Oracle Databases
# Script path:/etc/init.d/oracle
# Author:www.osyunwei.com by qihang01
#
ORACLE_BASE=/data/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=orcl
PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH
export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH
#
ORA_OWNR="oracle"
#
if [ ! -f $ORACLE_HOME/bin/dbstart -o ! -d $ORACLE_HOME ]
then
echo "Oracle startup: cannot start"
exit 1
fi
#
case "$1" in
start)
su - $ORA_OWNR -lc $ORACLE_HOME/bin/dbstart
echo "Oracle Start Succesful!"
;;
stop)
#
su - $ORA_OWNR -lc $ORACLE_HOME/bin/dbshut
echo "Oracle Stop Succesful!"
;;
restart)
$0 stop
$0 start
;;
*)
echo $"Usage: `basename $0` {start|stop|restart}"
exit 1
esac
exit 0
##########################################################
:wq! #保存退出
chown oracle.oinstall /etc/init.d/oracle #更改文件所有者
chmod 755 /etc/init.d/oracle #添加执行权限
ln -s /etc/init.d/oracle /etc/rc3.d/S99oracle #添加系统启动级别3软连接
ln -s /etc/init.d/oracle /etc/rc5.d/S99oracle #添加系统启动级别5软连接
ln -s /etc/init.d/oracle /etc/rc0.d/K01oracle #添加系统关机软连接
ln -s /etc/init.d/oracle /etc/rc6.d/K01oracle #添加系统重启软连接
chkconfig --add oracle #添加系统服务
chkconfig oracle on #设置开机启动
备注:# chkconfig: 0356 99 10
0356:定义运行级别
99:开机启动优先级(数字越大启动越晚)
10:关机停止优先级(数字越小关闭越早)
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接
6、恢复操作系统标识
vi /etc/redhat-release #编辑
把:redhat-4
修改为:CentOS release 5.8 (Final)
:wq! #保存退出
7、更改系统默认启动级别为3
vi /etc/inittab #编辑
id:3:initdefault: #修改5为3
:wq! #保存退出
8、测试
shutdown -r now #重启系统
service oracle start #启动oracle
service oracle stop #关闭oracle
/etc/init.d/oracle restart #重启oracle
su - oracle #切换到oracle用户
dbstart #启动oracle
dbshut #关闭oracle
ps -efw | grep ora #查看oracle进程
ps -efw | grep LISTEN | grep -v gre #查看oracle端口监听
lsnrctl status #查看oracle运行状态
至此,CentOS下安装Oracle 11g R2教程完成。
扩展阅读:
使用vnc远程连接来安装Oracle,如果出现错误,不能启动安装界面,请做以下操作!
用 root ssh登录
vncserver #启动vnc
New 'www:1 (root)' desktop is www:1 #记住www:1,后面会用到!
export DISPLAY=www:1 #输入
service vncserver start #启动vnc
使用vnc客户端 root 登录
xhost +
su - oracle #切换到oracle用户
./runInstaller #执行安装
------------------------------------------------------------
问题:
安装Oracle 11g时提示如下错误:
Exception in thread “main” java.lang.UnsatisfiedLinkError: /tmp/OraInstall2009-11-25_02-34-42PM/jre/1.4.2/lib/i386/libawt.so:libXp.so.6: cannot open shared object file: No such file or directory
原因是缺少了包,装上如下的包就可以了。
# rpm -ivh libXp-1.0.0-8.1.el5.i386.rpm
记录一下以免忘记了。
libXau-devel-1.0.1-3.1.i386.rpm
libXp-1.0.0-8.1.el5.i386.rpm
libXp-devel-1.0.0-8.1.el5.i386.rpm