By Toper Lv
2015.8.16
平时在网上查阅各种文档的过程中,大家可能都有过类似的经历。一份文档,没有描述文档作者的实验环境,亦或对实验环境描述不清晰。所以,一旦按文档内容操作出错,大家很难判断问题的原因在于环境不一样,还是自己操作过程中出错。,
本人自然也避免不了以上情况,所以撰写文档时尽力做到描述清楚自己的环境,希望其他人参考此文档时不会有太多困惑。
1 实验环境
1.1 硬件配置
本文档实验环境为虚拟机,使用VMware WorkStation 11,创建的虚拟硬件版本为10(可以直接理解为使用的是VMware Workstation 10),为虚拟机分配的硬件配置如下:
1.2 操作系统
版本:Red Hat Enterprise Linux 6.4 x86_x64—桌面
语言:中文
主机名:oracle
IP:192.168.80.80
分区:如下截图
1.3 Oracle安装包
Oracle官网目前只能下载到11.2.0.1的安装包,所以本文档的安装包请大家百度找资源下载。
版本:11.2.0.4
安装包文件名:db_112040_Linux-x86-64_1of7.zip、db_112040_Linux-x86-64_2of7.zip
2 安装前准备
2.1 关闭防火墙
[root@oracle ~]# service iptables stop
[root@oracle ~]# chkconfig iptables off
2.2 配置主机名
[root@oracle ~]# vim /etc/hosts
192.168.80.80 oracle #在/etc/hosts文件添加如下行
2.3 配置YUM源
将RHEL6.4的安装光盘连接至光驱,并挂载光盘
[root@oracle ~]# mount /dev/cdrom /media
[root@oracle ~]# vim /etc/yum.repos.d/rhel6.repo
[RHEL6]
name=RHEL6.4-ISO
baseurl=file:///media
gpgcheck=0
enabled=1
[root@oracle ~]# yum clean all
2.4 安装软件包
以下是Oracle安装需要的前置软件包。
[root@oracle ~]# yum install -y binutils-2.* compat-libstdc++-33* elfutils-libelf-* gcc-4* gcc-c++* glibc* libaio* libgcc* libstdc++-* make-3.* sysstat* unixODBC*
还有一个pdksh的安装包RHEL6.4的镜像中是没有的,需要先去网上搜索并下载,然后上传到我们的服务器进行安装。
这里将安装包上传到了root的家目录。
[root@oracle ~]# yum install -y ./pdksh-5.2.14-37.el5_8.1.x86_64.rpm
2.5 创建用户和组
为了比较规范,指定了用户和组的ID,也可以不指定。
创建用户oracle,密码passw0rd;创建组oinstall、dba。
[root@oracle ~]# groupadd -g 5000 oinstall
[root@oracle ~]# groupadd -g 5001 dba
[root@oracle ~]# useradd -u 5000 -g oinstall -G dba oracle
[root@oracle ~]# echo 'passw0rd' | passwd --stdin oracle
2.6 配置内核
紫色字体为已有内容,需按文档进行更改。绿色为新加内容。
[root@oracle ~]# vim /etc/sysctl.conf
#单个共享内存段的最大值(不能超过自己的内存大小,这里设置的值为2G)
kernel.shmmax = 2147483648
#可以使用的共享内存的总页数
kernel.shmall = 2097152
#该参数是共享内存段的最大数量,建议用缺省值4096
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
#该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量
fs.file-max = 6815744
#套接字接收缓冲区大小的缺省值
net.core.rmem_default = 1048576
#套接字接收缓冲区大小的最大值
net.core.rmem_max = 4194304
#套接字发送缓冲区大小的缺省值
net.core.wmem_default = 262144
#套接字发送缓冲区大小的最大值
net.core.wmem_max = 1048576
#此参数限制并发未完成的请求,应该设置避免I/O子系统故障
fs.aio-max-nr = 1048576
#IP4的端口可使用范围
net.ipv4.ip_local_port_range = 9000 65500
[root@oracle ~]# /sbin/sysctl -p
执行该命令使修改的内核参数立即生效,如下错误提示请忽略
error: "net.bridge.bridge-nf-call-ip6tables" is an unknown key
error: "net.bridge.bridge-nf-call-iptables" is an unknown key
error: "net.bridge.bridge-nf-call-arptables" is an unknown key
2.7 配置资源限制
在资源限制中添加如下内容
[root@oracle ~]# vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
2.8 创建安装目录
创建Oracle安装目录,并更改目录所有者、所属组
[root@oracle ~]# mkdir -p /u01/app/oracle
[root@oracle ~]# chown -R oracle:oinstall /u01/
2.9 配置环境变量
切换至创建的oracle用户。
[root@oracle ~]# su - oracle
[oracle@oracle ~]$ vim .bash_profile
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
ORACLE_SID=orcl #这里指定的ORACLE_SID为数据库实例名
LD_LIBRARY_PATH=$ORACLE_HOME/lib
PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
使环境变量生效
[oracle@oracle ~]$ source /home/oracle/.bash_profile
3 Oracle安装
Oracle安装分为Oracle软件安装和创建数据库两步,可以将两步一次完成,也可以分为两步操作,这里只演示分两步安装的过程。
使用oracle用户登录安装。
3.1 Oracle软件安装
将oracle安装包上传至用户oracle家目录
[oracle@oracle ~]$ ls
db_112040_Linux-x86-64_1of7.zip
db_112040_Linux-x86-64_2of7.zip
解压安装包,会自动创建database目录
[oracle@oracle ~]$ unzip db_112040_Linux-x86-64_1of7.zip ; unzip db_112040_Linux-x86-64_2of7.zip
打开另一个终端,使用root用户执行如下命令,确保Oracle图形安装界面可以正常调用
[root@oracle ~]# xhost +
指定输出语言为en_us,防止安装界面乱码
[oracle@oracle ~]$ export LANG=en_us
[oracle@oracle ~]$ cd database
[oracle@oracle database]$ ./runInstaller
安装程序打开Oracle图形安装界面
取消勾选,下一步
Yes
Skip software updates
Install database software only(前面已经提过这里演示软件和创建数据库分开安装情况)
Single Instance database installation(单实例数据库安装)
添加语言:简体中文
Enterprise Edtion(企业版)
Oracle会根据环境变量自动选择设置好的安装路径,直接下一步即可
Next
下面空白的选择框选择oinstall,Next
这一步是对安装前配置环境的检查,由于我们配置好了所有的准备环境,所以这一步会在检测通过后自动跳过。下面截图是倒退一步后对依赖软件包的检测
Install
软件安装到最后一步,会跳出如下执行脚本的提示
打开一个终端,使用root登录,执行要求执行的脚本。执行完毕后在图形界面点OK。
[root@oracle ~]# /u01/app/oraInventory/orainstRoot.sh
[root@oracle ~]# /u01/app/oracle/product/11.2.0/dbhome_1/root.sh
安装完毕,Close
3.2 创建数据库
用oracle用户登录,执行命令:dbca
Create a Database
默认的选择即可:一般用途/事务处理
根据环境变量中设置的ORACLE_SID设置数据库名称和SID,这里设置的是:orcl
由于未启动监听,所以在以下菜单切换会有警告
使用oracle用户登录,启动监听。监听启动后回图形界面点OK
[oracle@oracle ~]$ lsnrctl start
选择所有用户设置相同密码(正式业务中请为这些用户分别设置密码)
提示上一步设置密码不够安全,Yes继续
选择:Use Oracle-Managed Files
保持默认,Next
Next
其他不用设置,字符集选择:UTF8
Next
保持默认,Finish
OK
数据库开始安装,请耐心等待
Exit(刚刚已经设置了密码,这里就不在进密码管理了)
退出后图形界面自动关闭,数据库安装完成
4 查看数据库
4.1 监听
在oracle用户下执行。
4.1.1 查看监听状态
按之前步骤安装完毕后,默认监听已经启动,查看监听状态。
[oracle@oracle ~]$ lsnrctl status
4.1.2 启动/关闭监听
启动监听
[oracle@oracle ~]$ lsnrctl start
关闭监听
[oracle@oracle ~]$ lsnrctl stop
4.2 数据库
在oracle用户下执行。
4.2.1 查看数据库状态
默认数据库已经启动,连接数据库,查看数据库状态
[oracle@oracle ~]$ sqlplus / as sysdba
SQL> select status from v$instance;
SQL> select open_mode from v$database;
4.2.2 启动/关闭数据库
启动数据库
SQL> startup
关闭数据库
SQL> shutdown immediate