博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
oracle11g linux命令行(静默)安装
阅读量:6001 次
发布时间:2019-06-20

本文共 9915 字,大约阅读时间需要 33 分钟。

hot3.png

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或者dbaINVENTORY_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=falseoracle.install.db.DBA_GROUP=dba                  #指定拥有OSDBA、OSOPER权限的用户组,通常会是dba组oracle.install.db.OPER_GROUP=oinstalloracle.install.db.config.starterdb.type=GENERAL_PURPOSE      #选择数据库的用途,一般用途/事物处理,数据仓库oracle.install.db.config.starterdb.globalDBName=ora11g       #指定GlobalNameoracle.install.db.config.starterdb.SID=ora11g                #指定SIDoracle.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.logOracle 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.shSuccessfully 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

你可能感兴趣的文章
【技术贴】webservice cxf2 客户端动态调用报错No operation was found with the name
查看>>
使用 IntraWeb (44) - 测试读取 SqLite (三)
查看>>
char* 和char[]的差别
查看>>
Eclipse下快速打开本地文件插件EasyExplorer(转)
查看>>
微软职位内部推荐-Enterprise Architect - BDE - BJ
查看>>
HDU 3791 二叉搜索树 题解
查看>>
收集与测试相关的所有工具
查看>>
在asp.net mvc中使用PartialView返回部分HTML段
查看>>
程序员生存定律--表达背后的力量(2)
查看>>
在表单里面检查用户名是否存javascript
查看>>
常用 Java 静态代码分析工具的分析与比较
查看>>
Ajax与select标签的组合运用
查看>>
quick-cocos2d-x android返回键监听并实现原生退出对话框
查看>>
iOS CoreMotion框架(传感器)
查看>>
stoi的例子
查看>>
C#常用工具类——Excel操作类
查看>>
LNMP安装了哪些软件?安装目录在哪?
查看>>
【BZOJ】1015: [JSOI2008]星球大战starwar(并查集)
查看>>
CSS margin属性与用法教程
查看>>
【BZOJ】1666: [Usaco2006 Oct]Another Cow Number Game 奶牛的数字游戏(刷水严重)
查看>>