Linux安装Oracle11g(无图形界面下的静默安装)

环境准备

  1. 创建组和用户
[root@localhost ~]# groupadd oinstall #创建oinstall组
[root@localhost ~]# groupadd dba  #创建dba组
[root@localhost ~]# useradd -g oinstall -G dba -m oracle  #创建oracle用户并将用户加入到dba组与oinstall组
[root@localhost ~]# passwd oracle #设置oracle用户密码,非必要
  1. 创建oracle安装目录
[root@localhost ~]# mkdir -p /data/oracle #oracle根目录
[root@localhost ~]# mkdir -p /data/database #用于存放Oracle解压后的安装包
[root@localhost ~]# mkdir -p /data/oraInventory #数据库配置文件目录
  1. 关闭防火墙
systemctl stop firewalld.service   #暂时关闭防火墙
  1. 优化系统内核参数
    编辑/etc/sysctl.conf文件,在文件尾添加如下内容:
net.ipv4.icmp_echo_ignore_broadcasts = 1
net.ipv4.conf.all.rp_filter = 1
fs.file-max = 6815744 #设置最大打开文件数
fs.aio-max-nr = 1048576
kernel.shmall = 2097152 #共享内存的总量,8G内存设置:2097152*4k/1024/1024
kernel.shmmax = 2147483648 #最大共享内存的段大小
kernel.shmmni = 4096 #整个系统共享内存端的最大数
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500 #可使用的IPv4端口范围
net.core.rmem_default = 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576

执行sysctl -p使修改生效

  1. 对oracle用户设置限制

    编辑 /etc/security/limits.conf文件,在文件尾添加如下内容:

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
 
End of file
  1. 设置用户变量
    编辑/home/oracle/.bash_profile文件,在文件尾添加如下内容:
export ORACLE_BASE=/data/oracle #oracle数据库安装目录
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1 #oracle数据库路径
export ORACLE_SID=orcl #oracle启动数据库实例名,最多 8个字符 ; 操作系统和 oracle实例关联的纽带 
export ORACLE_UNQNAME=orcl
export PATH=$ORACLE_HOME/bin:/usr/sbin:$PATH #添加系统环境变量
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib #添加系统环境变量
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK #设置Oracle客户端字符集,必须与Oracle安装时设置的字符集保持一致

执行source /home/oracle/.bash_profile使配置的环境变量生效:

  1. 安装依赖包
    离线安装
    https://download.csdn.net/download/qq_42931693/89108026
    解压后放在/home下,进入文件夹内,执行安装命令:
rpm  -ivh  *.rpm --nodeps --force

在线安装:直接执行下列命令,自动安装

[root@localhost ~]# yum -y install binutils* compat-libcap1* compat-libstdc++* gcc* gcc-c++* glibc* glibc-devel* ksh* libaio* libaio-devel* libgcc* libstdc++* libstdc++-devel* libXi* libXtst* make* sysstat* elfutils* unixODBC*

安装数据库

  1. 把两个安装包解压,准备安装
[root@localhost src]# unzip linux.x64_11gR2_database_1of2.zip -d /data/database/ #解压第一个压缩包
[root@localhost src]# unzip linux.x64_11gR2_database_2of2.zip -d /data/database/ #解压第二个压缩包
[root@localhost src]# chown -R oracle:oinstall  /data #修改目录所有者为oracle
  1. 修改安装响应文件
[root@localhost database]# cd /data/database/database
[root@localhost response]# ls
dbca.rsp  db_install.rsp  netca.rsp
[root@localhost response]# vi response/db_install.rsp 

修改以下选项(:set nu查看行号):

 29 oracle.install.option=INSTALL_DB_SWONLY  #安装选项
 37 ORACLE_HOSTNAME=centos7    #命令hostname查看
 42 UNIX_GROUP_NAME=oinstall    #主组
47 INVENTORY_LOCATION=/data/oraInventory
78 SELECTED_LANGUAGES=en,zh_CN 
83 ORACLE_HOME=/data/oracle/product/11.2.0/db_1
88 ORACLE_BASE=/data/oracle
99 oracle.install.db.InstallEdition=EE    #版本
108 oracle.install.db.isCustomInstall=true
142 oracle.install.db.DBA_GROUP=dba   #admin管理组名
147 oracle.install.db.OPER_GROUP=dba   #oper操作员组名
160 oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
170 oracle.install.db.config.starterdb.SID=orcl
200 oracle.install.db.config.starterdb.memoryLimit=800      #根据自己设定的物理内存设置,一般为物理内存的40%-60%
233 oracle.install.db.config.starterdb.password.ALL=123456   #设置所有用户密码,方便后面更改。
385 DECLINE_SECURITY_UPDATES=true

  1. 切换用户 ,开始静默安装
[root@localhost database]# su oracle
[root@localhost database]# source /home/oracle/.bash_profile
[oracle@localhost database]$ ./runInstaller -silent -ignorePrereq -responseFile /data/database/database/response/db_install.rsp

另起一个终端查看安装实时日志成功安装

可能报错01:

