安装redhat linux 5.4 环境与oracle 11g 数据库

一、安装redhat linux 5.4操作系统 

1、插入光盘,安装linux 5.4系统: 

--> 默认安装,选择语言键盘等 
--> 自定义划分硬盘: 
  /swap 4G 
  /boot 100M 
  / 20G 
  /home 10G 
  /tmp 5G 
--> 设置计算机名:ocp 

2、选择安装oracle所需要的系统组件: 
(1)选择软件开发“Software Development” 
(2)选择“现在定制now” 
(3)选择“Development”下的: 
Development Libraries 开发库(一定要装,全选) 
Development Tools 开发工具(一定要装,全选) 
Legacy Software Development 老的软件开发包(全选) 
“Base System” 下的:Legacy Software Support 老的软件支持 (全选) 

3、重启系统,进入linux的设置,关闭防火墙和Selinux策略,不进行产品注册,不新建帐号,完成。 将所需端口加入防火墙配置中,允许该端口穿透防火墙: 

[root@ocp ~]#vi /etc/sysconfig/iptables #加入以下内容 

#打开ftp端口 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT 
#打开ssh端口 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT 
#打开80、8080、8081和8082端口 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8081 -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 8082 -j ACCEPT 
#打开ntp时钟同步端口,本机还用作时钟同步源 
-A RH-Firewall-1-INPUT -p udp -m state --state NEW -m udp --dport 123 -j ACCEPT 
#打开数据库端口 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT [root@ocp ~]#/etc/rc.d/init.d/iptables restart 

三、安装oracle前linux环境配置: 
1、重启后新建一个命令窗口,检查有无安装相关软件包: 

Java代码  收藏代码
  1. [root@ocp ~]# rpm -qa | grep setarch-2*   
  2. [root@ocp ~]# rpm -qa | grep make-3*   
  3. [root@ocp ~]# rpm -qa | grep glibc-2*   
  4. [root@ocp ~]# rpm -qa | grep libaio-0*   
  5. [root@ocp ~]# rpm -qa | grep compat-libstdc++-33-3*  
  6. [root@ocp ~]# rpm -qa | grep compat-gcc-34-3*   
  7. [root@ocp ~]# rpm -qa | grep compat-gcc-34-c++-3*   
  8. [root@ocp ~]# rpm -qa | grep gcc-4*   
  9. [root@ocp ~]# rpm -qa | grep libXp-1*   
  10. [root@ocp ~]# rpm -qa | grep compat-db-4*   
  11. [root@ocp ~]# rpm -qa | grep openmotif-2* (缺)   



2、在linux安装光盘中找到“openmotif-2.3.1-2.el5.i386.rpm”上传至linux5.4系统中,并安装这个包: 
[root@ocp ~]# rpm -Uvh openmotif-2* 
安装所需的补丁汇总见日记本中的附近《redhat5.4安装ora11g的补丁.rar》 

3、linux环境检查: 
(1)操作系统:redhat enterprise linux 5.4 

Java代码  收藏代码
  1. [root@ocp ~]# rpm -q redhat-release 查询linux的真正版本   
  2. [root@ocp ~]# df -h oracle或u01目录的空间要大于5G以上   
  3. [root@ocp ~]# du -sh /tmp/ 可用空间要大于400M以上   



(2)物理内存: [root@ocp ~]# grep MemTotal /proc/meminfo 

(3)交换分区:至少要物理内存的1.5倍以上 
[root@ocp ~]# grep SwapTotal /proc/meminfo 

四、安装oracle前初始工作: 
1.创建用户和用户组: 

Java代码  收藏代码
  1. [root@ocp ~]# groupadd oinstall   
  2. [root@ocp ~]# groupadd dba   
  3. [root@ocp ~]# useradd -g oinstall -G dba oracle   
  4. [root@ocp ~]# passwd oracle   



2.创建并设置安装目录 

Java代码  收藏代码
  1. [root@ocp ~]# mkdir -p /home/oracle   
  2. [root@ocp ~]# chmod -R 775 /home/oracle   
  3. [root@ocp ~]# chown -R oracle:oinstall /home/oracle   



