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

本文涉及的产品
运维安全中心(堡垒机),免费版 6个月
运维安全中心(堡垒机),企业双擎版 50资产 7天
简介: 4、磁盘空间11g R2要求/tmp空间不能少于1G,若不满足要求,可以做以下两件事情之一:(1)、删除/tmp的空间,以满足磁盘要求。(2)、设置TMP和TMPDIR环境变量。

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生效,如下是增加和修改的内容:


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

目录
相关文章
|
9天前
|
Ubuntu Java Linux
Linux 安装 Qualcomm ® SnapdragonTM Profiler
通过本文的详细介绍,您应该已经成功在 Linux 系统上安装并配置了 Qualcomm® Snapdragon™ Profiler,并能够连接 Android 设备进行性能分析。Snapdragon Profiler 提供了丰富的工具和功能,可以帮助开发者深入了解应用程序的性能瓶颈,从而进行优化。希望本文能对您有所帮助,让您在开发过程中更高效地使用 Snapdragon Profiler 进行性能分析和优化。
40 10
|
10天前
|
Linux
Linux安装svn并启动
Linux安装svn并启动
48 10
|
30天前
|
安全 Ubuntu Linux
Linux重要知识点
掌握以上Linux重要知识点可以帮助你高效地使用和管理Linux系统。这些知识不仅在日常使用中非常重要,而且在系统维护、网络配置和安全管理等方面也非常关键。通过不断实践和深入学习,可以进一步提高对Linux系统的理解和掌握。
81 22
|
1月前
|
Oracle 关系型数据库 Linux
linux8安装oracle 11g遇到的问题记录
Oracle 11g在Linux 8上安装时会遇到link编译环节的问题。官方建议忽略安装中的链接错误,安装完成后应用DBPSU 11.2.0.4.240716补丁及一次性补丁33991024,再重新编译二进制文件,并配置监听器和数据库。但因11g已退出服务期,这些补丁需付费获取。网上信息显示22年1月的PSU补丁也可解决问题,找到该补丁后按常规方式打补丁即可。如有需求或疑问可咨询我。
70 20
|
29天前
|
弹性计算 运维 Ubuntu
os-copilot在Alibaba Cloud Linux镜像下的安装与功能测试
我顺利使用了OS Copilot的 -t -f 功能,我的疑惑是在换行的时候就直接进行提问了,每次只能写一个问题,没法连续换行更有逻辑的输入问题。 我认为 -t 管道 功能有用 ,能解决环境问题的连续性操作。 我认为 -f 管道 功能有用 ,可以单独创建可连续性提问的task问题。 我认为 | 对文件直接理解在新的服务器理解有很大的帮助。 此外,我还有建议 可以在非 co 的环境下也能进行连续性的提问。
70 7
|
2月前
|
Linux Python
Linux 安装python3.7.6
本教程介绍在Linux系统上安装Python 3.7.6的步骤。首先使用`yum`安装依赖环境,包括zlib、openssl等开发库。接着通过`wget`下载Python 3.7.6源码包并解压。创建目标文件夹`/usr/local/python3`后,进入解压目录执行配置、编译和安装命令。最后设置软链接,使`python3`和`pip3`命令生效。
|
2月前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
202 20
|
2月前
|
NoSQL 关系型数据库 MySQL
Linux安装jdk、mysql、redis
Linux安装jdk、mysql、redis
216 7
|
3月前
|
Oracle Cloud Native 关系型数据库
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
105 10
Oracle Linux 9.5 正式版发布 - Oracle 提供支持 RHEL 兼容发行版
|
2月前
|
Unix Linux 编译器
UNIX/Linux 上的安装
UNIX/Linux 上的安装。
62 2