Oracle11g安装文档-Linux静默安装
- 环境准备
- 安装数据库
- 配置监听器
- 创建数据库
- 测试
- 打开防火墙
环境准备
- 创建组和用户
[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用户密码,非必要
- 创建oracle安装目录
[root@localhost ~]# mkdir -p /data/oracle #oracle根目录
[root@localhost ~]# mkdir -p /data/database #用于存放Oracle解压后的安装包
[root@localhost ~]# mkdir -p /data/oraInventory #数据库配置文件目录
- 关闭防火墙
systemctl stop firewalld.service #暂时关闭防火墙
- 优化系统内核参数
编辑/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
使修改生效
-
对oracle用户设置限制
编辑
/etc/security/limits.conf
文件,在文件尾添加如下内容:
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
End of file
- 设置用户变量
编辑/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
使配置的环境变量生效:
- 安装依赖包
离线安装:
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*
安装数据库
- 把两个安装包解压,准备安装
[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
- 修改安装响应文件
[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
- 切换用户 ,开始静默安装
[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 DriverOracle中退出代码含义:
代码 描述
0 成功安装,正常退出
1 关键组件成功安装,但是部分可选组件安装失败
2 本地安装成功,但是部分远程工具安装失败
3 关键组件成功安装,但是某些推荐的配置工具失败
4 安装停止
6 在忽视一些先决条件检查或警告后,安装成功
-1 至少有一个安装失败
-2 安装失败.一个或多个变量验证失败.
-3 尝试的安装遇到了失败的先决条件.一些可选的先决条件没有满足.详见日志.如果先决条件是可选的,你可以忽略此返回代码
- 按要求运行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
问题
- 重启后会找不到oracle的命令
执行source /home/oracle/.bash_profile使配置的环境变量生效: