近期有一个新项目,需要在Linux下部署Oracle数据库,目前公司内很多数据库都已经成型了,新同事们可能涉及不到重新安装数据库的部分,想想还是有必要整理一下全过程,供大家参考学习。
一、环境准备:
操作系统:RedHat 6.5
Oracle安装介质版本:11.2.0.4.0
很多新同事可能会问这样的问题,即:我现在要安装一个Oracle数据库,我应该干些什么准备工作呀?那么我整理一下应该需要你提前准备好的几步,我们安装一个数据库的期望是一次成功,了解了这些才能避免返工。
- 操作系统层面
你应该先对你的数据库服务器做一个简单的规划,即这台服务器的根目录需要多少空间?我要把Oracle安装软件放在哪里?我的数据文件又会在哪呢?这个ORACLE数据库是不是要开闪回、归档模式?如果开了的话,我的闪回区,归档模式的数据文件要放在哪里呢?这些都是需要在操作系统分区层面考虑的,把这里规划好了,你安装完毕的数据库就会看起来很“规范”,至少是个正经库了,不至于所有数据文件都乱糟糟的堆在一起。
我推荐大家用这样的分区表来规划一下自己的服务器,即:
我这里的规划,在一些文件系统的大小划分上,其实也是不合理的,但是有几个文件系统的大小是有讲究的,我来解释一下:
**根目录给了50G,这么大,为什么?**
在oracle安装的时候,根目录会增长,如果根目录不够的话,整个安装是不能继续进行的,为了确保安装顺利,在条件允许的情况下,尽量给的大一些。
**/dev/shm是干什么的?它怎么有64G?**
这个是一个虚拟出来的空间,不是在硬盘上的,是在内存里的,Oracle对这个大小是有限制的,太小会无法启动数据库。
**/opt目录怎么也给了50G,它是干什么的?**
一般ORACLE都安装在/opt下,它的空间给大点总是没有错的。
**还有一个隐藏的地方,即SWAP空间,系统没有SWAP,数据库安装检查的时候过不去。**
- ISO镜像挂载
这块其实也是属于操作系统层面,为啥要把它单独拿出来呢?
**因为我见过很多同学装数据库,就是卡在这一步,哎呀这么多依赖包,怎么上网找呀,管谁要谁没有,这可怎么安装,真费劲!**
其实你有了系统镜像,配置一个本地yum源,这些都不是问题。
二、准备安装
安装过程,也是分这么几步的,按照顺序来,就不会有问题。
- 配置/etc/hosts
- Disable SELinux
- 关闭防火墙
- 增加用户
- 修改系统参数
- 配置yum
- 配置/etc/security/limits.conf
- 配置目录
- 配置用户环境变量
- 停止ntp服务,11gR2 新增功能
这里我不会挨个的写出来每个里面到底是用什么命令去执行,我只把步骤列出来,这类的文章,网上一大把,还是那句话,别人写过的,我就不重复写了,可以自己找一找,查找本身也是学习的一个过程。
ok,上面的10步执行完了,我们具备了将oracle安装软件上传到服务器的前提条件了,接下来要做的一切,都是可以用图形化界面来完成的。我还是列出接下来的步骤。
- 登陆到oracle用户,将oracle软件解压后,执行./runInstaller.sh
这里我要特殊说一下,有的同学配置好了环境变量以后,一执行,哎?怎么乱码呢?
**这里用一个命令就可以搞定:先执行export LANG =C,再执行./runInstaller.sh**
- 在这里,我们会对数据库的一些基本内容做一些设置,但要注意,这不是建库。
- 数据库安装前的安装检查
还记得之前我们说过的yum本地源吗?这里用yum可以快速搞定!什么没有就yum install xxx一下,最后实在没有的直接ingore掉。
- 用ROOT执行2个shell。
当进度条读完后,会让你用ROOT用户手工执行2个shell,按照窗口中显示的东西,去root下执行吧。
ok,恭喜你,执行到这里,你已经完成了ORACLE软件的安装。那么下一步该干什么了呢?
到这里我们可以用sqlplus / as sysdba进去数据库了,但是很遗憾,目前还没有监听程序,那么接下来就是监听程序的配置了。
- 我们执行netca命令
如果没有特殊要求端口号,就是一路下一步。
执行完后,我们执行lsnrctl status命令,就可以发现数据库监听已经自己启动了。
好,我们现在ORACLE软件和监听程序都已经配置完毕了,是不是可以来一个属于自己的DB了?
- 我们执行dbca命令
这个命令,是来帮助我们建数据库的,里面会涉及到我建立的数据库sid是什么,是不是要开EM,闪回,归档模式等等。
我只针对三个地方进行说明,第一:
还记得我们最开始的那张图吗,里面有个/oradata,ok,把它放在这里面去。
**为什么要把它放在这?因为这个文件系统就是给我们存放数据文件用的,不放不是浪费了吗,这样我们可以更规范我们的数据文件了。**
第二:
**很多同学,安装完了数据库,都进行到导入数据这一步了,结果一查询怎么中文都是乱码呀!就是这里没这么选**
第三:
**这里是redo文件的放置位置,还记得我们之前说过的吗,在/oradata下是我们的数据文件,那我们可不可以再给他们分一分类呢,就是在这里设置的,在建库前想好它。**
都搞定之后,点击finish,Oracle就开始自动建库了,怎么样,是不是很Easy?
三、验证环节
我们安装完了一个数据库,不自己试一试怎么行?来一个简单的验证吧!同样不放命令,只放步骤。
- 我们自己建一个以自己名字命名的用户
- 给它dba权限,session访问权限,create table权限。
- 建立一张表,名叫test,表里有一个列,往里面insert一条中文数据。
- 验证完毕后,把这个用户删除。
正确的验证结果是,我们通过服务端和plsql客户端去查询这张表,这条中文数据都能够正常显示,这就证明我们的数据库安装成功了。
后续,我们需要对oracle自身的一些表空间进行一些扩容,初始的都比较小。
ok,分享完了,希望对你有用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。