Oracle安装与配置 1. 检查内存、swap空间的配置: 系统内存 Swap Space 1GB~2GB 1.5*RAM 2GB~16GB RAM >16GB 16GB 2. 修改内核参数 root用户下修改/etc/sysctl.conf文件,加上如下参数:
sysctl –p 不重启系统使上述配置生效 参数说明: 1)共享内存 oracle实例启动时,调用SGA分配内存,SGA由oracle多个进程共享,这部分内存会以共享内存的形式分配,如果共享内存参数设置错误,会让oracle不能为实例分配足够的SGA 从而导致实例启动失败 具体的共享内存内核参数含义 (1):kernel.shmmax:每个内存段的最大大小,以字节为单位,是设置共享内存时最重要的一个内核参数,其值要大于或者等于SGA_MAX_SIZE初始化参数的大小,否则SGA会由多个内存段组成,导致效率降低,另外这个参数还要不小于物理内存的1/2或2GB (2):kernel.shmmni:系统可分配的共享内存段的最大数量。其值也是在系统中可以启动的oracle实例的最大数量,其默认值为4096,通常在生产情况下一个服务器同时启动的实例数达不到这个数字,所以默认就OK (3):kernel.shmall:指定任意时刻,系统中可以分配的所有共享内存段的总和的最大值,也可以保留默认值 2)信号量 信号量是一种控制资源访问的方法,oracle实例主要使用信号量来控制共享内存的访问。信号量基于processes初始化参数分配,每个oracle实例启动时都要分配一个信号量集合,其中信号量数量至少要等于processes初始化参数的值,如果不能分配足够的信号量,oracle实例将不能启动 通过sem内核参数来制定各个信号量参数值 如kernel.sem=250 32000 100 128 其中等号右边4个整数分别表示semmsl、semmns、semopm、semmni的值 (1):semmsl用于指定每个信号量集合中的最大信号量个数,其值或者取其最小值100,或者为所有数据库中最大的processes参数加10,选取较大者 (2):semmns用于指定整个系统范围内信号量总数的最大值,默认值为32000,保留即可 (3):semopm用于指定每个semop()系统调用可以设置的信号量操作的最大数量,推荐10 因为semmsl指定了每个信号量集合中的最大信号量个数,而semmni指定了信号量集合的最大值,最后,系统能够分配的信号量个数决定于semmns与semmni*semmsl的较小者 (4):semmni用于指定信号量集合的最大数量 最小为100,oracle推荐取128 3)打开文件 fs.file-max用于指定每个进程可以打开的最大文件数量。oracle数据库文件在数据库运行期间一直要保持打开状态。应该设置为数据库中的数据文件个数的最大值,推荐设置为一个较大的数值 如65536 4)网络 net.ipv4.ip_local_port_range:在数据库专用服务器进程启动时,会被分配一个I端口,用来与用户进程通信,默认情况下,分配给非root用户进程的端口范围为32768~61000,对于用户数很多的数据库,需要修改这个默认值,一般可以设定为1024~65000,小于1024的端口保留给root用户启动的进程使用 另外还有两组参数用于设置socket数据发送及接受缓冲区的大小 第一组为net.ipv4.tcp_rmem及net.ipv4.tcp_wmem net.ipv4.tcp_rmem用于指定socket数据发送缓冲区的最小值、默认值及最大值 net.ipv4.tcp_wmem用于指定socket数据接收缓冲区的最小值、默认值及最大值 两个内核参数值会在系统 运行时根据其设置自动调整 第二组为net.core.rmem_default、net.core.wmem_default、net.core.rmem_max、net.core.wmem_max? 这四个内核参数用于设置socket数据发送缓冲区及接收缓冲区的默认值大小与最大大小? 这几个参数默认值为: net.core.rmem_default=110592 net.core.wmem_default=110592 net.core.rmem_max=131071 net.core.wmem_max=131071
3. 修改用户限制
root用户下修改/etc/security/limits.conf,添加以下参数:
4.修改用户验证选项 root用户下修改/etc/pam.d/login文件加上以下参数:
root用户下修改/etc/profile文件加入以下参数:
5.安装需要的依赖包 The following or later version of packages for Oracle Linux 6, Red Hat Enterprise Linux 6, and Asianux Server 4 must be installed: 同时安装32为和64位安装包,在文件yum.conf加入:multilib_policy=all
6.创建Oracle用户及目录 1)root用户下创建用户和组,作为软件安装和支持的拥有者 # groupadd oinstall # groupadd dba # useradd -g oinstall -G dba oracle (主组oinstall,其他组dba) # passwd oracle 之后为oracle用户设定密码,输入两次
2)创建数据库软件目录数据文件存放目录: mkdir /home/oracle/app mkdir /home/oracle/app/oracle mkdir /home/oracle/app/oradata mkdir /home/oracle/app/oracle/product
7.Oracle目录及环境变量 1)安装目录配置,更改目录属主为Oracle用户所有: chown -R oracle:oinstall /home/oracle/app chmod -R 775 /home/oracle/ 2)切换到oracle用户:su - oracle oracle用户下更改 .bash_file文件(位于/home/oracle/目录下) vi .bash_profile,增加以下内容:
8. 解压软件
https://blog.csdn.net/weixin_43241054/article/details/runInstaller进行安装
出现问题:
Exception in thread "main" java.lang.UnsatisfiedlinkError: /tmp/OraInstall2019-07-29_10-24-49PM/jdk/jre/lib/i386/xawt/libmawt.so: libXext.so.6: cannot open shared object file: No such file or directory 原因是缺少了包,装上如下的包就可以了 yum install -y libXp*
注意事项: 针对oracle安装环境的检查,安装无法继续进行,这时可以按照http://www.cnblogs.com/colben/p/4120439.html查看修改适合自己系统的内核参数。此外,对于检查所列出的缺少的依赖包可以去http://rpm.pbone.net/网站自寻下载所需要的安装包,使用rpm –ivh包名.rpm安装。对于某些需要安装其他依赖包的安装包可以使用rpm –ivh包名.rmp –nodeps –force强制安装。
9. 创建数据库
oracle用户下,新开启一个终端,直接输入命令dbca
10. 配置listener监听
在oracle用户下,新开启一个终端,输入netca命令,在弹出的图形配置界面:
监听程序配置->添加->输入监听程序名(LISTENER)->选择TCP协议->配置另一个监听(否)->完成
这样oracle服务器安装配置基本就完成了。
11 启动数据库
启动监听 lsnrctl start
sqlplus /nolog
conn / as sysdba
startup
12 关闭数据库
sqlplus /nolog
conn / as sysdba
shutdown immediate 或者abort