oracle11g linux命令行(静默)安装

101库:32g内存   grep SwapTotal /proc/meminfo  SwapTotal:       5242876 kB     注意设置swap   100库是设置的16g和内存一样大

1.修改用户的SHELL的限制 ,设置oracle软硬件进程数
vim /etc/security/limits.conf
oracle              soft    nproc   4096
oracle              hard    nproc   65536
oracle              soft    nofile  4096
oracle              hard    nofile  65536

2.添加初始化参数 vim /etc/sysctl.conf
# Controls the maximum size of a message, in bytes
kernel.msgmax = 65536

# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736

# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 4294967296
fs.file-max = 6815744
fs.aio-max-nr = 1048576
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576

要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 

3.关闭强制访问控制,避免路由访问失败---可设置 或者不设置。建议设置禁用需重启服务器 reboot 101 库设置了如下:
vi /etc/selinux/config
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
#     enforcing - SELinux security policy is enforced.
#     permissive - SELinux prints warnings instead of enforcing.
#     disabled - No SELinux policy is loaded.
SELINUX=disabled ---就这个东西
# SELINUXTYPE= can take one of these two values:
#     targeted - Targeted processes are protected,
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted


4.配置计算机名称   101如下  app-01 是他的名称
vi /etc/hosts
10.1.1.1  app-01

5.全局进程,线程配置  末尾追加
vi /etc/profile
if [ $USER = "oracle" ]; then
    if [ $SHELL = "/bin/ksh" ]; then
        ulimit -p 16384
        ulimit -n 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi


6.设置oracle用户环境变量  101配置如下    只需要配置如下就行
su - oracle
vi .bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0.4/dbhome_1
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export ORACLE_SID=oracle

让其生效
. ./.bash_profile

检验是否设置成功
echo $ORACLE_HOME

7.vi /etc/pam.d/login   101该配置文件如下  网上也有没配的  关键是session required /lib/security/pam_limits.so    session required pam_limits.so需要增加   101 64位系统
直接配置
session required /lib/security/pam_limits.so    
session required pam_limits.so

网上:


1.修改用户的SHELL的限制
vim /etc/security/limits.conf
oracle           soft    nproc           2047
oracle           hard    nproc           16384
oracle           soft    nofile          1024
oracle           hard    nofile          65536
oracle           soft    stack           10240


2.--修改/etc/pam.d/login文件,增加如下:
 session  required   /lib64/security/pam_limits.so  //64为系统,千万别写成/lib/security/pam_limits.so,否则导致无法登录
 session  required   pam_limits.so

3.修改linux内核,修改/etc/sysctl.conf文件,输入命令: vi /etc/sysctl.conf,按i键进入编辑模式,将下列内容加入该文件
fs.file-max = 6815744
 
fs.aio-max-nr = 1048576
 
kernel.shmall = 2097152
 
kernel.shmmax = 2147483648   共享内存字节,一般为最大内存的75%
 
kernel.shmmni = 4096
 
kernel.sem = 250 32000 100 128
 
net.ipv4.ip_local_port_range = 9000 65500
 
net.core.rmem_default = 4194304
 
net.core.rmem_max = 4194304
 
net.core.wmem_default = 262144
 
net.core.wmem_max = 1048576

要使 /etc/sysctl.conf 更改立即生效,执行以下命令。 输入:sysctl -p 


3.关闭强制访问控制,避免路由访问失败---可设置 或者不设置。
vi /etc/selinux/config
-----------------------
SELINUX=disabled

4.修改主机名,及ip对应关系

--设置主机名,也可以直接修改配置文件/etc/sysconfig/network,不过这个是重启之后才起作用
#sed -i "s/HOSTNAME=localhost.localdomain/HOSTNAME=DB_2/g" /etc/sysconfig/network

--如果不想重启,则使用下面命令,使当前生效
#hostname DB_2

--添加主机名与IP对应记录
#vi /etc/hosts 
10.10.0.48    DB_2


5.全局进程,线程配置,也有同101一样配置的。
vi /etc/profile
----------------------
if [$USER = 'oracle']; then
    ulimit -u 16384
    ulimit -n 65536
fi

6.设置oracle用户环境变量
su - oracle
vi .bash_profile
----------------------
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/11.2/db_1
export ORACLE_SID=oracle11g
export NLS_LANG=american_america.zhs16gbk
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib
export PATH=$PATH:$ORACLE_HOME/bin:/bin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/X11R6/bin
umask 022
----------------------

让其生效
. ./.bash_profile

检验是否设置成功
echo $ORACLE_HOME

-------------------------------------公共

必备依赖包
检查是否安装
rpm -q binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

执行yum安装
yum install binutils compat-libstdc++ elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make sysstat unixODBC unixODBC-devel