3.安装前修改的六处配置文件: 
(1)linux版本文件:/etc/redhat-release (安装完以后记得要恢复回去) 
[root@ocp ~]# vi /etc/redhat-release 把里面的5.4版本改为4.4 ,这样oracle 10g才支持,经 过证实,redhat5.4下安装ora11g不用这样做,不会影响下面的安装。只有redhat5.4下安装ora10g才需要。 
(2)主机名文件:/etc/hosts 

Java代码  收藏代码
  1. [root@ocp ~]# vi /etc/hosts   
  2. 127.0.0.1 localhost.localdomain localhost   
  3. 192.168.0.10 ocp (新增的本机IP与主机名设置)   
  4. ::1 localhost6.localdomain6 localhost6   



(3)修改控制文件,修改内核参数(root身份) :/etc/sysctl.conf 

Java代码  收藏代码
  1. [root@ocp ~]# vi /etc/sysctl.conf   
  2. 在/etc/sysctl.conf文件中加入下列行:   
  3. 修改kernel.shmall = 4294967296 (固定值)   
  4. 修改kernel.shmmax = 1073741824(设置为服务器物理内存的一半,精确到字节数,例2G的一半为前面的数)   
  5. 修改kernel.shmmni = 4096 (固定值)  
  6.   
  7. # semaphores: semmsl, semmns, semopm, semmni   
  8. #添加下列代码:(我的服务器内存是8G,如果小于这个数你需要修改下面的参数)  
  9.    
  10. fs.file-max = 6815744   
  11. fs.aio-max-nr=1048576   
  12. kernel.sem=250 32000 100 128 #每个信号对象集的最大信号对象数;系统范围内最大信号 net.ipv4.ip_local_port_range= 9000 65500 #应用程序可使用的IPv4端口范围(redhat5.4上为1024 65000)   
  13. net.core.rmem_default=4194304 #套接字接收缓冲区大小的缺省值 net.core.rmem_max=4194304 #套接字接收缓冲区大小的最大值 net.core.wmem_default=1048576 #套接字发送缓冲区大小的缺省值 net.core.wmem_max=1048576 #套接字发送缓冲区大小的最大值   
  14. [root@ocp ~]# sysctl –p (让设置立即生效)   
  15. 执行后显示如下:   
  16. net.ipv4.ip_forward = 0   
  17. net.ipv4.conf.default.rp_filter = 1   
  18. net.ipv4.conf.default.accept_source_route = 0   
  19. kernel.sysrq = 0   
  20. kernel.core_uses_pid = 1   
  21. net.ipv4.tcp_syncookies = 1   
  22. kernel.msgmnb = 65536   
  23. kernel.msgmax = 65536   
  24. kernel.shmall = 4294967296   
  25. fs.file-max = 6815744   
  26. kernel.sem=250 32000 100 128   
  27. net.ipv4.ip_local_port_range=9000 65500   
  28. net.core.rmem_default=4194304   
  29. net.core.rmem_max=4194304   
  30. net.core.wmem_default=1048576   
  31. net.core.wmem_max=1048576   
  32. fs.aio-max-nr=1048576   



(4)限制文件,为oracle用户设置Shell限制:/etc/security/limits.conf 

Java代码  收藏代码
  1. [root@ocp ~]# vi /etc/security/limits.conf   
  2. 在limits.conf文件中加入下列行:   
  3. oracle soft nproc 2047   
  4. oracle hard nproc 16384   
  5. oracle soft nofile 1024   
  6. oracle hard nofile 65536   



(5)登录文件:/etc/pam.d/login 

Java代码  收藏代码
  1. [root@ocp ~]# vi /etc/pam.d/login   
  2. 在login文件中加入下列行:   
  3. session required /lib/security/pam_limits.so   
  4. session required pam_limits.so   



注意:如果是64位的系统,那么/lib/security需要修改为/lib64/security 

(6)环境变量文件: 
A.全局用户的环境变量文件: /etc/ profile 
[root@ocp ~]# vi /etc/profile 

在profile文件中加入下列行: 

Java代码  收藏代码
  1. if [ $USER = "oracle" ]; then   
  2.    if [ $SHELL = "/bin/ksh" ]; then   
  3.        ulimit -p 16384   
  4.        ulimit -n 65536   
  5.    else   
  6.        ulimit -u 16384 -n 65536   
  7.    fi   
  8. fi   



B. oracle用户的环境变量文件 .bash_profile 

