/** * centos-6.4-dvd系统中安装oracle-11.2.0.4 * ---------------------------------------------------------------------------------------------------------------------- * 【前言】 * 本来是在centos-6.4-minimal-64bit系统中安装oracle-11.2.0.4.0-linux-x86_64,结果整整折腾两天都没安装成功 * 总是在最后一步[./runinstaller]执行命令后打印下面的提示 * checking monitor: must be configured to display at least 256 colors * >>>could not execute auto check for display colors using command /usr/bin/xdpyinfo. * check if the display variable is set. failed <<<< * 后来即便安装了图形界面(安装方法见https://blog.csdn.net/jadyer/article/details/18324297),结果还是打印这个提示 * 于是各种google,弄了很多东西,其中有一次打印了下面的提示 * ls: 无法访问/usr/sbin/smartctl: 没有那个文件或目录 /usr/sbin/smartctl not found * 听一个dba说:如果报smartctl找不到,就需要先安装smartmontools,之后再安装cvuqdisk,smartmontools包是linux系统光盘自带的 * [root@centos64 sbin]# yum install -y smartmontools * [root@centos64 sbin]# cd /app * [root@centos64 app]# rpm -ivh cvuqdisk-1.0.9-1.rpm * 最后辗转找到"runcluvfy.sh"和"cvuqdisk-1.0.9-1.rpm"俩文件,安装后再执行[./runinstaller] * 发现还是打印这个checking monitor: must be configured to display at least 256 colors提示 * 后来又把centos的"id:3:initdefault:"改成5,启动图形界面,在centos里面去执行[./runinstaller](之前都是在xshell里操作) * 结果还是打印checking monitor: must be configured to display at least 256 colors提示,无奈换回dvd系统 * 以前就听dba说过:oracle搞了很多的手段和策略,其中之一就是为数据库安装工作增加了许多小零件的限制 * 这就使得在oracle自己的linux系统上安装oracle数据库时,非常的方便,畅通无阻 * 但在其它linux系统上安装不同版本的oracle时,就会提示你缺少这个缺少那个的,没点经验的还未必搞得定 * ---------------------------------------------------------------------------------------------------------------------- * 【准备】 * 本文记述的是在virtualbox里面的centos-6.4-dvd系统中安装oracle-11.2.0.4.0-linux-x86_64 * 关于virtualbox和centos的安装配置就略了,这里主要说一下oracle-11.2.0.4.0-linux-x86-64安装包的下载 * 目前oracle的11g版本已经停止更新了,以后只会更新12c版本 * 由于12c刚出来不久,考虑到企业中应用11g更多一些,所以本文演示的是11g的安装方式 * 而11g的最后一个版本号就是11.2.0.4.0,但是我们在oracle官网只能找到11.2.0.1.0的下载 * 地址为https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html * 是不是有些奇怪,别急,在这个页面同时也会看到下面这样一段描述 * 7/13: patch set 11.2.0.4 for linux and solaris is now available on support.oracle.com. * note: it is a full installation (you do not need to download 11.2.0.1 first) * 翻译过来就是:可以到support.oracle.com去下载11.2.0.4,并且下载到的会是一个完整的安装包,也不需要预先安装11.2.0.1 * 有oracle帐户的朋友可以到support.oracle.com下载,没有的也没关系,我在百度网盘共享了:https://pan.baidu.com/s/1ddpc14p * oracle-11.2.0.4.0-linux-x86_64安装包共有7个文件,其中1of7和2of7就是数据库的完整的安装文件,我们这里只需要1和2就够了 * ---------------------------------------------------------------------------------------------------------------------- * 【文档】 * oracle提供了非常详尽的安装和使用文档,下载地址如下 * https://www.oracle.com/technetwork/database/enterprise-edition/documentation/index.html * 它的在线浏览地址为https://www.oracle.com/pls/db112/homepage * 接下来我们找一下和安装有关的那部分内容 * 点击左侧"installing and upgrading",再点击右侧"database installation guide for linux"后面的html链接 * 接下来就会看到很多的安装说明,这里我们只看"oracle database preinstallation tasks"部分就够了 * ---------------------------------------------------------------------------------------------------------------------- * @create may 17, 2014 10:16:21 pm * @author 玄玉<https://blog.csdn.net/jadyer> */
/** * 下面是安装前的准备工作 * ---------------------------------------------------------------------------------------------------------------------- * 【步骤】 * 1)create group(oinstall,dba)/user account(oracle)---->创建组和用户 * 2)configure environment variables for oracle--------->配置环境变量 * 3)check and add rpm package-------------------------->检查安装所需的rpm包 * 4)modify kernel parameter---------------------------->修改内核参数 * 5)change oracle limits------------------------------->修改oracle用户的shell限制(可以提升性能) * 6)./runinstaller------------------------------------->安装oracle * ---------------------------------------------------------------------------------------------------------------------- * 【创建组和用户】 * [root@centos64 ~]# groupadd oinstall (创建一个名为oinstall的组,也可以用别的名字,只是习惯性用oinstall而已) * [root@centos64 ~]# groupadd dba (创建一个名为dba的组) * [root@centos64 ~]# useradd -g oinstall -g dba oracle (创建一个名为oracle的用户,其主组为oinstall,其副组为dba) * [root@centos64 ~]# passwd oracle (设置用户oracle的登录密码,这里设为22) * [root@centos64 ~]# chown -r oracle:oinstall /app (修改/app目录的拥有着,这里/app目录是我提前创建的) * [root@centos64 ~]# yum install -y unzip (centos-6.4-minimal系统中默认是没有unzip包的) * [root@centos64 ~]# su - oracle (切换到oracle用户) * [oracle@centos64 ~]$ cd /app/ (切换到/app目录,然后解压oracle安装包) * [oracle@centos64 app]# unzip /app/software/p13390677_112040_linux-x86-64_1of7.zip * [oracle@centos64 app]# unzip /app/software/p13390677_112040_linux-x86-64_2of7.zip * ---------------------------------------------------------------------------------------------------------------------- * 【配置环境变量】 * [root@centos64 ~]# hostname (查看主机名,得到"centos64") * [root@centos64 ~]# vi /etc/hosts (在hosts中加上"192.168.0.103 centos64"映射,该ip是"ifconfig"得到的) * [root@centos64 ~]# vi /etc/selinux/config (设置selinux=disabled,即关掉安全增强工具,然后最好reboot重启一下) * [root@centos64 ~]# su - oracle (切换到oracle用户) * [oracle@centos64 ~]$ pwd (列出当前目录,即"/home/oracle") * [oracle@centos64 ~]$ ls -la (-a表示显示隐藏文件,这里我们会发现一个名为".bash_profile"的隐藏文件) * [oracle@centos64 ~]$ vi .bash_profile (编辑.bash_profile文件,这样oracle用户登录时就会按照此文件设置的去执行) * # .bash_profile * # get the aliases and functions * if [ -f ~/.bashrc ]; then * . ~/.bashrc * fi * # user specific environment and startup programs * oracle_base=/app * oracle_home=$oracle_base/oracle * oracle_sid=xuanyu * display=192.168.0.102:0.0 * path=$oracle_home/bin:$path:$home/bin * ld_library_path=$oracle_home/lib:$ld_library_path * stty erase ^h * export path ld_library_path display oracle_base oracle_home oracle_sid * :x * [oracle@centos64 ~]$ cat .bash_profile * 【环境变量的部分说明】 * stty:它的作用是,sqlplus中输错字符再按backspace键回删时,就不会出现乱码字符.若未设置这个则可ctrl+backspace * display:它指向的ip就是我的win7的ip(确切来说是网关的地址),作用是若linux运行的程序有图形界面,那么它就会在windows下显示 * 这里在安装oracle11g时,可以选择图形界面安装,但我的centos在启动时会读取到"id:3:initdefault:",即没有以桌面环境启动 * 所有我们就要借助xmanager-passive来实现图形界面的功能,上面display参数的ip地址实际上是指向安装了xmanager的windows系统 * 最后就会通过启动xmanager-passive来显示oracle的安装图形界面 * 当然前提是在执行[./runinstaller]命令前,先在windows下启动xmanager-passive(它是xmanager_enterprise_4组件中的一个) * ---------------------------------------------------------------------------------------------------------------------- * 【检查安装所需的rpm包】 * oracle文档上都有描述,地址为https://docs.oracle.com/cd/e11882_01/install.112/e47689/pre_install.htm#ladbi1085 * 详见2.4.3章节package requirements,我们这里用的是64位的centos * 所以看这一段就行了"oracle database package requirements for linux x86-64" * 接下来的就一一对比"oracle linux 6 and red hat enterprise linux 6 the following packages..... must be installed"即可 * [root@centos64 database]# rpm -qa | grep binutils * 然后查看控制台输出就行了,我这里输出的是binutils-2.20.51.0.2-5.36.el6.x86_64,表明已安装了binutils * 若无输出则表明未安装binutils(注意要通过root用户来查找) * 如果没搜索到,那么比较便捷的方法是执行[yum install -y binutils]安装即可 * 若yum方式安装无效,还可以到https://pkgs.org/下载对应的rpm文件,然后执行[rpm -ivh ksh-20120801-10.el6.x86_64.rpm]命令安装 * 除此外,若想在linux上使用odbc,那么还要把以下几个包也装上(详见"2.4.5.1 oracle odbc drivers"章节描述) * unixodbc-2.2.14-11.el6 (x86_64) or later * unixodbc-2.2.14-11.el6.i686 or later * unixodbc-devel-2.2.14-11.el6 (x86_64) or later * unixodbc-devel-2.2.14-11.el6.i686 or later * ---------------------------------------------------------------------------------------------------------------------- * 【修改内核参数】 * https://docs.oracle.com/cd/e11882_01/install.112/e47689/pre_install.htm#ladbi1188 * 在上个页面的2.13.1章节displaying and changing kernel parameter values描述了需要修改的内核参数 * [root@centos64 ~]# vi /etc/sysctl.conf (将以下配置拷到sysctl.conf文件末尾) * fs.aio-max-nr = 1048576 * fs.file-max = 6815744 * kernel.shmall = 2097152 * kernel.shmmax = 4294967295 * kernel.shmmni = 4096 * kernel.sem = 250 32000 100 128 * net.ipv4.ip_local_port_range = 9000 65500 * net.core.rmem_default = 262144 * net.core.rmem_max = 4194304 * net.core.wmem_default = 262144 * net.core.wmem_max = 1048576 * [root@centos64 ~]# sysctl -p * [root@centos64 ~]# * 这样,上面修改的内核参数就生效了.我们可以使用"sysctl -a | grep net.core.wmem_max"命令查看 * ---------------------------------------------------------------------------------------------------------------------- * 【修改oracle用户的shell限制】 * https://docs.oracle.com/cd/e11882_01/install.112/e47689/pre_install.htm#ladbi1188 * 在上个页面的2.12章节checking resource limits for the oracle software installation users描述了需要修改的资源限制参数 * [root@centos64 oracle]# vi /etc/security/limits.conf (将以下配置拷到sysctl.conf文件末尾,然后保存即可) * oracle hard nofile 65536 * oracle hard nproc 16384 * oracle soft nproc 2047 * oracle hard stack 32768 * ---------------------------------------------------------------------------------------------------------------------- * 【安装oracle】 * 有两种方式安装,一个是有图形界面的可视化安装,一个是无图形界面的静默安装 * 这里演示的是有图形界面的安装 * 首先打开win7系统中安装的xmanager_enterprise_4组件中的xmanager-passive工具(它会自动最小化到右下角任务栏) * 然后以oracle用户执行[./runinstaller]命令(接下来xmanager-passive就自动起作用了,oracle安装界面自动呈现出来了) * ---------------------------------------------------------------------------------------------------------------------- * @create may 18, 2014 10:06:30 am * @author 玄玉<https://blog.csdn.net/jadyer> */
/** * 接下来描述一下安装界面中的各个步骤,以及如何创建和启动停止数据库 * ---------------------------------------------------------------------------------------------------------------------- * 【安装步骤】 * 1)configure security updates * 取消勾选i wish to receive security updates via my oracle support * 此时点"next"后会弹出来一个窗口you have not provided an email address,我们点"yes"就行了 * 2)download software updates * 勾选skip software udpates * 3)installation option * 勾选install database software only * 4)grid installation options * 勾选single instance database installation * 这里不能选择rac,因为centos上是没办法安装rac的,这是由于oracle只会在它自己的linux发布rac所需要一些特殊软件和包 * 5)product languages * 默认的english就行 * 6)database edition * 勾选enterprise edition(4.5gb) * 7)installation location * 这里oracle base和software location就会自动找到之前设置的环境变量设定的安装目录 * 8)create inventory * inventory directory值修改为"/home/oracle/orainventory" (inventory directory指的是oracle的配置文件目录) * orainventory group name采用默认的oinstall就行 * 9)operating system groups * database administrator(osdba) group采用默认的dba选项就行 * database operator(osoper) group(optional)也采用默认的空选项就行 * 10)prerequisite checks * 这一步就是在检查之前设置的内核参数、所需的包等等是否满足oracle的安装要求 * 这一步可能会提示缺少"pdksh-5.2.14"的包,对于pdksh而言,我们可以忽略掉(如果是提示缺少其它包,还要仔细看一下),点击右上角的ingore all * 然后会弹出个对话框[ins-13016]you have chosen to ingore some of the prerequisite....are you sure you want to continue? * 这里点"yes"就行 * 11)summary * 这一步会告诉我们都设置了哪些安装参数,然后点"install"就行了 * 12)install product * 这一步就是开始安装了,我们看着它安装就行了 * 经过漫长的等待,它会弹出一个对话框the following configuration scripts need to be executed as the "root" use * 并会列出两个脚本路径给我们/home/oracle/orainventory/orainstroot.sh和/app/oracle/root.sh * 我们回到xshell中,以root登录,分别执行这俩脚本(先执行orainstroot.sh,再执行root.sh) * 两个脚本执行完毕,再回到oracle安装界面,在这个弹出的对话框中点击"ok"就行了 * 13)finish * the installation of oracle database was successfull. * ---------------------------------------------------------------------------------------------------------------------- * 【创建数据库】 * 1)创建一个listener * [oracle@centos64 oracle]$ netca (控制台会打印oracle net services configuration,稍候会自动弹出图形界面) * [oracle@centos64 oracle]$ ps -ef | grep lsn (图形界面创建listener完毕后,通过这个命令就可以看到listener是否启动了) * 2)创建数据库 * [oracle@centos64 oracle]$ dbca (该命令会自动弹出创建数据库的图形界面,database configuration assistant,创建过程一共有12步) * 1of12:选择create a database * 2of12:选择general purpose or transaction processing,即通用的 * 3of12:建议输入和上面配置的环境变量中的oracle_sid相同,即xuanyu * 4of12:取消勾选configure enterprise manager * 5of12:设置管理员口令,这里点击"next"时可能会弹出提示你设置的密码不安全do you want to continue,我们选择"yes"就行 * 6of12:storage type就默认的file system就行,storage locations也是默认的use database file locations from template就行 * 7of12:勾选enable archiving(即设置归档),另外specify fast recovery area就按照默认的勾选即可 * 8of12:勾选sample schemas * 9of12:character sets标签下勾选use unicode(al32utf8)字符集,其余三个标签按照默认即可 * 10of12:一些说明文字,直接"next"就行 * 11of12:也是按照它默认的勾选create database就行,然后点击"finish"开始创建(这是它会弹出一个总结报告的对话框,点击"ok"即可) * 12of12:接下来就会看到我们所熟悉的创建数据库的界面,这个过程比较漫长,我们等待即可 * [oracle@centos64 oracle]$ ps -ef | grep ora_ (图形界面创建数据库完毕后,通过这个命令就可以看到oracle实例是否在运行了) * ---------------------------------------------------------------------------------------------------------------------- * 【关闭数据库】 * [oracle@centos64 oracle]$ sqlplus /nolog (启动sqlplus) * sql> conn /as sysdba * connected. * sql> select * from v$version; (查看oracle版本) * sql> shutdown immediate (关闭数据库) * database closed. * database dismounted. * oracle instance shut down. * sql> quit (退出sqlplus) * [oracle@centos64 oracle]$ ps -ef | grep ora_ (这时会发现没有任何打印,说明数据库被停止了) * ---------------------------------------------------------------------------------------------------------------------- * 【启动数据库】 * [oracle@centos64 oracle]$ sqlplus /nolog (启动sqlplus) * sql> conn /as sysdba * connected to an idle instance. * sql> startup (启动数据库) * oracle instance started. * total system global area 845348864 bytes * fixed size 1367904 bytes * variable size 549453984 bytes * database buffers 289406976 bytes * redo buffers 5120000 bytes * database mounted. * database opened. * sql> ! (退出sqlplus) * [oracle@centos64 oracle]$ ps -ef | grep ora_ (这时会发现打印出一大堆东西,说明数据库被启动了) * ---------------------------------------------------------------------------------------------------------------------- * @create may 18, 2014 10:07:19 am * @author 玄玉<https://blog.csdn.net/jadyer> */