1、 关闭selinux

1.1 sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

1.2 或者手动编辑 vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled

1.3 执行setenforce 0

2、 关闭防火墙firewall

2.1关闭防火墙

systemctl status firewalld.service

systemctl stop firewalld.service

3、安装依赖包

3.1 检查依赖包安装情况

rpm -q binutils compat-libcap1 vsftpd gcc gcc-c++ glibc-devel glibc elfutils-libelf-devel compat-libcap1 libaio-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat unixODBC unixODBC-devel

3.2 使用yum源安装所需依赖包

yum -y install binutils compat-libcap1 vsftpd gcc gcc-c++ glibc-devel glibc elfutils-libelf-devel compat-libcap1 libaio-devel ksh libgcc libstdc++ libstdc++-devel libaio libaio-devel make sysstat unixODBC unixODBC-devel

4、修改主机名(可选)

设置主机名hostnamectl set-hostname xxxxx

xxxxx为主机名

hostnamectl set-hostname hairundb

5、修改内核参数

# vi /etc/sysctl.conf

在最后添加(注意重复参数,不能小于以下数值)

kernel.shmall = 2097152

kernel.shmmax = 1073741824

fs.aio-max-nr = 1048576

fs.file-max = 6815744

kernel.shmmni = 4096

kernel.sem = 250 32000 100 128

net.ipv4.ip_local_port_range = 9000 65500

net.core.rmem_default = 262144

net.core.rmem_max = 4194304

net.core.wmem_default = 262144

net.core.wmem_max = 1048576

保存退出

启用配置

# /sbin/sysctl -p

6、修改用户限制文件

# vi /etc/security/limits.conf

在最后添加

oracle  soft    nproc   2047

oracle  hard    nproc   16384

oracle  soft    nofile  1024

oracle  hard    nofile  65536

oracle  soft    stack   10240

保存退出

7、关联设置

# vi /etc/pam.d/login

在最后添加

session required  /lib64/security/pam_limits.so

session required   pam_limits.so

保存退出

8、设置系统环境变量

# 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

保存退出

使环境变量生效

# source /etc/profile

9、创建oracle系统用户

groupadd oinstall

groupadd dba

useradd -g oinstall -G dba oracle

passwd oracle

检查oracle用户权限

id oracle

10、创建oracle安装目录

mkdir -p /opt/oracle/product/11r2

mkdir /opt/oracle/oradata

mkdir /opt/oracle/inventory

mkdir /opt/oracle/flash_recovery_area

11、将oracle用户加入到sudo组

# vi /etc/sudoers

在root    ALL=(ALL)       ALL这一行下加入

oracle  ALL=(ALL)       ALL

强制保存退出(:wq!)

12、修改oracle用户环境变量

# vi /home/oracle/.bash_profile

在最后添加(ORACLE_SID=XXX按实际情况修改)

export ORACLE_BASE=/opt/oracle;

export ORACLE_HOME=/opt/oracle/product/11r2;

export ORACLE_SID=ora11;

export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin

export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

umask 022

fi

保存退出

使环境变量生效

# source /home/oracle/.bash_profile

查看环境变量

# env

13、修改hosts文件

# vi /etc/hosts

在最后添加

主机ip 主机名hairundb

14、root用户登录,把数据库安装包上传至/opt/oracle目录下

chown -R oracle:oinstall /opt/oracle

chmod -R 775 /opt/oracle

15、安装oracle数据库

切换至oracle用户

su - oracle

解压安装包文件(如果没有unzip命令,可以先登录root用户,使用yum源安装:yum -y install unzip)

cd /opt/oracle

unzip oracle.zip

编辑oracle数据库基准配置文件

vi /opt/oracle/database/response/db_install.rsp

输入(:set number)显示行号

修改

oracle.install.option=INSTALL_DB_SWONLY   //29行 安装类型,只安装数据库软件