Java代码  收藏代码
  1. [root@ocp ~]# su - oracle   
  2. [oracle@ocp ~]$ vi .bash_profile   
  3. 在.bash_profile文件最底下添加如下内容:   
  4. ORACLE_BASE=/home/oracle/app;export ORACLE_BASE=/home/oracle/app ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1;export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1   
  5. ORACLE_SID=orcl;export ORACLE_SID=orcl NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK LD_LIBRARY_PATH=$ORACLE_HOME/lib;export LD_LIBRARY_PATH=$ORACLE_HOME/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib;export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/libexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib LANG=C;export LANG=C PATH=$PATH:$ORACLE_HOME/bin;export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin export PATH   



其中含义如下: 
export ORACLE_BASE=/home/oracle/app (软件目录与数据库目录所在位置) 
export ORACLE_SID=orcl (安装数据库的实例名,必须以字母开头,最多8个字符) 
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK (数据库显示语言、地区与字符编码) LANG=C (加入此处是为了防止安装时乱码) 

使其生效: 
$source .bash_profile 

五、开始安装oracle数据库: 
1、传送安装文件包到系统中 
(记得一定要用oracle用户上传,不然会有问题)可利用winscp、ftp、Zmodem等工具把oracle的安装 压缩包“linux.x64_11gR2_database_1of2.zip、linux.x64_11gR2_database_1of2.zip”传到linux的 /home/oracle下 

2、执行解压与设置等命令 

Java代码  收藏代码
  1. [root@ocp ~]$ unzip *****.zip   
  2. [root@ocp ~]# xhost +   
  3. (为了能使oracle用户下图形安装界面出来所必须执行的命令)   



3、安装oracle数据库软件,但不建数据库 使用xmanager等工具远程到数据库服务器上进行数据库安装 

Java代码  收藏代码
  1. [oracle@ocp ~]$ cd database   
  2. [oracle@ocp ~]$ ./runInstaller   



(安装数据库软件) 正在启动 Oracle Universal Installer... 弹出安装的图形界面 
(1)去掉安装数据库实例选项前面的勾 Create Starter Database 
(2)出现安装的库存目录(/home/oracle/app/oralnventory)和组(oinstall)的,按默认下一步。 
(3)进行系统环境与硬件的检测,注意除了swap是能够接受的唯一警告外,其它都要成功。 (4)出现安装产品的清单,点击“install”进行安装。 
(5)安装完成之前会弹出一个小窗口,提示你用“root”身份执行两个脚本文件 
(6)在桌面上新建一个文字命令窗口,执行上面所提的两个sh文件“orainstRoot.sh”和“root.sh” 

Java代码  收藏代码
  1. [root@ocp ~]# /home/oracle/app /oraInventory/orainstRoot.sh (直接输入路径执行不用加./)   
  2. [root@ocp ~]# /home/oracle/app/product/10.2.0/db_1/root.sh (确认路径,一个回车三个“Y” )   


(7)执行完脚本以后,再点“ok”完成 
(8)最后点退出“exit”完成安装 
使用命令netca配置数据库监听: 
[root@ocp ~]#netca 4、进行建立数据库实例操作 
[oracle@ocp ~]$ dbca (建立数据库实例) 
(1) 欢迎界面按下一步建立数据库Create a Database 


(2)选择第三项建立“标准通用型”数据库 
General Purpose Data Warehouse 数据仓库型,连接数少负载分析重,例超市下班以后的数据分析 
Transaction Processing 在线交易型,连接数据多,每个连接做的事不多,但总吞吐量大,例淘宝 

(3)输入数据库实例名,建议用全名如orcl 会自动生成SID为orcl 

(4)按下一步,不选择配置数据库Configure Database control for locl management 

(5)统一设置数据库管理的密码 oracle 

(6)存储选项为文件系统File System 

(7)选择数据库文件位置,点第三项 Use Oracle-Managed Files 

(8)指定快速恢复区Specify Flash Recovery Area ,启用归档模式Enable Archiving(打勾) 

(9)创建示例数据库,在Sample Schemas 前面打勾 

(10)初始化参数设置:内存Memory 选择自定义“Custom” 字符集Character sets 选择“ZHS16GBK” 其他两个标签项按默认设置不动 

(11)按默认下一步继续 

