1. 安装前准备
[1] 安装软件包
yum -y install binutils compat-libcap1 compat-libstdc++.i686 compat-libstdc++.x86_64 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libXext libXtst libX11 libXau libxcb libXi make sysstat unixODBC-devel.i686 unixODBC-devel.x86_64 unixODBC.i686 unixODBC.x86_64 compat-libstdc++-33.i686 compat-libstdc++-33.x86_64
安装软件包 pdksh-5.2.14-36.el5.i386.rpm (这个包yum源里没有,所以要手动安装,不装安装oracle时会有警告出现,但不影响最后的使用直接安装rpm包是会发生软件冲突,需要把ksh这个软件卸载后才可以安装)
请下载这个包上传到CentOS后使用如下命令安装。(单击文件名称下载)
[root@localhost public_root]# rpm -ivh pdksh-5.2.14-36.el5.i386.rpm
最后还需要安装libXp这个Library,这个一定要安装,否则安装Oracle时会出现java Exception。
# yum install libXp
[2] 更改kernel参数
[root@localhost var]# vi /etc/sysctl.conf # Disable netfilter on bridges. #net.bridge.bridge-nf-call-ip6tables = 0
#net.bridge.bridge-nf-call-iptables = 0
#net.bridge.bridge-nf-call-arptables = 0
# Controls the default maxmimum size of a mesage queue kernel.msgmnb = 65536 # Controls the maximum size of a message, in bytes kernel.msgmax = 65536 # Controls the maximum shared segment size, in bytes kernel.shmmax = 4294967295 # Controls the maximum number of shared memory segments, in pages kernel.shmall = 268435456 # 在文件末尾添加 net.ipv4.ip_local_port_range = 9000 65500
fs.file-max = 6815744
kernel.shmall = 10523004
kernel.shmmax = 6465333657
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default=262144
net.core.wmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_max=1048576
fs.aio-max-nr = 1048576
执行以下命令使更改生效
[root@localhost var]# sysctl -p
[3] 创建安装oracle所需用户与用户组
在这里只讨论单主机环境,不考虑RAC环境的配置。
执行以下指令以新增oracle安装时所需要的使用者与群组。
(1) 建立群组oinstall
# groupadd oinstall
(2) 建立群组dba
# groupadd dba
(3) 新增使用者oracle并将其加入oinstall和dba群组
# useradd -m -g oinstall -G dba oracle
(4) 测试oracle账号是否建立完成
# id oracle
(5) 建立oracle的新密码
# passwd oracle
(6)将oracle使用者加入到sudo群组中 (这步可以省略)
# vi /etc/sudoers
找到root ALL=(ALL) ALL 这行,并且在底下再加入
oracle ALL=(ALL) ALL
输入wq!(由于这是一份只读文档所以需要再加上!)并且按下Enter
[4]编辑/etc/security/limits.conf
# vi /etc/security/limits.conf
# 在文件末尾添加
oracle soft nproc 2047oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
[5]编辑/etc/pam.d/login
# vi /etc/pam.d/login
# 在文件末尾添加
session required /lib/security/pam_limits.sosession required pam_limits.so
[6]修改/etc/profile
[root@localhost var]# 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
[7]创建Oracle安装文件夹以及数据存放文件夹
#mkdir /opt/oracle
#mkdir /opt/oracle/102
#chown -R oracle:dba /opt/oracle
[8]配置Linux主机
[9]
配置oracle用户环境变量
$ cd /home/oracle
$ vi .bash_profile
修改并加入以下內容
ORACLE_BASE=/opt/oracle //上面创建的Oracle安装文件夹
ORACLE_HOME=$ORACLE_BASE/102
ORACLE_SID=orcl
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
保存后使用如下命令,使设置生效:
$ source /home/oracle/.bash_profile
[10]解压安装文件
$ cd /opt/oracle
[root@localhost public_root]# unzip linux_11gR2_database_1of2.zip [root@localhost public_root]# unzip linux_11gR2_database_2of2.zip
解压缩完成会在同一个文件夹中看到database的文件夹,请进入到database文件夹中:
$ cd database
准备执行数据库安装,如果你的centos是中文环境,安装时会出现中文乱码,请下以下指令
$ export LANG=en_US
接着执行
$ ./runInstaller
# xhost +
$ ./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安装清单
选择Cancel,出现下面界面
正在安装,请耐心等待
点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
系统运维 www.osyunwei.com 温馨提醒:qihang01原创内容 版权所有,转载请注明出处及原文链接
Ok
Ok
Ok
注意:这里如果出现上面的提示,可以等安装完成之后用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