ORACLE_HOSTNAME=hairundb //37行 主机名称通过hostname查看

UNIX_GROUP_NAME=oinstall //42 行 安装组

INVENTORY_LOCATION=/opt/oracle/inventory //49 行INVENTORY目录

SELECTED_LANGUAGES=en,zh_CN //86 行 选择语言

ORACLE_HOME=/opt/oracle/product/11r2 //91 行oracle_home

ORACLE_BASE=/opt/oracle //96 行oracle_base

oracle.install.db.InstallEdition=EE //107 行oracle版本

oracle.install.db.DBA_GROUP=dba //154行dba用户组

oracle.install.db.OPER_GROUP=oinstall //160行oper用户组

oracle.install.db.config.starterdb.type=GENERAL_PURPOSE //189行数据库类型,一般用途

oracle.install.db.config.starterdb.globalDBName=ora11 //194行globalDBName

oracle.install.db.config.starterdb.SID=ora11 //199行SID

oracle.install.db.config.starterdb.memoryLimit=800  //229行自动管理内存的最小内存(M)

oracle.install.db.config.starterdb.password.ALL=oracle //262行所有数据库用户使用同一个密码

DECLINE_SECURITY_UPDATES=true //400行设置安全更新

编译安装oracle

cd /opt/oracle/database/

chmod -R 750 /opt/oracle/database/

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

安装过程中新开一个root窗口,执行

/opt/oracle/inventory/orainstRoot.sh

/opt/oracle/product/11r2/root.sh

执行完成后返回oracle界面按下回车键完成安装

vi /opt/oracle/database/response/netca.rsp

修改

INSTALL_TYPE=""custom""

netca /silent /responseFile /opt/oracle/database/response/netca.rsp

检查监听文件

ll /opt/oracle/product/11r2/network/admin/

查看监听端口(root用户执行)

netstat -tnulp | grep 1521

vi /opt/oracle/database/response/dbca.rsp

修改

SID = "ora11"  、、170行  SID

SYSPASSWORD = "oracle"  //212行

SYSTEMPASSWORD = "oracle" //221行

SYSMANPASSWORD = "oracle"  //252行

DBSNMPPASSWORD = "oracle"  、、262行

DATAFILEDESTINATION =/opt/oracle/oradata  //360行

RECOVERYAREADESTINATION=/opt/oracle/flash_recovery_area  //370行

CHARACTERSET = "ZHS16GBK"  //418行 字符集

GDBNAME = "ora11"  //713行 全局名

cd /opt/oracle/product/11r2/bin/

dbca -silent -responseFile /opt/oracle/database/response/dbca.rsp

等待建库完成

检查实例进程

ps -ef | grep ora_ | grep -v grep

数据库实例连接测试

查看监听状态

lsnrctl status

使用sqlplus命令测试连接oracle

sqlplus / as sysdba

SQL> conn /as sysdba

登录数据库

sqlplus /nolog

SQL> conn /as sysdba

SQL> startup

16、修改Oracle数据库密码180天限制

SQL> ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

SQL> select * from dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

17、修改Oracle数据库尝试登录失败次数限制(默认10次,更改为无限制)

SQL> ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED;

18、修改Oracle数据库无法导出空表的问题

SQL> alter system set deferred_segment_creation=false;

以root用户登录:命令:exit

vi /etc/oratab

ora11:/data/oracle/product/11r2:N中的 N 改成 Y

vi /opt/oracle/product/11r2/bin/dbstart

注释原有的ORACLE_HOME_LISTNER行,新增一行 export ORACLE_HOME_LISTNER=$ORACLE_HOME

vi /opt/oracle/product/11r2/bin/dbshut

注释原有的ORACLE_HOME_LISTNER行,新增一行 export ORACLE_HOME_LISTNER=$ORACLE_HOME

编写自启动脚本

vi /etc/init.d/oracle

添加

#!/bin/sh

# chkconfig: 345 99 10

