最近有个新项目需要在Linux下部署Oracle数据库。目前公司很多数据库已经成型,新同事可能不会参与到重装数据库的部分。我觉得还是有必要把整个过程梳理一下,供大家参考学习。一、环境准备:操作系统:RedHat6.5Oracle安装介质版本:11.2.0.4.0很多新同事可能会问这样的问题,即:我现在想安装一个Oracle数据库,需要做哪些准备工作?那么我来梳理一下大家应该提前准备的步骤。我们期望安装数据库是成功的。只有了解这些,才能避免返工。在操作系统层面,你首先应该为你的数据库服务器做一个简单的规划,即这台服务器的根目录需要多大的空间?Oracle安装软件放在哪里?我的数据文件在哪里?这个ORACLE数据库需要开启闪回和归档模式吗?如果启用,我应该把存档模式的数据文件放在闪回区的什么地方?这些都需要在操作系统分区级别考虑。如果你计划好这一点,你安装的数据库会看起来很“标准”,至少会是一个正经的数据库,所有的数据文件都不会乱七八糟地堆在一起。我推荐大家使用这样的分区表来规划自己的服务器,也就是我这里的规划对于一些文件系统的大小划分其实是不合理的,但是几个文件系统的大小是有讲究的。我解释一下:给根目录50G,这么大,为什么?在oracle安装过程中,根目录会变大。如果根目录不够,则整个安装无法继续。为了保证安装顺利,有条件的尽量给大一点的尺寸。/dev/shm是做什么用的?它怎么有64G?这是一个虚拟空间,不在硬盘上,而是在内存中。Oracle对这个大小有限制,如果太小,数据库无法启动。为什么给/opt目录50G?它是做什么用的?一般ORACLE安装在/opt下,给它一个大一点的空间也没什么不好。还有一个隐藏的地方,就是SWAP空间。系统没有SWAP,很难通过数据库安装检查。ISO镜像挂载其实属于操作系统层面,为什么要单独拿出来呢?因为我见过很多同学安装数据库,但是都卡在了这一步。哎呀,依赖包那么多,网上怎么找,不管谁要谁不要,怎么安装真费劲!其实你有一个系统镜像,配置一个本地yum源,这些都不是问题。2.准备安装安装过程也分为几个步骤。如果按照顺序来,就不会有问题。配置/etc/hostsDisableSELinux关闭防火墙添加用户修改系统参数配置yum配置/etc/security/limits.conf配置目录配置用户环境变量停止ntp服务,11gR2新功能这里就不详细写每一个都有哪些命令都是用来执行的,我只是列出步骤,网上有很多这样的文章,或者那句话,别人已经写过了,我就不重复了,大家可以自己查一下,自己搜索就是同样也是一个学习的过程。好了,以上10个步骤就完成了,我们有了将oracle安装软件上传到服务器的前提条件,接下来要做的一切都可以用图形界面来完成。我仍然列出接下来的步骤。登录oracle用户,解压oracle软件,执行./runInstaller.sh。在这里我想说点特别的。有的同学配置好环境变量后,就执行了,咦?为什么会出现乱码?一条命令就可以搞定:先执行exportLANG=C,然后执行./runInstaller.sh这里我们会对数据库的一些基本内容进行一些设置,但是注意这里不是建数据库。数据库安装前的安装检查还记得我们之前提到的yum本地源吗?这里可以使用yum快速搞定!没啥就yuminstallxxx,最后实在没啥就忽略了。使用ROOT执行2个shell。当进度条读完后,会要求你用ROOT用户手动执行两个shell,根据窗口显示的东西在root下执行。ok,恭喜你,你已经完成了ORACLE软件的安装。那么下一步是什么?此时我们可以使用sqlplus/assysdba进入数据库,可惜目前还没有监控程序,所以接下来就是配置监控程序了。如果我们执行netca命令,如果对端口号没有特殊要求的话,就顺带下一步了。这很容易,哈哈。执行完之后,我们执行lsnrctlstatus命令,可以发现数据库监视器已经自己启动了。好了,我们现在已经配置好了ORACLE软件和监控程序,我们可以拥有一个自己的DB吗?我们执行dbca命令帮助我们建库,这里面会涉及到我创建的数据库sid是多少,是否开启EM,flashback,archivemode等。我只说明三个地方。第一:还记得我们开头的那张图吗?里面有/oradata,ok,放这里。为什么放在这里?因为这个文件系统是给我们存放数??据文件的,留着不是很浪费吗,哈哈,这样可以更加规范我们的数据文件。第二:很多同学在安装好数据库之后,就到了导入数据这一步了。结果,他们一查就傻眼了。我去了,为什么汉字是乱码!只是这里没有这个选择,所以按照我的来选择,保证你不会出现这样的问题,哈哈。第三:这是放置重做文件的地方。还记得我们之前说的吗,我们的数据文件在/oradata下,那我们是不是可以再分类一下,设置在这里,正在建库前想想,哈哈,当然,如果你是比我细心的人,最好单独放在一个文件系统中。一切都完成后,点击finish,Oracle就会开始自动建库。怎么样,是不是很容易?3、在验证过程中,我们安装了数据库,不自己试试怎么办?来个简单的验证!也不放顺序,只放步骤。我们创建一个以自己名字命名的用户,赋予其dba权限、session访问权限和createtable权限。创建一个名为test的表,表中有一列,向其中插入一段中文数据。验证通过后,删除该用户。正确的验证结果是我们通过服务端和plsql客户端查询这张表,可以正常显示中文数据,证明我们的数据库安装成功。以后需要扩容一些Oracle自己的表空间,初期比较小。ok,分享完毕,希望对你有用。
