oracle下载地址:https://www.oracle.com/database/technologies/112010-linx8664soft.html

系统是最小化安装的Centos7.2

Centos7下安装ORACLE 11g,弹窗不显示或者显示太小

./runInstaller -jreLoc /etc/alternatives/jre_1.8.0

一、系统环境配置

、修改主机名
hostnamectl set-hostname oracledb
exec bash 、添加hosts解析
echo "11.11.11.2 oracledb" >> /etc/hosts、关闭seLinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 、关闭防火墙
systemctl stop firewalld
systemctl disable firewalld

firewall-cmd --zone=public --add-port=/tcp --permanent
firewall-cmd --reload 、配置阿里云的yun源(不是必须的,可以不做)
cd /etc/yum.repos.d/
wget http://mirrors.aliyun.com/repo/Centos-7.repo
mv CentOS-Base.repo CentOS-Base.repo_ori
mv Centos-.repo CentOS-Base.repo
yum clean all
yum makecache
yum update 、安装依赖包
yum -y install gcc gcc-c++ make binutils compat-libstdc++- elfutils-libelf elfutils-libelf-devel elfutils-libelf-devel-static glibc glibc-common glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel numactl-devel sysstat unixODBC unixODBC-devel kernelheaders pdksh pcre-devel readline rlwrap compat-libcap1 libXi libXtst 、检测是否有安装
rpm -q binutils compat-libcap1 compat-libstdc++- gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel 、新建oracle用户
groupadd oinstall
groupadd dba
useradd -g oinstall -G dba oracle
echo "oracle" | passwd --stdin oracle
id oracle 、修改内核参数
cat >> /etc/sysctl.conf <<EOF
fs.file-max =
kernel.shmall =
kernel.shmmax = 1073741824 #最低:536870912,最大值:比物理内存小1个字节的值,建议超过物理内存的一半
kernel.shmmni =
kernel.sem =
net.ipv4.ip_local_port_range =
net.core.rmem_default =
net.core.rmem_max =
net.core.wmem_default =
net.core.wmem_max =
EOF

#参数的值不能小于上面的配置,这是oracle官方建议的最小值,生产环境建议调整这些参数,以优化系统性能。
sysctl -p 、修改用户的限制文件
cat >>/etc/security/limits.conf <<EOF
oracle soft nproc
oracle hard nproc
oracle soft nofile
oracle hard nofile
oracle soft stack
EOF