##其中chkconfig:345 99 10 是指脚本将为运行级3、4、5启动Oracle 10g服务,启动优先级为99,关闭优先级为10

# description: Oracle auto start-stop script.

# /etc/rc.d/init.d/oracle

# description: starts the oracle database

ORA_HOME=/opt/oracle/product/11r2

ORA_OWNER=oracle

case "$1" in

start)

echo -n "Starting Oracle Databases: "

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Starting Oracle Databases as part of system up." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >> /var/log/oracle

echo "Done."

echo -n "Starting Oracle Listeners: "

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >> /var/log/oracle

echo "Done."

su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole" >> /var/log/oracle

echo "Done."

echo ""

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Finished." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

touch /var/lock/subsys/oracle

;;

stop)

echo -n "Shutting Down Oracle Listeners: "

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Shutting Down Oracle Databases as part of system down." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole" >> /var/log/oracle

echo "Done."

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >> /var/log/oracle

echo "Done."

rm -f /var/lock/subsys/oracle

echo -n "Shutting Down Oracle Databases: "

su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >> /var/log/oracle

echo "Done."

echo ""

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Finished." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

;;

restart)

echo -n "Restarting Oracle Databases: "

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Restarting Oracle Databases as part of system up." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/dbshut" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/dbstart" >> /var/log/oracle

echo "Done."

echo -n "Restarting Oracle Listeners: "

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl stop" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/lsnrctl start" >> /var/log/oracle

echo "Done."

su - $ORA_OWNER -c "$ORA_HOME/bin/emctl stop dbconsole" >> /var/log/oracle

su - $ORA_OWNER -c "$ORA_HOME/bin/emctl start dbconsole" >> /var/log/oracle

echo "Done."

echo ""

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

date +"! %T %a %D : Finished." >> /var/log/oracle

echo "---------------------------------------------------------------------------------" >> /var/log/oracle

touch /var/lock/subsys/oracle

;;

*)

echo "Usage: oracle { start | stop | restart }"

exit 1

esac

exit 0

赋予执行权限

chmod 755 /etc/init.d/oracle

创建软链接

ln -s /etc/init.d/oracle /etc/rc.d/rc3.d/S10oracle

ln -s /etc/init.d/oracle /etc/rc.d/rc4.d/S10oracle

ln -s /etc/init.d/oracle /etc/rc.d/rc5.d/S10oracle

添加自启动服务

chkconfig --add oracle

chkconfig --level 345 oracle on

chkconfig --list|grep oracle

重启数据库

service oracle restart

重启服务器,测试数据库是否启动

sqlplus / as sysdba

SQL> conn /as sysdba

SQL> startup

