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

Oracle11g安装文档-Linux静默安装

环境准备

  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用户密码,非必要

  2. 创建oracle安装目录

    [root@localhost ~]# mkdir -p /data/oracle #oracle根目录
    [root@localhost ~]# mkdir -p /data/database #用于存放Oracle解压后的安装包
    [root@localhost ~]# mkdir -p /data/oraInventory #数据库配置文件目录

  3. 关闭防火墙

    systemctl stop firewalld.service #暂时关闭防火墙

  4. 优化系统内核参数
    编辑/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

  2. 设置用户变量
    编辑/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

  2. 修改安装响应文件

    [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使配置的环境变量生效:
相关推荐
bug菌¹35 分钟前
滚雪球学Oracle[4.2讲]:PL/SQL基础语法
数据库·oracle
逸巽散人1 小时前
SQL基础教程
数据库·sql·oracle
韩楚风1 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学1 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO1 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
月空MoonSky1 小时前
Oracle中TRUNC()函数详解
数据库·sql·oracle
Pythonliu72 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我2 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、2 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程2 小时前
Linux中环境变量
linux