oracle 11g centos6 安装
选型:
32位的内存是个瓶颈,已经是64位的时代了。使用64位的CentOS6 和 64位的Oracle 11g R2
在虚拟机器安装,采用hostonly方式设置网络
注意:能上网的网卡要设置一下ICS(Internet连接共享)给VMware Network Adapter VMnet1
这样对于虚拟机,网关是192.168.137.1,IP地址请也要设置在192.168.137.0/24段
硬盘40G,内存2G
1、下载软件
1.1、CentOS 6(x86_64)
http://mirrors.163.com/centos/
1.2、Oracle 11g R2(Linux x86-64)
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
附:Oracle 10g下载址:
http://www.cnblogs.com/wenlg/archive/2010/05/19/1738893.html
二、安装CentOS安装
虚拟机,40G HDD, 2GRAM
2.1、安装规划
机器名:dbserver
a、安装时设置
b、或装好后vim /etc/sysconfig/network
2.2、网络
IPADDR:192.168.137.15
NETMASK:255.255.255.0
GATEWAY:192.168.137.1
DNS1:8.8.8.8
自动连接设置为yes
a、安装时设置
b、装好后使用setup
c、装好后vim /etc/sysconifg/network-scripts/ifcfg-eth0,改好后service network restart|force-reload 或 ifdown eth0 && ifup eth0
2.3、磁盘规划
磁盘有限,分区可能不太合理,尽量用LVM
/boot 200M 主分区
/ 主分区
swap 大小参考以下
swap 大小参考以下:
Available RAM Swap Space Required
Between 1 GB and 2 GB 1.5 times the size of the RAM
Between 2 GB and 16 GB Equal to the size of the RAM
More than 16 GB 16 GB
2.4、安装时主要设置
简体中文
美式键盘
CentOS6安装时选Basic Server,然后选“现在自定义”
”基本系统“中去掉Java, perl
“应用程序”中最好选上Emacs和互联网应用程序
“桌面”中选上除了KDE桌面外的所有组件
重启后设置:
ntp最好选上,保证时间正确,并在高级选项中选上“快速启动同步”
kdump可以不要
再重启,OK
3、系统检查
3.1、内存推荐2GB以上
# grep MemTotal /proc/meminfo
# free
3.2、swap 分区设置见下
# swapon -s
/tmp 目录大于1G
# df -h /tmp
# du -sm /tmp
3.3、磁盘空间应该都没问题
# df -h
3.4、系统架构
# cat /proc/version
# uname -a
# uname -r
# lsb_release -a
4、设置系统
4.1、操作系统
系统只支持Red Hat Enterprise Linux 6,CentOS 6其实就是RHEL6,但Oracle不认,所以要改一下
vim /etc/redhat-release
#CentOS release 6.3 (Final) 这行注释掉,加上下面的
Red Hat Enterprise Linux 6
4.2、核心
2.6.32-71.el6.x86_64 or later
# uname -r 检查一下
一般都是没有问题的。
4.3、包需求
这是最烦人的。无数人死在这上面或精力耗在这上面
不过11g很人性化了,增加了检查的机制,还有就是不象10g那样在64位下要安装很多的32位包,只需要安装一个gcc-32bit-4.3就OK了。
下列表必须要安装:
binutils-2.20.51.0.2-5.11.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6.i686
gcc-4.4.4-13.el6 (x86_64)
gcc-c++-4.4.4-13.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6.i686
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6.i686
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6.i686
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6.i686
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6.i686
make-3.81-19.el6
sysstat-9.0.4-11.el6 (x86_64)
技巧(包名不要加版本号,即第一个“-数字”后面的不要,如gcc)
rpm -q 包名
yum list installed | grep '^包名'
没装的配好网络或配置好dvd2
yum install 包名
yum install 包名*
yum search 包名
yum whatprovides 文件名
yum install 文件名
yum 不到的google找到rpm
wget xxxx.rpm
rpm -ivh xxx.rpm
好,安装,安装前用先更新一下系统到最新版本
yum list updates
yum upgrade
reboot
我已经将上面包写成安装一个命令了,除非人品不好,不然应该一次成功
yum -y install \
binutils \
compat-libcap1 \
compat-libstdc++-33 \
compat-libstdc++-33*.i686 \
elfutils-libelf-devel \
gcc \
gcc-c++ \
glibc*.i686 \
glibc \
glibc-devel \
glibc-devel*.i686 \
ksh \
libgcc*.i686 \
libgcc \
libstdc++ \
libstdc++*.i686 \
libstdc++-devel \
libstdc++-devel*.i686 \
libaio \
libaio*.i686 \
libaio-devel \
libaio-devel*.i686 \
make \
sysstat \
unixODBC \
unixODBC*.i686 \
unixODBC-devel \
unixODBC-devel*.i686 \
libXp
5、selinux,防火墙,不必要服务,机器名
5.1、selinux 关掉吧(不建议)
vim /etc/sysconfig/selinux
SELINUX=enforcing改成SELINUX=disabled
5.2、防火墙
iptables
ip6tables
关掉
5.3、不必要的服务
cups 打印机
postfix 等
关服务命令
1、ntsysv 可视化界面配置保存
2、chkconifg
chkconfig --list | grep on 看哪些服务开着在
service 服务名 stop 或 /etc/init.d/服务名 stop
chkconfig 服务名 off
5.4、机器名
hostname
/etc/sysconfig/network中的hostname要与/etc/hosts中的一致
vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=dbserver
GATEWAY=192.168.137.1
NTPSERVERARGS=iburst
就是上面的HOSTNAME=dbserver
vim /etc/hosts
127.0.0.1 localhost dbserver
::1 localhost dbserver
#ip dbserver
有人还加上最后一行的ip设置(我没加)
6、建立用户,组,安装目录
6.1、建立用户和组(官方文档)
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "oracle" | passwd --stdin oracle #密码设置为oracle,为安全,改一下吧,也可以直接用交互式的passwd命令
如果oralce用户存在,第三个命令变成:
usermod -g oinstall -G dba oracle
还有一种加oper组的(建议这种)
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba,oper oracle
echo "oracle" | passwd --stdin oracle
查看一下
id oracle
uid=501(oracle) gid=501(oinstall) 组=501(oinstall),502(dba),503(oper)
6.2、建立安装目录(google一下OFA)
mkdir -p /u01/app/oracle/product/11.2.0/db_1
chown -R oracle:oinstall /u01/app
chmod -R 775 /u01/app
7、修改很多参数
7.1、内核参数
vim /etc/sysctl.conf
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 1200000000
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
最需要注意的是shmmax 这个参数,最小500M,最大比内存少一个字节就可以了,推荐比内存的一半大一点点
Minimum: 536870912
Maximum: A value that is 1 byte less than the physical memory
Recommended: More than half the physical memory
See My Oracle Support Note 567506.1 for additional information about configuring shmmax.
还有特别注意sysctl.conf中shmmax ,shmall 已经有了,要注释掉
改好后,使之生效
sysctl -p
7.2、改文件限制
vim /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
注意:修改此文件是即时生效的,但可能要重登录后再看
ulimit -Sn
ulimit -Hn
ulimit -Sn
ulimit -Sn
ulimit -Sn
vim /etc/pam.d/login (感觉好象没有必要)
#session required /lib/security/pam_limits.so
session required pam_limits.so
7.3、修改ulimit(感觉好象没有必要)
vim /etc/profile
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
7.4、修改oracle用户环境变量
vim ~oracle/.bash_profile
ORACLE_BASE=/u01/app/oracle #修改和OFA路径一致
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
ORACLE_SID=ORADB #修改
export ORACLE_BASE ORACLE_HOME ORACLE_SID
PATH=$ORACLE_HOME/bin:$PATH
export PATH
或者下面的,都差不多啦
TMP=/tmp; export TMP
TMPDIR=$TMP; export TMPDIR
ORACLE_HOSTNAME=dbserver; export ORACLE_HOSTNAME
ORACLE_UNQNAME=ORADB; export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1; export ORACLE_HOME
ORACLE_SID=ORADB; export ORACLE_SID
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/jlib:$ORACLE_HOME/rdbms/jlib; export CLASSPATH
8、安装
下载的oracle文件ssh到/u01/app/oracle
# xhost + #一定要运行一下
# su - oracle
$ cd /u01/app/oracle
$ unzip linux.x64_11gR2_database_1of2.zip
$ unzip linux.x64_11gR2_database_2of2.zip
$ unset LANG LANGUAGE #解决中文乱码
$ cd /u01/app/oracle/databse
$ ./runInstaller
执行先决条件检查时,会有不少包要求装,大部分是过时的,可以ignore掉。不过也要一个一个看一下。
一切顺利,到最后,要用root执行两个脚本,按提示就OK
浏览器打开https://localhost:1158/em
oracle 11g centos6 安装的更多相关文章
- win7 64位系统 Oracle32bit + PL/SQL访问Orale服务,Oracle 11g的安装,中文乱码问题的解决
前几天装了个Oracle32bit客户端 + PL/SQL连接不上oracle,我安装完打开PL/SQL登录界面跟正常的界面不一样,没有那个连接为Normal.SYSDBA的选项,下面有解释,至于我为 ...
- oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序
15511477451 原文 oracle 11g在安装过程中出现监听程序未启动或数据库服务未注册到该监听程序? 环境:win7 64位系统.oracle11g数据库 问题描述:在win7 64位系统 ...
- oracle 11g R2安装报错ORA-00604及ORA-06553的原因及解决方法
10月31日PO主打算装oracle 11g R2,于是通过QQ旋风离线下载功能从oracle官网的链接下载了win32_11gR2_database_1of2.zip和win32_11gR2_dat ...
- Oracle 11g R2安装手册(图文教程)For Windows
1.Oracle 11g R2安装手册(图文教程)For Windows 1.下载Oracle 11g R2 for Windows版本,下载地址如下 官方网站: http://download.or ...
- Oracle 11g的安装详细过程
本次采用的电脑为win10 专业版,以下为本人电脑的配置情况: 本人是第一次在win10系统上面进行oracle 11g的安装. 以下为安装步骤: 一.下载软件包 以下为各种oracle安装包的下载网 ...
- Windows下Oracle 11g的安装
Windows下Oracle 11g的安装 Windows下Oracle 11g的安装: Windows:64位, Oracle 11g版本:win64_11gR2_database_1of2(安装包 ...
- Oracle 11g 静默安装过程(centos7)
开启机器,本次实例分配的ip是:192.168.3.197(Xshell ssh连接) 2 安装unzip 工具.vim编辑器(个人习惯,vi也可以) 3 在/etc/hosts文件中添加本机IP跟主 ...
- Centos6.5下Oracle 11g R2安装过程
1准备 CentOS-6.5-x86_64-bin-DVD1 linux_11gR2_database_1of2 linux_11gR2_database_2of2 VMware Workstatio ...
- Oracle 11g静默安装软件+手工创建数据库
由于是二次跳转+远程操作,无法使用图形界面,不能直接图形界面安装.采用静默安装软件+手工创建数据库的方式完成需求. 静默模式安装Oracle软件,配置监听程序 手工建库 检查各组件是否符合要求 1. ...
随机推荐
- C# 连接 SQLServer 及操作
随笔:连接: // 将tb_User表数据添加到DataGridView中 string sqlconn = "Data Source=localhost;Initial Catalog=d ...
- 自己开发轻量级ORM(二)
上一篇简单的对轻量级ORM开发开了个头.这篇主要聊下ORM框架的设计思路. ORM本质上是对数据库操作的抽象.大体上我将其分为对数据结构的抽象和对执行方法的抽象. 我的ORM设计图: ORM框架需要完 ...
- Python学习--17 访问数据库
实际开发中,我们会经常用到数据库. Python里对数据库的操作API都很统一. SQLite SQLite是一种嵌入式数据库,它的数据库就是一个文件.由于SQLite本身是C写的,而且体积很小,所以 ...
- 学习Cocos2d的博客 --推荐
http://xiaominghimi.blog.51cto.com/2614927/d-6/p-1
- Swift 2.0 单例的用法
单例我们项目中是很常用的,今天刚学了在swift中怎么写单例和调用单例.下面我们简单的介绍一下.我们先看看Swift单例的写法: import UIKit class Shareinstance: N ...
- 关于post与get请求参数存在特殊字符问题
遇到项目中存在文本编辑框输入特殊字符 比如:# ? & 空格 , 导致后台接受不到参数问题,对可能存在特殊字符的参数进行encodeURIComponent; C#后台接受参数不需要解码 也可 ...
- [Spark] - HashPartitioner & RangePartitioner 区别
Spark RDD的宽依赖中存在Shuffle过程,Spark的Shuffle过程同MapReduce,也依赖于Partitioner数据分区器,Partitioner类的代码依赖结构主要如下所示: ...
- js设计模式--迭代器模式
迭代器模式: 迭代器模式提供一种方法顺序访问一个聚合对象中各个元素,而又不需要暴露该方法中的内部表示.js中我们经常会封装一个each函数用来实现迭代器. 理解的意思:提供一个方法,去把对象的每一项按 ...
- Windows Form线程同步
.Net多线程开发中,经常需要启动工作线程Worker thread处理某些事情,而工作线程中又需要更新主线程UI thread的界面状态.我们只能在主线程中操作界面控件,否则.Net会抛出异常. 那 ...
- NSIndexSet 浅析
Cocoa 中提供了两个用于维护区间集合的类型:NSIndexSet和NSMutableIndexSet . 这两个类型容易其名字一样,其区别就在于是否可以修改.这个区别和NSArray的一样,NSI ...