Centos史上新版最详细步骤-Linux无脑命令式oracle11g静默安装的更多相关文章

  1. 超详细步骤---Linux下的最新Git版本安装

    原文地址:https://blog.csdn.net/u010887744/article/details/53957613 [标注大头] 1.查看当前git版本:git --version 查看最新 ...

  2. CentOS 7上的程序管理:rpm、yum和源码编译安装

    简介 在Linux的早期时代(也许吧?我猜的.也可能是Unix.),想要在系统上安装一款应用程序,是比较复杂的.需要专业的人员自行获取程序的源代码,并且编译安装,这是非常的复杂且需要一定的专业功底的, ...

  3. centos7安装Docker详细步骤(无坑版教程)

    一.安装前必读 在安装 Docker 之前,先说一下配置,我这里是Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可. 注意:本文的命令使用的是 root 用户登录执行,不 ...

  4. linux 无外网情况下安装 mysql

    由于工作需要,需要在一台装有 CentOS 系统的测试服务器上安装 MySQL ,由于该服务器上存有其他比较重要的测试数据,所以不能连接外网.由于之前安装 MySQL 一直都是使用 yum 命令一键搞 ...

  5. ios之AFN上传下载详细步骤(2)

    五.AFN .GET\POST > GET请求 // 1.获得请求管理者 AFHTTPRequestOperationManager *mgr = [AFHTTPRequestOperation ...

  6. CKEditor图片上传实现详细步骤(使用Struts 2)

    本人使用的CKEditor版本是3.6.3.CKEditor配置和部署我就不多说. CKEditor的编辑器工具栏中有一项“图片域”,该工具可以贴上图片地址来在文本编辑器中加入图片,但是没有图片上传. ...

  7. eclipse使用jdbc方式连接sql server 2012数据库史上最新最详细教程(2015年4月已亲测)

    步骤分为3部:1.通过sql server 配置管理器配置1433端口   2.将sqljdbc41.jar类库添加到对应的工程中   3.在java程序中连接数据库 步骤1:打开sql server ...

  8. [转]史上最最最详细的手写Promise教程

    我们工作中免不了运用promise用来解决异步回调问题.平时用的很多库或者插件都运用了promise 例如axios.fetch等等.但是你知道promise是咋写出来的呢? 别怕-这里有本promi ...

  9. linux环境下oracle 11g 静默安装

    安装环境 Linux服务器:oracle linux 6.6 64位 Oracle服务器:Oracle11gR2 64位 系统要求 1.Linux安装Oracle系统要求 系统要求 说明 内存 必须高 ...

随机推荐

  1. [vijos1304]回文数<模拟>

    题目链接:https://vijos.org/p/1304 好久没写博客了,最近一直打不出题,感觉自己是废了,今天做了一道模拟水题,但还是半天没过,后来才发现是忘记考虐10以上的进制是带有字母的,然后 ...

  2. JS去除字符串内的空白字符方法

    有时我们需要对用户的输入进行一些处理,比如用户输入的密码或者用户名我们就需要去除前后空格,下面写一个去除空白字符的方法 function trim(string = '') { return stri ...

  3. Java中的get()方法和set()方法

    在Java中,为了数据的安全,换句话说就是为了隐藏你的代码的一些实现细节,我们会用private来修饰属性,使用private修饰的属性就不能被其他类直接访问了,想要访问就需要通过set.get方法: ...

  4. BigDecimal 笔记

    参数 BigDecimal 类主要有如下几个参数 这几个参数都比较好理解,看过这两个例子基本都能明白,现在总结一下就是 scale // 小数点后位数 precision // 一共位数 intCom ...

  5. 16个实例讲述如何写好App描述

    App描述很重要,很多人都知道,但你有没有亲自比较.研究过别人的app是如何描述的呢?   毫无疑问,app描述页面不仅仅是描述,它更多是一个销售页面,开发者不能面对面向用户营销自己的产品,因此app ...

  6. Jmeter 压力测试笔记(2)--问题定位

    事情已经出了,是该想办法解决的时候了. 经过运维和DBA定位: 数据库读写分离中,读库延时超过了30秒,导致所有请求都压在主库.另外所有数据库都连接数都被占满,但活跃请求数量缺不多. 数据库16K的连 ...

  7. 怎样让scratch里的人物两腿走动

    需要人物角色至少有两个“造型”,表现走路时的两个动作.以默认的“小猫”觉色为例,它有两个“造型”,可以用来表现奔跑的动作. 但是要想让小猫跑起来,需要脚本来实现,简单跑动脚本如下 scratch学习视 ...

  8. 【memcache】Memcached

    一.Memcached 简介 1. 官网:http://www.memcached.org 2. Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. 二.作用: 1. 将数据存入内存 ...

  9. MTK Android ListPreference的用法

    首先,我们明确,preference是和数据存储相关的. 其次,它能帮助我们方便的进行数据存储!为什么这个地方一定要强调下方便的这个词呢?原因是,我们可以根本就不使用,我们有另外的N种办法可以实现同样 ...

  10. javascript 入门 之select2选择本地数据

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"/> <meta lan ...