(12)下一步勾选“Create Database”创建数据库,并可勾选保存数据库的模板和脚本,最后点完成finish 

(13)在弹出窗口显示确认页,接下来都是点“OK”进行建库。 

(14)建库完以后会弹出页面显示数据库基本信息,点“Password Management”密码管理。 

(15)找到“HR”用户,取消勾选锁定,并设置用户密码,然后点“OK” 。 

(16)单击“exit”完成退出安装。 

(17)重启linux操作系统,启动oracle数据库及各项服务: 

Java代码  收藏代码
  1. [root@ocp ~]# su – oracle   
  2. [oracle@ocp ~]$ sqlplus /nolog (进入数据库连接)   
  3. SQL> conn /as sysdba (连接数据库)   
  4. SQL> startup (启动数据库)   
  5. SQL> shutdown immediate (关闭数据库)   
  6. [oracle@ocp ~]$ lsnrctl start (启动监听,端口1521)   
  7. [oracle@ocp ~]$ emctl start dbconsole (启动em数据库网页管理器,端口1158 代理端口3938, 可以不启用)   
  8. [oracle@ocp ~]$ isqlplusctl start (启动isqlplus ,端口5560,可以不启用)  
  9. 查看oracle11g-2是否正确启动起来(root权限)   
  10. #ps -ef | grep oracle  



http://ocp.example.com:1158/em 
http://ocp.example.com:5560/isqlplus 
打开IE浏览器登录管理 
https://192.168.xx.xx:1158/em 
之后登录,就可以管理oracle11g-2了,包括可以建立数据库新账户、表空间等 

如果在执行$ sqlplus /as sysdba 时出错: 

sqlplus: error while loading shared libraries: /data/oracle/product/11.1/lib/libnnz11.so: cannot restore segment prot after reloc: Permission denied 
此时只需将SELinux设置由Enforcing改为Permissve(宽容)就可以了 
以root身份执行$su – root) 

Java代码  收藏代码
  1. # setenforce 0   
  2. # getenforce Permissive (宽容) 回到oracle用户   
  3. # su – oracle 再次执行   
  4. $ sqlplus /as sysdba   
  5. SQL*Plus: Release 11.1.0.6.0 - Production on Mon Oct 22 13:57:07 2007 Copyright (c) 19822007, Oracle. All rights reserved. Connected to an idle instance.   



一切OK了 设置防火墙(如果需要对这台数据库服务器远程访问,还需设置防火墙打开与oracle的有关端口) 

:1158 em端口 
:1521 lsnr监听端口 

以root身份执行命令 

Java代码  收藏代码
  1. #vi /etc/sysconfig/iptables   
  2. -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT   
  3. -A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 1158 -j ACCEPT   



配置oracle11g-2随linux启动 
(以oracle身份) 

Java代码  收藏代码
  1. $vi /etc/oratab   
  2. 设置oracle11g-1自启参数:   
  3. orcl:/u01/app/oracle/product/10.2.0/db_1:Y   



(以root身份) 

Java代码  收藏代码
  1. #vi /etc/rc.local 添加代码:   
  2. setenforce 0   
  3. su – oracle –c dbstart   
  4. su – oracle –c “lsnrctl start”   



六、卸载oracle数据库及软件: 

1、正常卸载:先停止数据库的运行,再删除数据库实例,最后卸载数据库软件 

Java代码  收藏代码
  1. [oracle@ocp ~]$ dbca (删除数据库实例)   
  2. [oracle@ocp ~]$ ./runInstaller -deinstall (卸载数据库软件)   



2、通过删除文件的方式: 可以依照如下顺序进行卸载删除: 
(1)删除$ORACLE_BASE/product/oraInventory目录; 
(2)删除$ORACLE_BASE/product目录; 
(3)删除/etc/oratab注册标志文件; 
(4)删除/tmp/目录下与“ora”关键字相关的文件; 
(5)删除/opt/目录下与Oracle相关的内容; 
(6) /usr/local/bin/下的几个文件可以暂不删除,注意在下次安装Oracle运行root.sh脚本提示覆盖文件 时选择“y” (一个回车三个“y” ) ; 
(7)重新启动操作系统,完成卸载。

posted @ 2013-01-24 16:46  jervis_chan  阅读(250)  评论(0)    收藏  举报