4、磁盘空间 11g R2要求/tmp空间不能少于1G,若不满足要求,可以做以下两件事情之一: (1)、删除/tmp的空间,以满足磁盘要求。 (2)、设置TMP和TMPDIR环境变量。 使用df -h查看磁盘空间,11g R2要求的空间大小是:
5、依赖包 11g R2对Linux x86_64的依赖包要求是: binutils-2.20.51.0.2-5.11.el6 (x86_64) 当前实验的版本缺少如下包: compat-libstdc++ 另外,若需要使用ODBC,也需要安装unixODBC包。 可以使用yum -y install libaio-devel*的方式安装所需的依赖包。 通过实验,看到上述依赖包有很多前缀一样但后缀分为x86_64和i686的,其实只需要下载x86_64就可以了。 依赖包这块的安装是否全,决定了安装Oracle时是否会出现缺少依赖包的问题。 王道就是尽量安装全官方要求的依赖包,yum时也会找到该包当前的最新版本。 6、创建安装路径、用户、用户组: (1)、创建dba组 groupadd -g 101 dba 这里可以指定gid是101,也可以不指定使用默认值。 可以使用grep dba /etc/group查看是否建立过dba组。 (2)、创建oinstall组 groupadd oinstall 这个组如果不建立也不会影响当前Oracle的安装,oinstall组一般是用于控制软件安装、补丁安装的,dba组一般是用于控制数据库创建,数据库管理等的,当然组名不一定必须是dba或oinstall,另外以上权限也可以都授权给dba组,这样只需要创建一个dba组就可以了。 可以使用more /etc/oraInst.loc查看是否已经建立过Oracle Inventory group,例如: inventory_loc=/opt/app/oraInventory inst_group=oinstall (3)、创建用户 useradd -g oinstall -G dba ora11g 这里-g表示用户ora11g指定主group是oinstall,-G表示用户ora11g指定其他用户(副)group是dba。 一个用户只能属于一个主group,但可以属于多个其他用户组。 可以使用id ora11g查看用户所属的主group和副group等信息。也可以使用groups ora11g查看所属组。 使用passwd ora11g为用户创建密码。 (4)、创建安装目录,配置权限 mkdir -p /opt/app/ora11g chown -R ora11g:dba /opt/app/ora11g创建Oracle安装路径/opt/app/ora11g,-R表示修改该目录所属的用户和组,包括路径下的子文件夹。 7、系统内核参数 官方文档给出的内核参数建议是: vciBLZXJuZWwgUGFyYW1ldGVycyBvbiBMaW51eA==" width="100%">
如果需要修改,建议记录修改的参数项和值。 可以使用如下命令查看对应的内核参数值:
修改之后使用sysctl -p生效,如下是增加和修改的内容: 官方还建议对于11g R2需要设置一个额外的参数:fs.aio-max-nr。 8、修改Oracle软件安装用户的资源限制 官方建议:
ora11g soft nproc 2047 ora11g hard nproc 16384 ora11g soft nofile 1024 ora11g hard nofile 65536 注:但我尚未设置stack这个(11g R2建议配置),不知道是否有影响。 type中: soft指的是当前系统生效的设置值。 hard表明系统中所能设定的最大值。 soft的限制不能比hard限制高。 用-就表明同时设置了soft和hard的值。 resource中: nofile表示打开文件的最大数目。 nproc表示进程的最大数目。 查看file descriptor的soft和hard的最小、最大限制:ulimit -Sn和ulimit -Hn。 查看用户可用进程数的soft和hard的最小、最大限制:ulimit -Su和ulimit -Hu。 查看stack的soft的最大、最小限制:ulimit -Ss和ulimit -Hs。 对于以上limits.conf文件的修改,必须重新登陆才能生效,再继续下面的安装之前,最后重新登陆。 知识点4:limits.conf文件内容: soft core 0 禁止创建core文件 何谓core文件,当一个程式崩溃时,在进程当前工作目录的core文件中复制了该进程的存储图像。core文件仅仅是个内存映象(同 时加上调试信息),主要是用来调试的。core文件是个二进制文件,需要用相应的工具来分析程式崩溃时的内存映像。系统默认 core文件的大小为0,所以没有创建。 能用ulimit命令查看和修改core文件的大小。 $ulimit -c $ ulimit -c 1000 -c 指定修改core文件的大小,1000指定了core文件大小。也能对core文件的大小不做限制,如: #ulimit -c unlimited #ulimit -c unlimited 如果想让修改永久生效,则需要修改设置文件,如 .bash_profile、/etc/profile或/etc/security/limits.conf。 hard rss 10000 非root用户最多使用10M内存 hard nproc 20 最多进程数限制在20 limits.conf的工作原理: limits.conf的后端是这样工作的:limits.conf是pam_limits.so的设置文件,然后/etc/pam.d/下的应用程式调用pam_***.so模块。譬如说,当用户访问服务器,服务程式将请求发送到PAM模块,PAM模块根据服务名称在/etc/pam.d目录下选择一个对应的服务文件,然后根据服务文件的内容选择具体的PAM模块进行处理。 例如:限制admin用户登录到sshd的服务不能超过2个: 在/etc/pam.d/sshd 中添加 session required pam_limits.so。 在/etc/security/limits.conf中添加 admin - maxlogins 2。 9、/etc/pam.d/login添加如下内容 session required pam_limits.so 原因如上所述,要使 limits.conf 文件配置生效,必须要确保pam_limits.so文件被加入到启动文件中。 如上所述,可以用ulimit -n 32768设置最大描述符,不过只对当前会话有用,而且要root,或者修改/etc/security/limits.conf,但要重启。 pam.d指的是验证登陆配置,存放着与PAM模块有关安全策略配置文件,如上所述,修改最大文件打开数的配置过程中,需要修改安全策略,加载pam_limits.so模块。login是登陆配置文件。简单说这就是Linux操作系统的登陆配置文件。每次登陆系统的时候或修改密码的时候都要先经过pam的验证,验证的规则就是在这里面定义的,如果符合才能让你登陆。 |