首页 > 数据库 > Oracle > rhel5.8上安装Oracle11gR2
安装流程
1.OS版本和kernel限制
2.空间限制
内存和磁盘空间
3.软件包需求
4.内核参数
5.用户和资源限制
6.运行安装命令
7.安装流程
1.OS版本限制
oracle 11g 主要是内核版本的要求
只支持 2.6.9 - 2.6.32之间版本的kernel
也就是RHEL4 - RHEL5
[root@ora11g dev]# cat /proc/version
Linux version 2.6.18-194.el5 (mockbuild@x86-007.build.bos.redhat.com)
(gcc version 4.1.2 20080704 (Red Hat 4.1.2-48)) #1 SMP Tue Mar 16 21:52:43 EDT 2010
[root@ora11g dev]# lsb_release -id
Distributor ID: RedHatEnterpriseServer
Description: Red Hat Enterprise Linux Server release 5.5 (Tikanga)
[root@ora11g dev]#
2.空间限制
内存资源
真实内存
至少1GB 推荐2G或更高
[root@ora11g database]# head -n 1 /proc/meminfo
MemTotal: 1295200 kB
[root@ora11g database]#
交换分区
// 图片
上图是oracle官方建议
非生产库随意设置 有512M就足够.
[root@ora11g database]# grep 'SwapTotal' /proc/meminfo
SwapTotal: 522104 kB
[root@ora11g database]#
共享内存 /dev/shm/ 大小
ORACLE 数据库从11g 版本开始,引入了一个自动内存管理(Automatic Memory Management)特性,
该特性需要更多的共享内存(/dev/shm),
因此如果决定应用该特性的话, 必须确保共享内存大于初始化参数MEMORY_MAX_TARGET 和MEMORY_TARGET的值。
如果在初始化参数中设置了MEMORY_MAX_TARGET 和MEMORY_TARGET 两参数为非0 值,
并且不符合系统共享内存,则ORACLE 数据库启动时,
就会触发ORA-00845:MEMORY_TARGET not supported on this system 错误。
[root@ora11g dev]# df -Th /dev/shm
文件系统 类型 容量 已用 可用 已用% 挂载点
tmpfs tmpfs 633M 0 633M 0% /dev/shm
[root@ora11g dev]#
修改方法 /etc/fstab
[root@ora11g dev]# grep tmpfs /etc/fstab
tmpfs /dev/shm tmpfs defaults 0 0
[root@ora11g dev]# vim /etc/fstab
[root@ora11g dev]# grep tmpfs /etc/fstab
tmpfs /dev/shm tmpfs defaults,size=700m 0 0
[root@ora11g dev]# mount -o remount tmpfs
[root@ora11g dev]# df -Th /dev/shm
文件系统 类型 容量 已用 可用 已用% 挂载点
tmpfs tmpfs 700M 0 700M 0% /dev/shm
[root@ora11g dev]#
磁盘空间
临时空间
/tmp 至少1G
软件和数据文件空间
// 图片
3.软件包需求
// 图片
检测方法:
[root@ora11g dev]# unset uninstall_rpm;for i in binutils compat-libstdc++-33 \
elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static \
gcc gcc-c++ glibc glibc-devel glibc glibc-headers kernel-headers \
ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel \
make sysstat unixODBC unixODBC-devel;do rpm -q $i &>/dev/null || uninstall_rpm="$uninstall_rpm $i";\
done ;[[ -z "$uninstall_rpm" ]] && echo -e "\nuninstall_rpm:\n\tOK.OK.OK" || \
echo -e "\nuninstall_rpm:\n\t$uninstall_rpm"
uninstall_rpm:
libaio-devel sysstat
运行上面命令 会输出缺少的软件包 你的主机缺少什么就安装什么
从OS光盘中安装
[root@ora11g ~]# mount /dev/cdrom /mnt
mount: block device /dev/cdrom is write-protected, mounting read-only
[root@ora11g ~]# cd /mnt/Server/
[root@ora11g Server]# rpm -ivh sysstat-7.0.2-3.el5.i386.rpm libaio-devel-0.3.106-5.i386.rpm
warning: sysstat-7.0.2-3.el5.i386.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing... ########################################### [100%]
1:sysstat ########################################### [ 50%]
2:libaio-devel ########################################### [100%]
[root@ora11g Server]#
安装完成后再次运行检查代码 直到提示OK
uninstall_rpm:
OK.OK.OK
[root@ora11g ~]#
4.内核参数
向 /etc/sysctl.conf 文件尾部添加如下参数
[root@ora11g ~]# tail -n 12 /etc/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 = 1048586
[root@ora11g ~]#
kernel.shmall
Total amount of shared memory available (bytes or pages)
kernel.shmmax
Maximum size of shared memory segment (bytes)
建议大于等于SGA
kernel.shmmni
Maximum number of shared memory segments system-wide
kernel.shmall*kernel.shmmni = 能够分配的内存大小
kernel.sem = SEMMSL SEMMNS SEMOPM SEMMNI
SEMMSL Maximum number of semaphores per set
每个信号对象集的最大信号对象数;
SEMMNS Maximum number of semaphores system-wide
系统范围内最大信号对象数;
SEMOPM
每个信号对象支持的最大操作数;
SEMMNI Maximum number of semaphore identifiers
系统范围内最大信号对象集数。
其中 SEMMNS的值等于 SEMMSL*SEMMNI
fs.file-max
系统中所允许的文件句柄最大数目。
net.ipv4.ip_local_port_range
应用程序可使用的IPv4端口范围。
net.core.rmem_default
套接字接收缓冲区大小的缺省值
net.core.rmem_max
套接字接收缓冲区大小的最大值
net.core.wmem_default
套接字发送缓冲区大小的缺省值
net.core.wmem_max
套接字发送缓冲区大小的最大值
设置完成后使用sysctl -p命令重载立即生效
5.用户和资源限制
建立oracle用户和组
建议指定GID和UID方式(尤其集群环境)
[root@dba ~]# groupadd -g 1000 oinstall
[root@dba ~]# groupadd -g 1001 dba
[root@dba ~]# useradd -u 1000 -g oinstall -G dba oracle
[root@dba ~]# passwd oracle
建立oracle软件安装文件目录
[root@dba ~]# mkdir -p /u01/oracle
[root@dba ~]# chown -R oracle:oinstall /u01/
[root@dba ~]#
设置oracle环境变量
vi ~oracle/.bash_profile
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0
export ORACLE_SID=ora11g
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
加载配置
oracle用户注销重新登录 或 source .bash_profile
ORACLE_BASE oracle产品基目录
ORACLE_HOME 数据库产品目录
通常情况下HOME目录是BASE的子目录 ORACLE_HOME=$ORACLE_BASE/product/10.2.0
ORACLE_SID 操作系统和oracle实例关联的纽带
PATH 将安装后的oracle命令追加到执行搜索路径
LD_LIBRARY_PATH 动态库的位置
PAM限制资源
/etc/security/limits.conf
[root@ora11g ~]# grep -v '#' /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240
[root@ora11g ~]#
[root@ora11g ~]# grep 'limit' /etc/pam.d/system-auth
session required pam_limits.so
[root@ora11g ~]#
6.运行安装命令
安装界面语言可以用locale查看 支持zh_CN.utf-8中文字体
export LANG=zh_CN.utf-8
安装界面使用英文则
export LANG=C
注销root使用oracle用户登录X-window执行安装命令 runInstaller
如果安装包再光盘介质上 挂载后要离开光盘挂在位置绝对路径执行
因为安装程序会创建临时文件 光盘是只读的 不能创建临时文件
若当前桌面是root 用su - oracle切换用户 需要在切换前root执行 # xhost + 否则oracle用户不能连接root的桌面
7.安装流程
1.安全更新
可以通过metalink(my oracle support是metalink新名)获取更新的信息
metalink账号通过购买ORACLE数据产品附赠
如果没有直接点下一步跳过
2.安装选项
选择安装方式
安装数据库软件并创建新数据库
仅安装数据库软件
升级数据库
3.安装的数据库应用类型
桌面版 企业版
4.数据库类型
单机 或 集群
5.安装路线
基本设置 和 高级自定义设置
6.产品语言
7.版本
标准版 企业版
8.安装路径
前期设置好 ORACLE_BASE ORACLE_HOME 会自动查找
9.产品清单
用于记录安装了哪些产品
卸载时会使用这份记录
10.数据库用途
OLTP 在线交易系统
OLAP 在线决策支持系统
11.数据库标识
前期设置好 ORACLE_SID 会自动获取
12. 数据库选项设置
1.)内存设置
11G的内存自动管理包括(SGA+PGA)
总的内存大小和内核参数要协调
kernel.shmall
Total amount of shared memory available (bytes or pages)
kernel.shmmax
Maximum size of shared memory segment (bytes)
建议大于等于SGA
kernel.shmmni
Maximum number of shared memory segments system-wide
kernel.shmall*kernel.shmmni = 能够分配的内存大小
2.)字符集选项
建立数据库时设定后 不建议后期更改
后期更改要严格遵守字符集的子集和超集关系
只能向超集更新
初次设置建议采用AL32UTF8
并且在一个公司内部所有数据库采用相同字符集
这样后期导入导出工具也能兼容
3.)安全性
11G新特性
口令区分大小写
失败登陆10次后锁定账号
可以在安装完成后在数据库中修改参数开启和关闭
sec_case_sensitive_login
sec_max_failed_login_attempts
4.)示例方案
建立学习用的示例表
可以不选择
主要是官方文档采用这套表
我们学习使用SCOTT用户即可
13. GC和DC配置
管理多台数据库的GC
和单机的EM管理DC
EM默认是安装的,这里只是设置故障通知邮件
14.数据库文件存储类型
文件系统
ASM(oracle自动存储管理)
在你还没学习ASM前 先选择文件系统
15.数据库自动备份调度系统
暂时关闭 后期会学
16.管理账户的密码
设置的密码要求复杂度
有警告可以跳过
17.系统管理组
已经在上面建好
会自动检测
18.安装先决条件检查
之前已经配置好内核参数和资源限制 如果配置错误必须解决
测试系统交换分区警告可以忽略
如果不用ODBC可以忽略ODBC包
测试库这两个警告 选择全部忽略才可以继续下一步
生产库必须解决所有警告
检测的选项
19.所有选项预览
选择 完成 即可执行安装
20.安装进度
建立数据库界面
是否更改密码
以root用户执行脚本
一定要先执行脚本 再回来点 确定
[root@ora11g ~]# /u01/oraInventory/orainstRoot.sh
更改权限/u01/oraInventory.
添加组的读取和写入权限。
删除全局的读取, 写入和执行权限。
更改组名/u01/oraInventory 到 oinstall.
脚本的执行已完成。
[root@ora11g ~]# /u01/oracle/product/11.2.0/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /u01/oracle/product/11.2.0
Enter the full pathname of the local bin directory: [/usr/local/bin]:
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
[root@ora11g ~]#
完成安装
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28520410/viewspace-1184325/ ,如需转载,请注明出处,否则将追究法律责任。