9.修改/etc/pam.d/login文件
  ```bash
cat >>/etc/pam.d/login <<EOF
session required /lib64/security/pam_limits.so
session required pam_limits.so
EOF

、修改/etc/profile文件
cat >>/etc/profile <<EOF
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p
ulimit -n
else
ulimit -u -n
fi
fi
EOF 、设置Oracle用户环境变量
su - oracle vim /home/oracle/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2./db_1
export ORACLE_SID=orcl #如果要新建的数据库是itpuxdb,就应该写成itpuxdb
export ORACLE_UNQNAME=$ORACLE_SID
export PATH=$ORACLE_HOME/bin:$PATH
export LANG="en_US"
export NLS_LANG="AMERICAN_AMERICA.ZHS16GBK" # 如果要求是UTP8的话,american_america.AL32UTF8
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS" 或者
echo 'export ORACLE_BASE=/u01/app/oracle' >> /home/oracle/.bash_profile
echo 'export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1' >> /home/oracle/.bash_profile
echo 'export ORACLE_SID=orcl' >> /home/oracle/.bash_profile
echo 'export ORACLE_UNQNAME=$ORACLE_SID' >> /home/oracle/.bash_profile
echo 'export PATH=$ORACLE_HOME/bin:$PATH' >> /home/oracle/.bash_profile
echo 'export LANG="en_US"' >> /home/oracle/.bash_profile
echo 'NLS_LANG=AMERICAN_AMERICA.ZHS16GBK;export NLS_LANG' >> /home/oracle/.bash_profile # 如果要求是UTP8的话,american_america.AL32UTF8
echo 'export LANG=C' >> /home/oracle/.bash_profile
echo 'export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"' >> /home/oracle/.bash_profile source ~/.bash_profile 、查看配置是否生效
[oracle@oracledb ~]$ env |grep ORACLE
ORACLE_SID=orcl
ORACLE_BASE=/u01/app/oracle
ORACLE_PID=ora11g
ORACLE_HOME=/product/11.2./db_1 、创建安装目录、修改文件权限
以下关于软件的目录不用改,关于数据的目录可改可不改
su - root
mkdir -p /u01/app/oracle/product/11.2./db_1 #软件安装目录
mkdir -p /u01/app/oracle/oradata #数据文件存放目录
mkdir -p /u01/app/oracle/inventory #软件事件存放目录
mkdir -p /u01/app/oracle/fast_recovery_area #数据快速恢复区
chown -R oracle:oinstall /u01/app/oracle
chmod -R /u01/app/oracle 、上传解压oracle安装包
yum -y install lrzsz unzip
cd /tmp
rz -E #将oracle的两个安装包上传到服务器上,目录无所谓
unzip /tmp/p13390677_112040_Linux-x86-64_1of7.zip
unzip /tmp/p13390677_112040_Linux-x86-64_2of7.zip

二、静默安装Oracle数据库

.修改静默安装响应文件
su - root
cp /tmp/database/response/db_install.rsp /tmp/database/response/db_install.rsp.bak vim /tmp/database/response/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY # 安装类型
ORACLE_HOSTNAME=oracledb # 主机名称(hostname查询)
UNIX_GROUP_NAME=oinstall # 安装组
INVENTORY_LOCATION=/u01/app/oracle/oraInventory #INVENTORY目录(不填就是默认值)
SELECTED_LANGUAGES=en,zh_CN # 选择语言
ORACLE_HOME=/u01/app/oracle/product/11.2./db_1 # oracle_home
ORACLE_BASE=/u01/app/oracle # oracle_base
oracle.install.db.InstallEdition=EE     # oracle版本
oracle.install.db.isCustomInstall=false    # 自定义安装,否,使用默认组件
oracle.install.db.DBA_GROUP=dba # dba用户组
oracle.install.db.OPER_GROUP=oinstall # oper用户组
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE # 数据库类型
oracle.install.db.config.starterdb.globalDBName=orcl # globalDBName
oracle.install.db.config.starterdb.SID=orcl # SID
oracle.install.db.config.starterdb.memoryLimit= # 自动管理内存的内存(M),可默认
oracle.install.db.config.starterdb.password.ALL=oracle # 设定所有数据库用户使用同一个密码
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false #(手动写了false)
DECLINE_SECURITY_UPDATES=true # 设置安全更新 .执行静默安装
su - oracle
cd /tmp/database

可能出现的报错:swap分区大小不够
解决方法:
dd if=/dev/zero of=/swapfile bs=1024 count=524288
使用mkswap命令来设置交换文件:
mkswap /swapfile
启用交换分区:
swapon /swapfile
写入/etc/fstab,以便在引导时启用:
/swapfile swap swap defaults 0 0

.配置监听
su - oracle
netca /silent /responseFile /tmp/database/response/netca.rsp

#运行成功之后,会在/u01/app/oracle/product/11.2./db_1/network/admin/中生成listener.ora和sqlnet.ora两个文件。可自行进入这个目录查找这两个文件是否存在。

注释:配置完成后默认就是启动状态,如果没有就启动下
 su - oracle
 lsnrctl start
 netstat -tunlp|grep 1521

三、静默建库

.查看监听端口
su - root
netstat -tnulp | grep 、修改建库脚本
su - root
vim /tmp/database/response/dbca.rsp
GDBNAME = "orcl" #不要写成数字1了
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK" #注意:这里使用的GBK,如果需要使用UTF-,则改成AL32UTF8
TOTALMEMORY = "" #可默认 、静默建库
su - oracle
[oracle@oracledb ~]$ dbca -silent -responseFile /tmp/database/response/dbca.rsp
Copying database files
% complete
% complete
% complete
% complete
% complete
% complete
Creating and starting Oracle instance
% complete
% complete
% complete
% complete
% complete
% complete
% complete
Completing Database Creation
% complete
% complete
% complete
% complete
% complete
% complete
Look at the log file "/u01/app/oracle/cfgtoollogs/dbca/orcl/orcl.log" for further details.
[oracle@oracledb ~]$ .建库后检查
ps -ef |grep ora_|grep -v grep #只有在启库的完成后才有进程出现,停库后就没有了进程了 、用超级管理员用户登录,并启动数据库
su - oracle
[oracle@oracledb ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.1. Production on Tue Nov ::
Copyright (c) , , Oracle. All rights reserved.
Connected to an idle instance. SQL> startup
ORACLE instance started. Total System Global Area bytes
Fixed Size bytes
Variable Size bytes
Database Buffers bytes
Redo Buffers bytes
Database mounted.
Database opened.
SQL> select name from v$database; NAME
---------
ORCL
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL>
SQL> exit
Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1. - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options

查看数据库版本

SQL> select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1. - 64bit Production
PL/SQL Release 11.2.0.1. - Production
CORE 11.2.0.1. Production
TNS for Linux: Version 11.2.0.1. - Production
NLSRTL Version 11.2.0.1. - Production

四、基本安全设置

.为超级管理员设置登录密码,并设置密码永不过期
su - oracle
sqlplus / as sysdba
alter user sys identified by "NVvXRPrHFwLyJMrv";
alter user system identified by "NVvXRPrHFwLyJMrv"; 、禁止操作系统验证登陆数据库
)、使用正确的用户名和密码登陆数据库
[oracle@oracledb ~]$ sqlplus sys/oracle as sysdba
注释:斜杠“/”左面是用户名,右面是密码,此时,无论是否使用账号、使用错误的账号和密码都是可以正常登陆的。 系统认证方式登录数据库禁用的方法很简单,仅需在sqlnet.ora配置文件中添加一条“SQLNET.AUTHENTICATION_SERVICES=(NONE)”即可。
[oracle@oracledb ~]$ vim /u01/app/oracle/product/11.2./db_1/network/admin/sqlnet.ora
SQLNET.AUTHENTICATION_SERVICES=(NONE) [oracle@oracledb ~]$ sqlplus sys/NVvXRPrHFwLyJMrv as sysdba SQL*Plus: Release 11.2.0.1. Production on Tue Nov ::
Copyright (c) , , Oracle. All rights reserved. Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.1. - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options SQL>
、 进一步提高系统的安全性
因为sqlnet.ora文件默认条件下oracle用户可以对其进行任意修改,通过调整sqlnet.ora文件权限提高系统的安全性。 )调整sqlnet.ora文件的owner和权限信息
[root@oracledb ~]# chown root:root /u01/app/oracle/product/11.2./db_1/network/admin/sqlnet.ora
[root@oracledb ~]# chmod /u01/app/oracle/product/11.2./db_1/network/admin/sqlnet.ora
[root@oracledb ~]# ls -l /u01/app/oracle/product/11.2./db_1/network/admin/sqlnet.ora
-rwxr--r-- root root 11月 : /u01/app/oracle/product/11.2./db_1/network/admin/sqlnet.ora
注释:调整之后,oracle用户将再无权限对sqlnet.ora文件进行调整。
、修改密码为永不过期
()查看用户的proifle是哪个,一般是default:sql>SELECT username,PROFILE FROM dba_users;
()查看指定概要文件(如default)的密码有效期设置:sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
()将密码有效期由默认的180天修改成“无限制”:ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;(注:修改之后不需要重启动数据库,会立即生效。)

()检验:sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';

修改之后不需要重启动数据库,会立即生效。
4、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;
已经被提示的帐户必须再改一次密码,举例如下:
sql> alter 数据库名 identified by <原来的密码> ----不用换新密码
 
修改密码步骤:
用管理员账号登录进去alter user 数据库名 identified by "要设置的密码";

4. 设置Oracle开机启动

修改 /u01/app/oracle/product/11.2./db_1/bin/dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME 修改/u01/app/oracle/product/11.2./db_1/bin/dbshut
ORACLE_HOME_LISTNER=$ORACLE_HOME 修改vi /etc/oratab
orcl:/data/app/oracle/product/11.2.:Y

注释:在oracle账号下echo $ORACLE_HOME 可以查看到相应变量具体指明路径

4.1、新建文件/etc/rc.d/init.d/oracle

#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig:
# description: The Oracle Database is an Object-Relational Database Management System.
#
# processname: oracle
. /etc/rc.d/init.d/functions
LOCKFILE=/var/lock/subsys/oracle
ORACLE_HOME=/u01/app/oracle/product/11.2./db_1
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $ already running.
exit
fi
echo -n $"Starting Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl start"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbstart $ORACLE_HOME"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl start dbconsole"
touch $LOCKFILE
;;
'stop')
if [ ! -f $LOCKFILE ]; then
echo $ already stopping.
exit
fi
echo -n $"Stopping Oracle Database:"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/lsnrctl stop"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/dbshut"
su - $ORACLE_USER -c "$ORACLE_HOME/bin/emctl stop dbconsole"
rm -f $LOCKFILE
;;
'restart')
$ stop
$ start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $ started.
else
echo $ stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit
esac
exit

4.2、权限设置

给/etc/init.d/oracle添加执行权限
chmod +x /etc/init.d/oracle 开机启动oracle
systemctl enable oracle

chkconfig oracle on 给启动文件加权限
cd /data/app/oracle/product/11.2./bin/
chmod oracle
cd /var/tmp
chown -R oracle:oinstall .oracle

5、开启实例(使用SQL*PLUS)

STARTUP [选项]
选项说明: NOMOUNT—开启实例,不加载数据库.允许访问数据库,仅用于创建数据库或重建控制文件
MOUNT—开启实例,并加载数据库,但不打开数据库。允许DBA进行操作,但是不允许普通的数据库访问
OPEN—开启实例,加载数据库,打开数据库,等同STARTUP
FORCE-在启动或关闭遇到问题时,强制启动实例
OPEN RECOVER—在完成完整的备份后启动实例。
注意:通过共享服务处理器即共享池,连接到数据库无法启动实例

6、Navicat Premium 连接oracle

前提:oracle要启动监听1521端口,实例也要起来,否则连接时报ORA-12514

连接时报错:ORA-:connection to server failed, probable Oracle Net admin error

如果使用Navicat连接Oracle服务器出现ORA-28547错误时,多数是因为Navicat本地的OCI版本与Oracle服务器服务器不符造成的。所以我们要做的就是下载OCI使之与我们所安装的Oracle服务器相符合。

OCI下载地址:http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
链接:https://pan.baidu.com/s/1UtLSnScK1dS8SjS_SDwvqA 提取码:djfj  
下载下来后解压到D盘的某个目录下

FAQ:

1、TNS-01106: Listener using listener name LISTENER has already been started

[oracle@oracledb ~]$ lsnrctl start
LSNRCTL for Linux: Version 12.1.0.2. - Production on -FEB- ::
Copyright (c) , , Oracle. All rights reserved. TNS-: Listener using listener name LISTENER has already been started
-- 通过ps 命令没有发现 监听的进程 [root@sh ~]# ps -ef | grep -i tns
root Jan26 ? :: [netns]
root : pts/ :: grep -i tns -- 这个问题基本2个原因导致, :
, /etc/hosts 文件中的 ip和主机名不一致
, listener.ora 中监听主机非当前主机. 排查步骤:
su - oracle
hostname #确定当前系统名称
vim /u01/app/oracle/product/11.2./db_1/network/admin/listener.ora
vim /u01/app/oracle/product/11.2./db_1/network/admin/tnsnames.ora
确定这两个文件下的hosts=的是当前主机名
(ADDRESS = (PROTOCOL = TCP)(HOST = oracledb)(PORT = )) #确定HOST=的是主机名称 然后重启系统 [oracle@oracledb ~]$ lsnrctl start #启系统
netstat -tnulp | grep #查看监控是否正常

oracle-3-Linux-11g安装-静默安装的更多相关文章

  1. oracle 11.2.0.4静默安装

    oracle 11.2.0.4静默安装 1.安装包 1.1.上传安装包 xshell可用rz命令,选择安装包. mobaxterm可用左侧栏上传功能. 2.安装准备 2.1.关闭防火墙.SELinux ...

  2. [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (3/4)

    安装p10404530_112030_Linux-x86-64_6of7.zip解压下的example. 修改软件路径,为dbhome_1. 安装好数据,则可以进行快照操作! 删除安装文件. 输入db ...

  3. [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (1/4)

    在上一回中,我们安装了OEL了,现在就要安装Oracle数据. 首先登录root用户,输入账号密码或,输入命令行:startx,启动图形界面. 先将虚拟机中插入光碟(Enterprise-R5-U7- ...

  4. [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (2/4)

    在最后一行,书写shmfs /dev/shm tmpfs size=2g 0 用来调高数据库运行是的内存分配问题. 创建需要的路径和分配权限. 设置 oracle 用户环境参数. 修改标头显示的部分. ...

  5. [书接上一回]在Oracle Enterprise Linux (v5.7) 中安装DB - (4/4)

    选择自己创建的安装数据库路径. Sample Schemas 打钩. 调整内存大小. 选择官方建议的字符集编码. 是否创建创建的脚本,如需要请打钩. 脚本生成成功. 创建成功,如需要,则可以管理数据库 ...

  6. WebLogic 12c Linux 命令行 静默安装

    CentOS 6.3安装配置Weblogic 10  http://www.linuxidc.com/Linux/2014-02/96918.htm Oracle WebLogic 11g 安装部署文 ...

  7. Linux CentOS7.5静默安装Oracle11gR2

    网上有很多安装教程,但大多不够完整,参照了一些教程,实测安装成功,整理出来分享给大家! 一.官方最低要求配置 内存:1G(官方最低要求1G) 硬盘:40G(企业版安装所需4.29G和1.7G数据文件) ...

  8. innosetup 安装静默安装msi,指定安装路径的方法

    自己看了很久帮助,分号的用法确实不太好用,湿了这个东东估计很多人会用到,发出来给大家参考. Filename: "{app}/msiexec.exe";Parameters: &q ...

  9. linux 下oracle 11g静默安装(完整版)

    1.操作系统及Oracle版本Linux版本:CentOS release 6.5Oracle版本:Oracle Database 11g Release 2 (11.2.0.1.0) for Lin ...

随机推荐

  1. 静态导入(static import)

    1.传统静态方法的调用方式 定义一个Common类,里面有静态方法和静态常量 package com.example.common; public class Common { public stat ...

  2. C#利用反射获取实体类的主键名称或者获取实体类的值

    //获取主键的 PropertyInfo PropertyInfo pkProp = ).FirstOrDefault(); //主键名称 var keyName=pkProp.Name; //实体类 ...

  3. npm WARN deprecated fsevents windows

    更新下 使用yarn貌似会帮助跳过这个问题: info fsevents@2.1.2: The platform "win32" is incompatible with this ...

  4. Vuex 的使用 State Mutation Getter Action

    import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex); /*1.state在vuex中用于存储数据*/ var state={ cou ...

  5. Z-Score数据标准化(转载)

    简介Z-Score标准化是数据处理的一种常用方法.通过它能够将不同量级的数据转化为统一量度的Z-Score分值进行比较. 一句话解释版本: Z-Score通过(x-μ)/σ将两组或多组数据转化为无单位 ...

  6. 八、postman的cookie支持

    postman中可以直接添加cookie,查看响应中的cookie https://postman-echo.com/cookies/set?foo1=bar1&foo2=bar2 var r ...

  7. Spring cloud微服务安全实战-4-11Zuul网关安全开发(四)

    限流,有个现成的开源项目可以帮助我们来做网关上的限流 用最新的这个版本 在pom.xml加入引用. 在限流的过程中需要存一些信息,可以存在数据库里 也可以存在redis里.这里我们演示存到数据库里 比 ...

  8. Qt widget中使用QML自定义电池

    1.效果 2.QML 在资源里新建Mybattery.qml: import QtQuick 2.0 import QtQuick 2.12 Item { id: root property colo ...

  9. 报错:ModuleNotFoundError: No module named '_ctypes'

    报错背景: CentOS 7 Python3.7 安装 setuptools 插件的时候报错. 报错现象: [root@master setuptools-]# python3. setup.py b ...

  10. IDEA 多模块工程相互依赖

    最近为了结构项目,抽离通用模块,同时使用一个工程管理所有模块,使用了多模块工程.不过在依赖其他模块的编译上出现了问题,总是报找不到被依赖的jar包. 最后的解决办法也很简单,对于被依赖的模块,要在ma ...