1.安装前须知: 1).内存(RAM)的最小要求是 1GB,建议 2GB 及以上。 使用命令:cat /proc/meminfo,这里是虚拟机,用的是2G内存 [root@192 ~]# cat /proc/meminfo|head -1 MemTotal: 1870496 kB 2).交换内存 swap 建议:内存为 1GB~2GB 时建议swap大小为内存大小的 1.5 倍;内存为 2GB~16GB 时建议swap大小为内存的大小;内存超过 16GB 时swap保持16GB。这里是虚拟机交换内存就设为和物理内存一样的大小。 [root@192 ~]# cat /proc/swaps FilenameTypeSizeUsedPriority /dev/dm-1 partition20971480-1 3). 要求临时文件目录,如/tmp 的磁盘空间至少 1GB。这里/tmp是挂载在根目录下的,不止是1G的空间。 [root@192 tmp]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 18G 3.8G 14G 22% / devtmpfs 904M 0 904M 0% /dev tmpfs 914M 0 914M 0% /dev/shm tmpfs 914M 8.9M 905M 1% /run tmpfs 914M 0 914M 0% /sys/fs/cgroup /dev/sda1 497M 120M 378M 25% /boot tmpfs 183M 0 183M 0% /run/user/0 4). 磁盘空间要求:企业版为4.35GB的安装空间和1.7GB以上的数据文件空间;标准版为4.22GB的安装空间和1.5GB以上的数据文件空间。
[root@192 tmp]# df -h 文件系统 容量 已用 可用 已用% 挂载点 /dev/mapper/centos-root 18G 3.8G 14G 22% / 这里看是有超过4.35G的空间。 5). 需要 X window 图形界面。 yum groupinstall "Desktop" 这里我们服务器时选择的最小安装的版本。 6). 需要 root 用户权限. 7). 设定主机名与IP地址的映射 vim /etc/hosts 127.0.0.1 localhost 192.168.10.136 oracle_test
2.安装所需程序包 binutils-2.17.50.0.6 compat-libstdc++-33-3.2.3 elfutils-libelf-0.125 elfutils-libelf-devel-0.97 gcc-4.1.2 gcc-c++-4.1.2 glibc-2.3.4 glibc-common-2.5 glibc-devel-2.5 glibc-headers-2.5 ksh-20060214 libaio-0.3.105 libaio-devel-0.3.105 libgcc-3.4.6 libstdc++-3.4.6 libstdc++-devel 4.1.2 make-3.81 sysstat-7.0.2 unixODBC-2.2.11-11.el6 (x86_64)or later unixODBC-devel-2.2.11-11.el6(x86_64) or later libXp 使用yum list | grep'package name' 或者 rpm -q 'package name' 或者 rpm -qa | grep'package name'查看程序包是否已经安装。 总之,可以使用以下的命令安装软件 yum install -y ksh binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gccgcc-c++ glibc glibc-common glibc-devel libaio libaio-devel libgcc libstdc++ libstdc++-devel make numactl sysstat libXp unixODBC unixODBC-devel
安装pdksh包(该程序包未被纳入CentOS的安装盘中): 使用命令 rpm -ivh pdksh-5.2.14-37.el5_8.1.x86_64.rpm 进行安装(注意:该程序包与ksh冲突,如果已经安装ksh,建议使用命令 rpm -e ksh-* 卸载)
3.创建所需的用户组和帐号和设置系统的一些参数并安装数据库和配置数据库。 1).创建所需的用户组(在root帐号下操作): groupadd oinstall; groupadd dba; groupadd oper; 2).创建所需的帐号(在root帐号下操作):使用命令 id oracle; 查看 oracle 帐号是否已存在,若未存在则使用如下命令进行创建 useradd -g oinstall -G dba,oper oracle; #初始群组为 oinstall,有效群组为 dba、oper passwd oracle; #为oracle帐号设置密码(安装的时候需要登录) 若oracle帐号已存在,则使用命令 usermod -g oinstall -G dba,oper oracle 将其加入群组 dba 和oper中
3).修改内核参数(在root帐号下操作): 编辑内核参数配置文件 vi /etc/sysctl.conf,在该文件下修改或添加如下行:
fs.file-max = 6815744 fs.aio-max-nr = 1048576 kernel.shmall = 2097152 kernel.shmmax= 2147483648 kernel.shmmni= 4096 kernel.sem = 250 32000100 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
再执行以下命令使以上配置立即生效: sysctl -p;
执行报错
执行下面的命令
modprobe bridge
再执行,就不报错了。
[root@kdzfu-test ~]# sysctl -p
4).修改系统资源限制(在root帐号下操作):编辑系统资源限制配置文件 vi /etc/security/limits.conf,在该文件下添加如下行: oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240 5).关闭SELinux(在root帐号下操作):编辑SELinux配置文件 vim /etc/selinux/config,将SELINUX的值设为 disabled,如下: SELINUX=disabled; 修改该文件可使重启系统后不启动SELinux。关闭当前已开启的SELinux使用如下命令: setenforce 0
6).创建所需的目录(在root帐号下操作):把oracle安装在 /opt/oracle 目录下,所以需创建该目录: mkdir /opt/oracle; chown oracle:oinstall /opt/oracle; chmod 755 /opt/oracle;
7).安装时还需要设置 Inventory 目录,所以需创建该目录: mkdir /opt/oraInventory; chown oracle:oinstall /opt/oraInventory; chmod 755 /opt/oraInventory;
8).安装包相关: Oracle 11g R2的安装包被压缩成两个文件:linux.x64_11gR2_database_1of2.zip、 linux.x64_11gR2_database_2of2.zip,将它们上传到安装机器上,并使用 unzip linux.x64_11gR2_database_1of2.zip;unzip linux.x64_11gR2_database_2of2.zip; 进行解压缩,将得到一个名称为 database 的目录。我把它放在 /home/oracle/database 中。 由于安装过程是以 oracle 身份进行的,所以需确保oracle帐号对 /home/oracle/database 有执行权限,可使用如下命令将该目录赋予oracle帐号所有,并拥有执行权限: chmod -R 700 /home/oracle/database; chown -R oracle:oinstall /home/oracle/database;
退出 root,以 oracle 身份登录
9).设置oracle帐号登录时环境(以oracle身份登录):编辑文件 vi /home/oracle/.bash_profile,添加如下行: ORACLE_BASE=/opt/oracle; #安装目录 ORACLE_HOME=$ORACLE_BASE/11g; #oracle家目录 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
设置安装时默认语言为英文 echo 'export LANG=en_US.UTF-8' >> ~/.bashrc 10).开始安装(以oracle身份登录):/home/oracle/database/runInstaller; ##执行该程序开始安装 以下将进入图形安装界面
图-1 输入email,点击next
图-2由于我的安装没连通外网,所以提示我设置代理。选中复选框,点击Continue
图-3 选中第一项,在安装完成时创建并简单配置数据库,点击next
图-4 选中Server Class,点击next
图-5 以单例模式安装(若安装RAC,选择下一项),点击next
图-6 选中Advanced install,点击next
图-7选Simple Chinese ,English.
图-8 选择安装企业版,点击next
图-9 安装基目录和Home目录,由于我们已设置好环境变量ORACLE_BASE和ORACLE_HOME,此处无需再选择,点击next
图-10 以oinstall群组身份进行安装,点击next
图-11 安装用于事务处理的数据库(数据仓库选中下一项),点击next
图-12 设置环境变量ORACLE_SID,点击next
图-13.1 可使用的最大内存,Oracle建议使用自动内存管理,点击选项卡Character sets选择字符集
图-13.2 选择UTF-8作为数据库字符集,点击Sample Schemas顺便创建Oracle提供的案例
图-13.3 选中复选框,点击next
图-14 根据自己需求设置,这里选择什么都不动,点击next
图-16 是否启用自动备份,在生产环境还是启用的好,点击next
图-17 为系统管理帐号设置密码,这里为统一设置密码。
图-18 选择DBA帐号所属群组dba和oper帐号所属群组,点击next
图-19 因为swap 空间过小,造成检查通过不了,扩充swap空间。加个1G左右
[root@oracle_test ~]# dd if=/dev/zero of=swapfile bs=1M count=1024 1024+0 records in 1024+0 records out 1073741824 bytes (1.1 GB) copied, 12.8605 s, 83.5 MB/s
[root@oracle_test ~]# mkswap swapfile Setting up swapspace version 1, size = 1048572 KiB no label, UUID=796f3041-c278-4c72-b1b1-aa5d04fe2ad5
[root@oracle_test ~]# swapon swapfile swapon: /root/swapfile: insecure permissions 0644, 0600 suggested.
[root@oracle_test ~]# free -m total used free shared buff/cache available Mem: 1826 325 68 8 1432 1284 Swap: 3071 0 3071
再重新检查
图-20 点击Finish,开始安装
图-21 正在安装。
图-21 安装ing
图-22 保留,先执行下一步:以root身份登录执行那两个sh文件
11).如中文显示乱码可参考以下的解决方法。 (1).修改显示中文乱码,把数据库字符集设置为UTF8 vim /etc/sysconfig/i18n 确认内容是否是 LANG="zh_CN.UTF-8" (2).编辑/home/oracle/.bash_profile,在最后一行添加如下: NLS_LANG="SIMPLIFIED CHINESE_CHINA.AL32UTF8"; export NLS_LANG; 执行source /home/oracle/.bash_profile
12).启动测试并修改一些系统的参数。
[oracle@kdzfu-test ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1.0 Production on 星期一 4月 4 00:23:20 2016
Copyright (c) 1982, 2009, Oracle. All rights reserved.
SQL> shutdown immediate;
Total System Global Area 1603411968 bytes
系统已更改。
SQL> ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
系统已更改。
SQL> ALTER DATABASE OPEN;
数据库已更改。
SQL> shutdown immediate;
Total System Global Area 1603411968 bytes
13).修改开机启动脚本dbstart和关闭脚本dbshut 先修改vim /etc/oratab 将最后一行N变成Y 然后修改$ORACLE_HOME/bin/dbstart内容 将ORACLE_HOME_LISTNER=$1 修改为: ORACLE_HOME_LISTNER=$ORACLE_HOME su - oracle dbstart #启动oracle 这个只是启动oracle数据库和监听基本服务 不带3个网页的服务,相当于上面的sqlplus和lsnrtl start 两个操作 dbshut停止oracle了
使用dbshut脚本关闭数据库并查看监听端口是否关闭。 ./dbshut
[oracle@kdzfu-test bin]$ ./dbshut 监听已关闭 [oracle@kdzfu-test bin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-4月 -2016 00:49:00
Copyright (c) 1991, 2009, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
使用dbstart脚本打开数据库并查看监听端口是否已打开。
[oracle@kdzfu-test bin]$ ./dbstart 监听已开启 [oracle@kdzfu-test bin]$ lsnrctl status
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-4月 -2016 00:51:32
Copyright (c) 1991, 2009, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
[oracle@kdzfu-test 11g]$ ss -tnlp
14).为了使得其他电脑能访问管理器,需要给防火墙把1158端口开放 注意:主机防火墙要开的话,也要放通1521端口。 执行 iptables -I INPUT -p tcp --dport 1158 -j ACCEPT iptables -I INPUT -p tcp --dport 1521 -j ACCEPT /etc/rc.d/init.d/iptables save /etc/rc.d/init.d/iptables restart
15).修改 /etc/oratab su - root #vim /etc/oratab 找到 #$ORACLE_HOME 替换为$ORACLE_HOME变量的值,$SID替换为$SID变量的值 $SID:$ORACLE_HOME:N 改为 $SID:$ORACLE_HOME:Y 把配置文件改为如下所示 orcl:/opt/oracle/11g:Y
16).编辑启动关闭脚本 # vim /etc/rc.d/init.d/oracle
#!/bin/bash #chkconfig: 234 61 61 #description: Oracle 11g AutoRun Service #/etc/rc.d/init.d/oracle
case "$1" in start) # starts oracle listener and instance echo "Starting Oracle Database:" su - oracle -lc "lsnrctl start" su - oracle -lc dbstart su - oracle -lc "emctl start dbconsole" ;; stop) #shutdown oracle linstener and instance echo "Shuting down Oracle Database:" su - oracle -lc "lsnrctl stop" su - oracle -lc dbshut su - oracle -lc "emctl stop dbconsole" ;; reload|restart) $0stop $0start ;; *) echo "Usage:{start|stop|reload|restart}" exit 1 esac exit0
17).为脚本赋予执行权限并检查脚本能否正确执行 #cd /etc/rc.d/init.d chmod +x oracle #./oracle stop
[root@kdzfu-test init.d]# ./oracle stop
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-4月 -2016 01:37:02
Copyright (c) 1991, 2009, Oracle. All rights reserved.
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
./oracle start
[root@kdzfu-test init.d]# ./oracle start
LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 04-4月 -2016 01:41:41
Copyright (c) 1991, 2009, Oracle. All rights reserved.
启动/opt/oracle/11g/bin/tnslsnr: 请稍候...
TNSLSNR for Linux: Version 11.2.0.1.0 - Production
正在连接到 (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
18).执行下列命令:#添加开机启动并做软链接 #chmod 750 /etc/rc.d/init.d/oracle #ln -s /etc/rc.d/init.d/oracle /etc/rc2.d/S61oracle #ln -s /etc/rc.d/init.d/oracle /etc/rc3.d/S61oracle #ln -s /etc/rc.d/init.d/oracle /etc/rc4.d/S61oracle #ln -s /etc/rc.d/init.d/oracle /etc/rc5.d/S61oracle #ln -s /etc/rc.d/init.d/oracle /etc/rc0.d/K61oracle #ln -s /etc/rc.d/init.d/oracle /etc/rc6.d/K61oracle #chkconfig --add oracle #chkconfig --level 234 oracle on 注意:执行chkconfig时,需要在脚本中添加至少两行注释行(第3步中),第一行告诉chkconfig 该服务的运行级别,第二行添加关于服务的简要说明。
19).重启下linux操作系统,检查oracle是否自动启动。 (责任编辑:IT) |