Linux下安装Oracle的过程和涉及的知识点-系列3

4、磁盘空间

11g R2要求/tmp空间不能少于1G,若不满足要求,可以做以下两件事情之一:

(1)、删除/tmp的空间,以满足磁盘要求。

(2)、设置TMP和TMPDIR环境变量。

使用df -h查看磁盘空间,11g R2要求的空间大小是:

Installation Type Requirement for Software Files (GB)
Enterprise Edition 4.7
Standard Edition 4.6

Installation Type Requirement for Data Files (GB)
Enterprise Edition 1.7
Standard Edition 1.5

5、依赖包

11g R2对Linux x86_64的依赖包要求是:

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)

当前实验的版本缺少如下包:

compat-libstdc++
gcc-c++
libstdc++-devel
libaio-devel

另外,若需要使用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、系统内核参数

官方文档给出的内核参数建议是:

Parameter Minimum Value File
semmsl

semmns

semopm

semmni

250

32000

100

128

/proc/sys/kernel/sem
shmall 2097152 /proc/sys/kernel/shmall
shmmax 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.

/proc/sys/kernel/shmmax
shmmni 4096 /proc/sys/kernel/shmmni
file-max 6815744 /proc/sys/fs/file-max
ip_local_port_range Minimum: 9000

Maximum: 65500

/proc/sys/net/ipv4/ip_local_port_range
rmem_default 262144 /proc/sys/net/core/rmem_default
rmem_max 4194304 /proc/sys/net/core/rmem_max
wmem_default 262144 /proc/sys/net/core/wmem_default
wmem_max 1048576 /proc/sys/net/core/wmem_max
aio-max-nr 1048576

Note: This value limits concurrent outstanding requests and should be set to avoid I/O subsystem failures.

/proc/sys/fs/aio-max-nr
并强调如果当前系统的内核参数值大于上述建议值,则不建议修改这些值。

如果需要修改,建议记录修改的参数项和值。

可以使用如下命令查看对应的内核参数值:

Parameter Command
semmslsemmnssemopm, and semmni # /sbin/sysctl -a | grep sem

This command displays the value of the semaphore parameters in the order listed.

shmallshmmax, and shmmni # /sbin/sysctl -a | grep shm
file-max # /sbin/sysctl -a | grep file-max
ip_local_port_range # /sbin/sysctl -a | grep ip_local_port_range
rmem_default # /sbin/sysctl -a | grep rmem_default
rmem_max # /sbin/sysctl -a | grep rmem_max
wmem_default # /sbin/sysctl -a | grep wmem_default
wmem_max # /sbin/sysctl -a | grep wmem_max
若需要修改内核参数,可以编辑/etc/sysctl.conf。

修改之后使用sysctl -p生效,如下是增加和修改的内容:

Linux下安装Oracle的过程和涉及的知识点-系列3_第1张图片

官方还建议对于11g R2需要设置一个额外的参数:fs.aio-max-nr。


8、修改Oracle软件安装用户的资源限制

官方建议:

Resource Shell Limit Resource Soft Limit Hard Limit

Open file descriptors

nofile

at least 1024

at least 65536

Number of processes available to a single user

nproc

at least 2047

at least 16384

Size of the stack segment of the process

stack

at least 10240 KB

at least 10240 KB, and at most 32768 KB

这里需要修改/etc/security/limits.conf,

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
0
$ ulimit -c 1000

$ 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的验证,验证的规则就是在这里面定义的,如果符合才能让你登陆。

你可能感兴趣的:(oracle,linux,安装)