1、http://wenku.baidu.com/link?url=oQOlaxYVoteNM7rqHpqL_hcNWY7hiMipp0kWOPJvjGMRuq9iRXJbgFDE3pzCFFjEeOKp1s-oLDzEkQHs5VQ6WkuEZKcg1ZJT9l8DTDRJt_C
2、http://laowood.iteye.com/blog/981697
3、http://www.cnblogs.com/gaojun/archive/2012/11/22/2783257.html
4、http://www.linuxidc.com/Linux/2013-06/86491.htm
5、http://rpm.pbone.net/
6、http://blog.itpub.net/21162451/viewspace-721930
7、http://www.cnblogs.com/mchina/archive/2012/11/27/2782993.html
本文介绍了在Fedora 20 32-bit上安装Oracle Database 11g Release 2. 这篇文章基于具有2G swap分区和SELinux关闭。
Oracle Database 11g Release 2 (11.2) Software
解压文件
unzip linux.x64_11gR2_database_1of2.zip unzip linux.x64_11gR2_database_2of2.zip
你现在应该有一个单独的目录称为“database”包含安装文件。
"/etc/hosts"文件必须写服务器的全名
<IP-address> <fully-qualified-machine-name> <machine-name>
oracle推荐以下最低参数设置。
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 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 = 1048586
当前的值可以用下面的命令进行测试。
/sbin/sysctl -a | grep <param-name>
在“/etc/sysctl.conf”文件中添加或修改以下行。
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 # semaphores: semmsl, semmns, semopm, semmni 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=1048586
运行下面的命令来改变当前内核参数。
/sbin/sysctl -p
在“/etc/security/limits.conf”文件中添加以下行。
oracle soft nproc 2047 oracle hard nproc 16384 oracle soft nofile 1024 oracle hard nofile 65536
如果 “/etc/pam.d/login”文件 中不存在,添加以下行
session required pam_limits.so
启动防火墙管理对话框(“系统>管理”>防火墙)。 点击“禁用”按钮,其次是应用工具栏上的按钮,然后关闭对话框。
停用SELinux 编辑/etc/selinux/config 文件,并确保SELinux的标志设置如下。
SELINUX=disabled
另外,以上改变可以通过使用GUI工具(应用程序>“系统设置”>安全级别)。 单击SELinux选项卡并禁用该功能。禁用SELinux后,服务器需要重新启动才能更改生效。
如果您已经安装了在安装过程中建议包,那必要的包大部分已经被安装。 下面列出必须的包,也包括一些32位版本的。
yum install binutils yum install compat-libstdc++-33 //这是我的系统所缺少的 yum install compat-libstdc++-33.i686 //同上 yum install gcc yum install gcc-c++ yum install glibc yum install glibc.i686 yum install glibc-common yum install glibc-devel yum install glibc-devel.i686 yum install glibc-headers yum install libaio yum install libaio.i686 yum install libaio-devel yum install libaio-devel.i686 yum install libgcc yum install libgcc.i686 yum install libstdc++ yum install libstdc++.i686 yum install libstdc++-devel yum install make yum install numactl-devel yum install sysstat yum install unixODBC yum install unixODBC.i686 yum install unixODBC-devel yum install unixODBC-devel.i686 最后如果安装过程中提示:没有缺少pdksh-5.2.14 则安装pdksh-5.2.14-37.el5_8.1.i386.rpm包的过程中,发现此包和ksh包冲突,卸载ksh包(sudo rpm -ivh ksh),再安装完pdksh-5.2.14-37.el5_8.1.i386.rpm包后,安装正常进行。
如果你安装Fedora的时候选择了完全安装,那么大部分oracle依赖的软件包已经安装了,还需要安装的就只有下列这些软件包了,如果在oracle安装前的检查过程中提示还缺少包,可以yum 安装,如果源里面没有,可以到rpmfind.net等网站去搜索,自己下载rpm包安装 (发现rpm包下载的好地方:http://rpm.pbone.net/)
代码:yum install binutils
yum install libaio libaio-devel
yum install sysstat
yum install unixODBC unixODBC-devel
yum install compat-libstdc++-33
创建新的组和用户。
groupadd oinstall groupadd dba groupadd oper groupadd asmadmin useradd -g oinstall -G dba,oper,asmadmin oracle passwd oracle //这里我只有新建了oracle用户和oinstall用户组(数据库实例名:orcl 数据库密码:1234)
注. 我们不打算使用“asmadmin”组,因为这个安装不会使用ASM。
创建Oracle软件安装目录。
mkdir -p /u01/app/oracle/product/11.2.0/db_1 chown -R oracle:oinstall /u01 chmod -R 775 /u01
以root用户登录,执行以下命令。
xhost +<machine-name>
编辑"/etc/redhat-release"文件 当前版本的信息“Fedora release 14 (Laughlin)” 替换成以下内容
redhat release 5 (Fedora release 20 (Heisenbug))
以oracle用户登录, 在bash_profile文件末尾添加以下行。
# Oracle Settings TMP=/tmp; export TMP //如果安装过程中提示/tmp空间不足,则删除/tmp下的临时文件(谨慎操作) TMPDIR=$TMP; export TMPDIR ORACLE_HOSTNAME=linux-pc; export ORACLE_HOSTNAME ORACLE_UNQNAME=orcl; export ORACLE_UNQNAME ORACLE_BASE=/home/oracle/app/oracle; export ORACLE_BASE ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME ORACLE_SID=orcl; export ORACLE_SID ORACLE_TERM=xterm; export ORACLE_TERM PATH=/usr/sbin:$PATH; export PATH PATH=$ORACLE_HOME/bin:$PATH; export PATH LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH if [ $USER = "oracle" ]; then if [ $SHELL = "/bin/ksh" ]; then ulimit -p 16384 ulimit -n 65536 else ulimit -u 16384 -n 65536 fi fi
登录到oracle用户。 如果你是使用X emulation然后设置DISPLAY环境变量。
DISPLAY=<machine-name>:0.0; export DISPLAY
在database文件夹中执行以下命令,开启Oracle Universal Installer (OUI)
./runInstaller
继续与您选择的安装。
安装图解地址:http://wenku.baidu.com/link?url=oQOlaxYVoteNM7rqHpqL_hcNWY7hiMipp0kWOPJvjGMRuq9iRXJbgFDE3pzCFFjEeOKp1s-oLDzEkQHs5VQ6WkuEZKcg1ZJT9l8DTDRJt_C
安装完成后,会提示执行下面两个脚本软件: /home/oracle/app/oraInventory/orainstRoot.sh
/home/oracle/app/oracle/product/11.2.0/db_1/root.sh
注:安装过程中:(我遇到问题1和3)
问题1:Error in invoking target 'agent nmhs' of makefile '/home/oracle/app/oracle/product/11.2.0/db_1/sysman/lib/ins_emagent.mk'. See '/home/oracle/app/oraInventory/logs/installActions2014-05-06_10-12-50PM.log' for details.
解决方法:就是保留安装过程,另外启一个终端窗口并将ins_emagent.mk文件中的$(MK_EMAGENT_NMECTL)更改为$(MK_EMAGENT_NMECTL) -lnnz11,然后在安装过程中点击Retry即可
问题2:Error in invoking target‘install’of makefile‘/.../oracle/product/10.2/ctx/lib/ins_ctx.mk’
解决方法:yum install compat-libstdc++-33 生效环境变量后运行$dbca &命令建库,OK
问题3:Oracle Net Configuration Assistant failed 插件的执行方法失败
原因是:在当前目录下把 .bash_profile 下把java环境变量配置信息注释掉即可!
编辑的"/etc/redhat-release" 文件恢复了原有的发布信息。
Fedora release 14 (Laughlin)
编辑"/etc/oratab" 文件重新设置为每一个'Y'的实例标志。
DB11G:/u01/app/oracle/product/11.2.0/db_1:Y
-------------------------------Fedora 下防火墙的关闭-----------------
从配置菜单关闭防火墙是不起作用的,索性在安装的时候就不要装防火墙
查看防火墙状态:
/etc/init.d/iptables status
暂时关闭防火墙:
/etc/init.d/iptables stop
禁止防火墙在系统启动时启动
/sbin/chkconfig --level 2345 iptables off
重启iptables:
/etc/init.d/iptables restart
-------------------------------Fedora 下SELinux关闭-----------------
1.临时关闭SELinux。如果你仅仅只是想临时关闭,可以输入
setenforce 0
2.禁用SELinux。在 /etc 下可以看到一个SELinux文件夹,进入后,里面有个config文件,在终端进入到文件夹,输入
vi config
更改其中的SELINUX项的值就可以关闭和启用SELinux服务了。
修改成 SELINUX=disable 禁用SeLinux
修改成 SELINUX=enforcing 使用SeLinux
3检查SELinux现时况态
要知到你现在是否使用 SELinux:
# getenforce
Enforcing