1.创建oracle用户
groupadd oinstall 
groupadd dba 
useradd -g oinstall -G dba oracle 
passwd oracle


各参数详解:

kernel.shmmax:是核心参数中最重要的参数之一,用于定义单个共享内存段的最大值。设置应该足够大,能在一个共享内存段下容纳下整个的SGA ,设置的过低可能会导致需要创建多个共享内存段,这样可能导致系统性能的下降。至于导致系统下降的主要原因为在实例启动以及ServerProcess创建的时候,多个小的共享内存段可能会导致当时轻微的系统性能的降低(在启动的时候需要去创建多个虚拟地址段,在进程创建的时候要让进程对多个段进行“识别”,会有一些影响),但是其他时候都不会有影响。

 

官方建议值:

32位linux系统:可取最大值为4GB(4294967296bytes)-1byte,即4294967295。建议值为多于内存的一半,所以如果是32为系统,一般可取值为4294967295。32位系统对SGA大小有限制,所以SGA肯定可以包含在单个共享内存段中。

64位linux系统:可取的最大值为物理内存值-1byte,建议值为多于物理内存的一半,一般取值大于SGA_MAX_SIZE即可,可以取物理内存-1byte。例如,如果为12GB物理内存,可取12*1024*1024*1024-1=12884901887,SGA肯定会包含在单个共享内存段中。

 

kernel.shmall: 该参数控制可以使用的共享内存的总页数。Linux共享内存页大小为4KB,共享内存段的大小都是共享内存页大小的整数倍。一个共享内存段的最大大小是16G,那么需要共享内存页数是16GB/4KB=16777216KB /4KB=4194304(页),也就是64Bit系统下16GB物理内存,设置kernel.shmall = 4194304才符合要求(几乎是原来设置2097152的两倍)。这时可以将shmmax参数调整到16G了,同时可以修改SGA_MAX_SIZE和SGA_TARGET为12G(您想设置的SGA最大大小,当然也可以是2G~14G等,还要协调PGA参数及OS等其他内存使用,不能设置太满,比如16G)

 

kernel.shmmni:该参数是共享内存段的最大数量。shmmni缺省值4096,一般肯定是够用了。

 

fs.file-max:该参数决定了系统中所允许的文件句柄最大数目,文件句柄设置代表linux系统中可以打开的文件的数量。

 

fs.aio-max-nr:此参数限制并发未完成的请求,应该设置避免I/O子系统故障。推荐值是:1048576 其实它等于 1024*1024 也就是 1024K 个。

 

kernel.sem:以kernel.sem = 250 32000 100 128为例:

       250是参数semmsl的值,表示一个信号量集合中能够包含的信号量最大数目。

       32000是参数semmns的值,表示系统内可允许的信号量最大数目。

       100是参数semopm的值,表示单个semopm()调用在一个信号量集合上可以执行的操作数量。

       128是参数semmni的值,表示系统信号量集合总数。

 

net.ipv4.ip_local_port_range:表示应用程序可使用的IPv4端口范围。

net.core.rmem_default:表示套接字接收缓冲区大小的缺省值。

net.core.rmem_max:表示套接字接收缓冲区大小的最大值。

net.core.wmem_default:表示套接字发送缓冲区大小的缺省值。

net.core.wmem_max:表示套接字发送缓冲区大小的最大值。

Oracle服务器上Swap的配置
在Oracle服务器上,设置合适的swap大小可以提升Oracle的性能,对于Oracle 11g来说,Oracle服务器上物理内存和要设置的swap大小关系如下:
如果物理内存小于等于2GB,那么swap应该是物理内存的1.5倍;
如果物理内存在2GB到16GB之间,那么swap大小最好等于物理内存;
如果物理内存大于16GB,那么swap设置为16G就足够了。
 
我们可以用操作系统命令free -m来查看物理内存、swap大小,单位是MB

 

之前都是配置系统变量

 

创建安装oracle和放解压包的文件夹

命令:sudo mkdir -p /oracledata/data/oracle      //oracle数据库安装目录
命令:sudo mkdir -p /oracledata/data/oraInventory //oracle数据库配置文件目录
命令:sudo mkdir -p /oracledata/data/database     //oracle数据库软件包解压目录 , 将oracle安装文件放到这里

建完记得给oracle用户赋权,名称随意跟后面配置文件匹配上就行。

下面开始安装数据库。

1.编辑响应文件db_install.rsp

vi /u01/database/response/db_install.rsp 

