@lijiahong
2018-01-22T09:52:27.000000Z
字数 5114
阅读 1017
linux oracle
SHELL的限制修改/etc/security/limits.conf文件-->输入命令:vi /etc/security/limits.conf
按i键进入编辑模式,将下列内容加入该文件。
oracle soft nproc 2047oracle hard nproc 16384oracle soft nofile 1024oracle hard nofile 65536oracle soft stack 10240
编辑完成后按Esc键,输入:wq存盘退出
输入命令:vi /etc/pam.d/login,按i键进入编辑模式,将下列内容加入该文件。

session required /lib/security/pam_limits.sosession required pam_limits.so
编辑完成后按Esc键,输入“:wq”存盘退出
修改/etc/sysctl.conf文件-->输入命令: vi /etc/sysctl.conf,按i键进入编辑模式,将下列内容加入该文件
fs.file-max = 6815744fs.aio-max-nr = 1048576#kernel.shmall = 2097152 //配置文件中直接修改#kernel.shmmax = 2147483648 //配置文件中直接修改kernel.shmmni = 4096kernel.sem = 250 32000 100 128net.ipv4.ip_local_port_range = 9000 65500net.core.rmem_default = 4194304net.core.rmem_max = 4194304net.core.wmem_default = 262144net.core.wmem_max = 1048576
以上参数相关说明:
fs.file-max = 6815744file-max是设置系统所有进程一共可以打开的文件数量 。同时一些程序可以通过setrlimit调用,设置每个进程的限制。如果得到大量使用完文件句柄的错误信息,是应该增加这个值。
fs.aio-max-nr = 1048576fs.aio-max-nr 参数,指的是 同时可以拥有的的异步IO请求数目。
kernel.shmall = 2097152kernel.shmmax = 2147483648kernel.shmmni = 4096SHMMAX= 配置了最大的内存segment的大小 ------>这个设置的比SGA_MAX_SIZE大比较好。SHMMIN= 最小的内存segment的大小SHMMNI= 整个系统的内存segment的总个数SHMSEG= 每个进程可以使用的内存segment的最大个数
kernel.sem = 250 32000 100 128上面的4个数据分别对应:SEMMSL、SEMMNS、SEMOPM、SEMMNI这四个核心参数,具体含义和配置如下。SEMMSL :用于控制每个信号集的最大信号数量。Oracle 建议将 SEMMSL 设置为 init.ora 文件(用于 Linux 系统中的所有数据库)中的最大 PROCESS 实例参数的设置值再加上 10 。此外, Oracle 建议将 SEMMSL 的值设置为不少于 100 。SEMMNS:用于控制整个 Linux 系统中信号(而不是信号集)的最大数。Oracle 建议将 SEMMNS 设置为:系统中每个数据库的 PROCESSES 实例参数设置值的总和,加上最大 PROCESSES 值的两倍,最后根据系统中 Oracle 数据库的数量,每个加 10 。使用以下计算式来确定在 Linux 系统中可以分配的信号的最大数量。它将是以下两者中较小的一个值:SEMMNS 或 (SEMMSL * SEMMNI)SEMOPM: 内核参数用于控制每个 semop 系统调用可以执行的信号操作的数量。semop 系统调用(函数)提供了利用一个 semop 系统调用完成多项信号操作的功能。一个信号集能够拥有每个信号集中最大数量的SEMMSL 信号,因此建议设置 SEMOPM 等于SEMMSL 。Oracle 建议将 SEMOPM 的值设置为不少于 100 。SEMMNI :内核参数用于控制整个 Linux 系统中信号集的最大数量。Oracle 建议将 SEMMNI 的值设置为不少于 100 。
net.ipv4.ip_local_port_range = 9000 65500 //表示TCP/UDP协议允许使用的本地端口号net.core.rmem_default = 4194304 //默认的TCP数据接收窗口大小(字节)。net.core.rmem_max = 4194304 //最大的TCP数据接收窗口(字节)。net.core.wmem_default = 262144 //默认的TCP数据发送窗口大小(字节)。net.core.wmem_max = 1048576 //最大的TCP数据发送窗口(字节)。
执行sysctl -p显示如下:

输入命令:vi /etc/profile,按i键进入编辑模式,将下列内容加入该文件。
if [ $USER = "oracle" ]; thenif [ $SHELL = "/bin/ksh" ]; thenulimit -p 16384ulimit -n 65536elseulimit -u 16384 -n 65536fifi
编辑完成后按Esc键,输入:wq存盘退出
创建所需的用户组(在root帐号下操作):
groupadd oinstallgroupadd dbagroupadd oper
创建所需的帐号(在root帐号下操作):
使用命令 id oracle; 查看 oracle 帐号是否已存在,若未存在则使用如下命令进行创建
useradd -g oinstall -G dba,oper oracle #初始群组为 oinstall,有效群组为 dba、operpasswd oracle #为oracle帐号设置密码(安装的时候需要登录)
若oracle帐号已存在,则使用命令 usermod -a -G dba,oper oracle 将其加入群组 dba 和 oper中
创建所需的目录(在root帐号下操作):
把oracle安装在 /usr/oracle 目录下,所以需创建该目录:
mkdir /usr/oraclemkdir /usr/oracle/appmkdir /usr/oracle/app/oraclemkdir /usr/oracle/app/oradatamkdir /usr/oracle/app/oracle/product
安装时还需要设置 Inventory 目录,所以需创建该目录:
mkdir /usr/oraInventorychown -R oracle:oinstall /usr/oraInventorychmod 755 /usr/oraInventory
输入命令:
chown -R oracle:oinstall /usr/oraclechmod 755 /usr/oracle
首先,切换到新创建的oracle用户下,
输入:su – oracle,然后直接在输入 : vi .bash_profile,按i编辑 .bash_profile,进入编辑模式,增加以下内容:
export ORACLE_BASE=/usr/oracle/appexport ORACLE_HOME=$ORACLE_BASE/oracle/product/11.2.0/dbhome_1export ORACLE_SID=orclexport PATH=$PATH:$HOME/bin:$ORACLE_HOME/binexport LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib
ORACLE_BASE=/usr/oracleORACLE_HOME=$ORACLE_BASE/11gORACLE_SID=orclLD_LIBRARY_PATH=$ORACLE_HOME/libPATH=$PATH:$ORACLE_HOME/bin:$HOME/binexport ORACLE_BASE ORACLE_HOME ORACLE_SID LD_LIBRARY_PATH PATH
编辑完成后按Esc键,输入“:wq”存盘退出
保存退出后执行如下命令使以上设置立即生效:
source /home/oracle/.bash_profile
未避免出现此情况造成安装失败。请执行以下步骤
挂载centos安装盘进入Packpage文件夹用此命令安装rpm包。
rpm -ivh glibc-common-2.12-1.192.el6.x86_64.rpmrpm -ivh kernel-headers-2.6.32-642.el6.x86_64.rpmrpm -ivh libgcc-4.4.7-17.el6.x86_64.rpm --force --nodepsrpm -ivh libgomp-4.4.7-17.el6.x86_64.rpmrpm -ivh nscd-2.12-1.192.el6.x86_64.rpmrpm -ivh glibc-headers-2.12-1.192.el6.x86_64.rpmrpm -ivh glibc-devel-2.12-1.192.el6.x86_64.rpm --forcerpm -ivh mpfr-2.4.1-6.el6.x86_64.rpmrpm -ivh ppl-0.10.2-11.el6.x86_64.rpmrpm -ivh cloog-ppl-0.15.7-1.2.el6.x86_64.rpmrpm -ivh cpp-4.4.7-17.el6.x86_64.rpmrpm -ivh gcc-4.4.7-17.el6.x86_64.rpmrpm -ivh libstdc++-4.4.7-17.el6.x86_64.rpmrpm -ivh libstdc++-devel-4.4.7-17.el6.x86_64.rpmrpm -ivh libstdc++-4.4.7-17.el6.x86_64.rpm --forcerpm -ivh libstdc++-devel-4.4.7-17.el6.x86_64.rpm --forcerpm -ivh gcc-c++-4.4.7-17.el6.x86_64.rpmrpm -ivh gcc-c++-4.4.7-17.el6.x86_64.rpm --force
当上述系统要求操作全部完成后,注销系统,在图形界面以Oracle用户登陆。
首先将下载的Oracle安装包复制到linux中,用SSH其他ftp工具拷贝。
打开一个终端,运行unzip命令解压oracle安装文件,如:
unzip linux.x64_11gR2_database_1of2.zipunzip linux.x64_11gR2_database_2of2.zip
解压完成后 cd 进入其解压后的目录database
输入命令:
cd database
使用ls命令可以查看解压后database所包含的文件,如下图:
由于安装过程是以 oracle 身份进行的,所以需确保oracle帐号对 /home/oracle/database 有执行权限,可使用如下命令将该目录赋予oracle帐号所有,并拥有执行权限:
chmod -R 700 /usr/databasechown -R oracle:oinstall /usr/database
输入命令:./runInstaller
如切换成oracle执行./runInstaller无权限,在root用户下执行以下语句(database为解压之后的文件夹)
chmod -R 700 /usr/databasechown -R oracle:oinstall /usr/database
执行./runInstaller

查看自检情况,按y继续

第一步:

第二步:

第三步:

第四步:

第五步:

第六步:
图后期更新,不用按照图示进行更改
需要注意的是如果提示无权限记得重新授权文件夹的权限
第七步:
图后期更新,不用按照图示进行更改

第八步:
图后期更新,默认即可。不用按照图示进行更改