Exception in thread “main” java.lang.NoClassDefFoundError
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:164)
at java.awt.Toolkit$2.run(Toolkit.java:821)
at java.security.AccessController.doPrivileged(Native Method)
at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:804)
at javax.swing.UIManager.initialize(UIManager.java:1262)
at javax.swing.UIManager.maybeInitialize(UIManager.java:1245)
at javax.swing.UIManager.getUI(UIManager.java:851)
at javax.swing.JPanel.updateUI(JPanel.java:104)
at javax.swing.JPanel.(JPanel.java:64)
at javax.swing.JPanel.(JPanel.java:87)
at javax.swing.JPanel.(JPanel.java:95)
at oracle.sysman.oii.oiif.oiifo.OiifoOCMUI.(OiifoOCMUI.java:125)
at oracle.sysman.oii.oiif.oiifo.OiifoOCMInterfaceManager.(OiifoOCMInterfaceManager.java:79)
at oracle.sysman.oii.oiif.oiifo.OiifoOCMInterfaceManager.getInstance(OiifoOCMInterfaceManager.java:124)
at oracle.install.ivw.db.driver.DBInstaller.run(DBInstaller.java:123)
at oracle.install.commons.util.Application.startup(Application.java:869)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:164)
at oracle.install.commons.flow.FlowApplication.startup(FlowApplication.java:181)
at oracle.install.commons.base.driver.common.Installer.startup(Installer.java:265)
at oracle.install.ivw.db.driver.DBInstaller.startup(DBInstaller.java:114)
at oracle.install.ivw.db.driver.DBInstaller.main(DBInstaller.java:132)

解决方法:默认要调用图形界面,执行unset DISPLAY再安装。
可能报错02:
观察日志:

INFO: Exit Status is -2
INFO: Shutdown Oracle Database 11g Release 2 Installer
INFO: Unloading Setup Driver

Oracle中退出代码含义:
代码 描述
0 成功安装,正常退出
1 关键组件成功安装,但是部分可选组件安装失败
2 本地安装成功,但是部分远程工具安装失败
3 关键组件成功安装,但是某些推荐的配置工具失败
4 安装停止
6 在忽视一些先决条件检查或警告后,安装成功
-1 至少有一个安装失败
-2 安装失败.一个或多个变量验证失败.
-3 尝试的安装遇到了失败的先决条件.一些可选的先决条件没有满足.详见日志.如果先决条件是可选的,你可以忽略此返回代码

  1. 按要求运行Root脚本
 #要运行的 Root 脚本

/data/oraInventory/orainstRoot.sh
/data/oracle/product/11.2.0/db_1/root.sh
要执行配置脚本, 请执行以下操作:
	 1. 打开一个终端窗口
	 2. 以 "root" 身份登录
	 3. 运行脚本
	 4. 返回此窗口并按 "Enter" 键继续

Oracle 11g r2就安装成功了!

配置监听器

在Oracle用户下执行:

[oracle@centos database]$ netca /silent /responseFile /data/database/database/response/netca.rsp 

在这里插入图片描述检查监听状态

[oracle@centos7 ~]$ netstat -tnulp | grep 1521

在这里插入图片描述

创建数据库

[oracle@centos database]$ dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbName orcl -sysPassword oracle -systemPassword oracle -responseFile /data/database/database/response/dbca.rsp

有点慢查看监听状态

[oracle@centos database]$ lsnrctl status

在这里插入图片描述

测试

[oracle@centos database]$ sqlplus / as sysdba

在这里插入图片描述

SQL> create user root identified by "123456";  -- 创建用户:

User created.

SQL> grant connect,resource,dba,sysdba to root; -- 赋权:

Grant succeeded.

SQL> exit --退出

打开防火墙

systemctl start firewalld  

#开放1521端口:
firewall-cmd --zone=public --add-port=1521/tcp --permanent

#查询端口号1521是否开启:
firewall-cmd --query-port=1521/tcp

#重启防火墙:
firewall-cmd --reload 

问题

  1. 重启后会找不到oracle的命令
    执行source /home/oracle/.bash_profile使配置的环境变量生效:

相关推荐

  1. oracle19静默安装

    2024-04-10 13:20:03       15 阅读
  2. windowsOracle 11g安装和配置教程详细步骤

    2024-04-10 13:20:03       31 阅读
  3. Oracle Linux 8 安装图形界面和tigervnc-server

    2024-04-10 13:20:03       50 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-04-10 13:20:03       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-04-10 13:20:03       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-04-10 13:20:03       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-04-10 13:20:03       20 阅读

热门阅读

  1. Accuracy准确率,Precision精确率,Recall召回率,F1 score

    2024-04-10 13:20:03       13 阅读
  2. 属于我们Go语言的toString!

    2024-04-10 13:20:03       12 阅读
  3. golang 中 sync包

    2024-04-10 13:20:03       13 阅读
  4. LVS部署安装

    2024-04-10 13:20:03       12 阅读
  5. 谈谈Python中的内存管理和垃圾回收机制

    2024-04-10 13:20:03       11 阅读
  6. Flutter中工厂方法的多种实现方法与使用场景分析

    2024-04-10 13:20:03       18 阅读
  7. node.js常用命令

    2024-04-10 13:20:03       11 阅读
  8. 【C++】map与set的封装实现

    2024-04-10 13:20:03       10 阅读
  9. 简单使用Linux printf 将十进制转换为十六进制

    2024-04-10 13:20:03       13 阅读
  10. python复习 之 列表

    2024-04-10 13:20:03       14 阅读
  11. react17中使用setState导致了死循环

    2024-04-10 13:20:03       18 阅读