需要修改的配置有以下内容(参考大神说明 http://blog.csdn.net/jameshadoop/article/details/48086933)

oracle.install.option=INSTALL_DB_SWONLY          #选择安装类型:1.只装数据库软件 2.安装数据库软件并建库 3.升级数据库

ORACLE_HOSTNAME=ora11g                           #指定操作系统主机名,通过hostname命令获得

UNIX_GROUP_NAME=oinstall                         #指定oracle inventory目录的所有者,通常会是oinstall或者dba

INVENTORY_LOCATION=/oracleSoft/data/oraInventory         #指定产品清单oracle inventory目录的路径

SELECTED_LANGUAGES=en,zh_CN,zh_TW                #指定数据库语言,可以选择多个,用逗号隔开

ORACLE_HOME=/oracleSoft/data/oracleInstall /product/11.2.0/db_1  #设置ORALCE_HOME的路径

ORACLE_BASE=/oracleSoft/data/oracleInstall                      # 设置ORALCE_BASE的路径,即oracle安装目录根路径

oracle.install.db.InstallEdition=EE              #选择Oracle安装数据库软件的版本

oracle.install.db.isCustomInstall=false

oracle.install.db.DBA_GROUP=dba                  #指定拥有OSDBA、OSOPER权限的用户组,通常会是dba组

oracle.install.db.OPER_GROUP=oinstall

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE      #选择数据库的用途,一般用途/事物处理,数据仓库

oracle.install.db.config.starterdb.globalDBName=ora11g       #指定GlobalName

oracle.install.db.config.starterdb.SID=ora11g                #指定SID

oracle.install.db.config.starterdb.characterSet=ZHS16GBK     #选择字符集。不正确的字符集会给数据显示和存储带来麻烦无数。
                                                             #通常中文选择的有ZHS16GBK简体中文库,根据公司规定自行选择
oracle.install.db.config.starterdb.password.ALL=123456       #设定所有数据库用户使用同一个密码,其它数据库用户就不用单独设置了。 这里可以不配置 使用默认的就行

DECLINE_SECURITY_UPDATES=true                   # False表示不需要设置安全更新,注意,在11.2的静默安装中疑似有一个BUG
                                                # Response File中必须指定为true,否则会提示错误,不管是否正确填写了邮件地址

2.切换到oracle用户进入到/u01/database目录下执行安装命令--

cd /oracle/data/database/
./runInstaller -silent -ignorePrereq -responseFile /oracle/data/database/response/db_install.rsp 

出现如下就证明成功,使用root用户执行对应的脚本即可。

检查临时空间: 必须大于 120 MB。   实际为 37565 MB    通过
检查交换空间: 必须大于 150 MB。   实际为 3956 MB    通过
准备从以下地址启动 Oracle Universal Installer /tmp/OraInstall2019-03-19_04-37-59PM. 请稍候...[oracle@asdccentos7 database]$ 可以在以下位置找到本次安装会话的日志:
 /home/oracleSoft/data/oraInventory/logs/installActions2019-03-19_04-37-59PM.log
Oracle Database 11g 的 安装 已成功。
请查看 '/home/oracleSoft/data/oraInventory/logs/silentInstall2019-03-19_04-37-59PM.log' 以获取详细资料。

以 root 用户的身份执行以下脚本:
	1. /home/oracleSoft/data/oraInventory/orainstRoot.sh
	2. /home/oracleSoft/data/oracleInstall/product/11.2.0.4/dbhome_1/root.sh


Successfully Setup Software.

ctrl+c oracle安装完成。

3.静默安装监听,( $ORACLE_HOME/bin/netca /silent /responsefile  u01/database/response/netca.rsp)

[oracle@ddddd database]$ /home/oracleSoft/data/oracleInstall/product/11.2.0.4/dbhome_1/bin/netca /silent /responseFile /home/oracleSoft/data/database/database/response/netca.rsp 

4.静默建库

编辑dbca.rsp

vim /home/oracleSoft/data/database/response/dbca.rsp 


#以下内容必须设置

GDBNAME = "ora11g"  全局数据库名

SID = "ora11g"      实例名称

TEMPLATENAME = "General_Purpose.dbc"  默认如果是这个值 则不需要修改

#以下内容根据需要修改

CHARACTERSET = "ZHS16GBK"   如果注释了放开注释 ,填写需要的数据库字符集。一般中文推荐这个

 End of CREATEDATABASE section出现这个说明就可以保存退出了
执行
[oracle@cccccc response]$ /home/oracleSoft/data/oracleInstall/product/11.2.0.4/dbhome_1/bin/dbca -silent -responseFile /home/oracleSoft/data/database/database/response/dbca.rsp 

然后会提示输入system密码。我的电脑执行后会清空屏幕,直接输入想要的密码 回车,确认密码 一直回车就行。

注意环境变量的值必须和配置文件里一致。

最后提示100%时就成功了。

centos 开放端口

firewall-cmd --zone=public --add-port=1521/tcp --permanent
重新启动防火墙
firewall-cmd --reload

即可远程连接。

转载于:https://my.oschina.net/u/3065626/blog/3024693

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值