Linux oracle数据库静默安装

news2024/9/28 12:22:35

系统:Centos7

一、安装准备

1.1 更换依赖源

yum源进行切换(这里采用的阿里云的yum源)(切换之前建议先备份 /etc/yum.repos.d 中的文件)

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

1.2依赖下载

有网络依赖下载

yum install compat-libstdc++-33 elfutils-libelf-devel gcc* glibc-* ksh libaio libaio-devel libstdc++-devel unixODBC unixODBC-devel sysstat -y

无网络依赖下载(需要现在一台有网络的服务器上运行该命令)

yum install --downloadonly --downloaddir=/tmp/ compat-libstdc++-33 elfutils-libelf-devel gcc* glibc-* ksh libaio libaio-devel libstdc++-devel unixODBC unixODBC-devel sysstat -y

#然后把在/tmp/文件夹下的依赖包上传到服务器中,执行该命令

rpm -Uvh --force --nodeps *.rpm

1.3 创建需要的用户和用户组

groupadd oinstall
groupadd dba
groupadd asmadmin
groupadd asmdba
useradd -g oinstall -G dba,asmdba oracle -d /home/oracle
passwd oracle

1.4.修改linux内核参数

编辑sysctl.conf
vi /etc/sysctl.conf
把下列内容放到sysctl.conf文件中

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 8388608
kernel.shmmax = 34359738368
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

然后执行sysctl -p生效参数,或者重启操作系统

1.5. 关闭selinux、防火墙

关闭selinux

vim /etc/selinux/config
设置SELINUX=disabled

关闭防火墙

systemctl stop firewalld

1.6.修改配置文件

修改limits.conf文件
vi /etc/security/limits.conf
将以下内容加到limits.conf文件中

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

修改/etc/pam.d/login文件

vi /etc/pam.d/login

将以下内容加到login文件中

session  required   /lib64/security/pam_limits.so
session  required   pam_limits.so

修改/etc/profile文件

vim /etc/profile

将以下内容加到profile文件中

if [ $USER = "oracle" ]; then
  if [ $SHELL = "/bin/ksh" ]; then
   ulimit -p 16384
   ulimit -n 65536
  else
   ulimit -u 16384 -n 65536
  fi
fi

使profile文件生效

source /etc/profile

1.7. 创建数据库相关目录并授权、修改/etc/oraInst.loc文件

mkdir -p /u01/app/
chown -R oracle:oinstall /home/oracle  
chmod -R 775 /home/oracle  
chown -R oracle:oinstall /u01/app/ 
chmod -R 775 /u01/app/

添加/etc/oraInst.loc文件

vi /etc/oraInst.loc

将以下内容放到oraInst.loc文件中

inventory_loc=/u01/app/oracle/oraInventory
inst_group=oinstall

授权

chown oracle:oinstall /etc/oraInst.loc
chmod 664 /etc/oraInst.loc

1.8.切换的oracle用户,并设置用户环境变量

切换oracle用户

su - oracle

设置环境变量

vi ~/.bash_profile

将以下内容放到.bash_profile文件中

export ORACLE_BASE=/u01/app/oracle
export ORACLE_SID=orcl

重新加载环境变量,使其生效

source ~/.bash_profile

1.9.上传已经下载好的数据库安装包到linux任意目录并解压,我这里解压到的是/home/oracle/目录

提供linux的oracle11g安装包

链接:https://pan.baidu.com/s/183ItZoi77JGUWnQyOQImOg?pwd=uikp
提取码:uikp

解压zip包(unzip安装命令‘yum install unzip’)

unzip linux.x64_11gR2_database_1of2.zip
unzip linux.x64_11gR2_database_2of2.zip

1.10.切换到root用户并授权相关文件

su - root
cd /home/oracle/ 
mkdir etc
cp /home/oracle/database/response/* /home/oracle/etc/
chmod 777 /home/oracle/etc/*.rsp

11.切换到oracle用户,配置数据库安装文件

su - oracle
vi /home/oracle/etc/db_install.rsp
#将下列内容添加到db_install.rsp文件末尾即可

oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=主机名
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN,zh_TW
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
ORACLE_BASE=/u01/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oinstall
#这里必须填ture
DECLINE_SECURITY_UPDATES=true

1.12. 执行安装

进入 /home/oracle/database文件夹下执行以下命令

./runInstaller -silent -force -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq

此处会卡住,安装完成会出现以下情况则安装成功,若未出现可查看日志文件

可以重新开一个窗口查看日志文件命令 文件名需要自己更改
tail -f /u01/app/oracle/oraInventory/logs/installActions2024-09-20_11-39-48PM.log

1.13. 安装完成后切换到root用户

su root
执行
sh /u01/app/oracle/product/11.2.0/db_1/root.sh

1.14. 切换成oracle用户配置环境变量

su - oracle
vi ~/.bash_profile

将以下内容添加到.bash_profile文件中

export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export TNS_ADMIN=$ORACLE_HOME/network/admin
export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE/lib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export LIBPATH=${CLASSPATH}:$ORACLE_HOME/lib:$ORACLE_HOME/ctx/lib
export ORACLE_OWNER=oracle
export SPFILE_PATH=$ORACLE_HOME/dbs
export ORA_NLS10=$ORACLE_HOME/nls/data

刷新环境变量,使其生效

source ~/.bash_profile

1.15. 安装数据库实例,配置dbca.rsp文件

vi /home/oracle/etc/dbca.rsp

将以下内容添加到dbca.rsp文件中

GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/u01/app/oracle/oradata
RECOVERYAREADESTINATION=/u01/app/oracle/fast_recovery_area
CHARACTERSET = "ZHS16GBK"
TOTALMEMORY = "1638"

# 其中TOTALMEMORY = "1638" 为1638MB,物理内存2G*80%

1.16. 安装数据库实例

dbca -silent -responseFile /home/oracle/etc/dbca.rsp

执行命令之后,会提示输入Sys和System用户的密码,输入后会出现下列文字

出现以下文字则安装成功
在这里插入图片描述

实例进程检查

ps -ef | grep ora_ | grep -v grep

1.17. 监听配置,切换到oracle用户

su - oracle
配置监听

netca /silent /responsefile /home/oracle/database/response/netca.rsp

查看监听状态

netstat -tnulp | grep 1521

1.18. 安装完成,使用sqlplus连接测试

sqlplus /nolog

conn /as sysdba

出现以下情况即可

1.19. 启动监听

按照我的这个安装过程,需要先停止监听,再启动监听

监听停止

lsnrctl stop

监听启动

lsnrctl start

#执行启动监听的命令时 估计会出现The listener supports no services,如果出现以下情况
#去/u01/app/oracle/product/11.2.0/db_1/network/admin 文件夹下,修改 listener.ora 文件 增加以下内容

SID_LIST_LISTENER =  
(SID_LIST =  
  (SID_DESC =  
  (GLOBAL_DBNAME = orcl)
  (SID_NAME = orcl)
  )
)

# 同时把LISTENER中host=loaclhost改成host=本机ip地址
LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )

改成

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.134.129)(PORT = 1521))
    )
  )
  1. 启动数据库

#执行以下命令启动数据库

sqlplus /nolog

conn /as sysdba

startup

如果启动数据库出现以下情况执行以下命令 将/u01/app/oracle/admin/orcl11g/pfile/init.ora.8202022213917 复制到’/u01/app/oracle/product/11.2.0/db_1/dbs文件夹下并更名为initorcl.ora

在oracle用户下执行

cp /u01/app/oracle/admin/orcl11g/pfile/init.ora.8202022213917 /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl.ora

二、后续步骤

3.1 监听配置

host 可以改为自身IP地址,也可以改为localhost或者127.0.0.1,本质没有区别

端口号默认为1521

oracle@yaoyuan ~$ cat /u01/app/oracle/product/19.3.0/db_1/network/admin/tnsnames.ora
...
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = oracleace)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

监听操作
lsnrctl stop
lsnrctl start
lsnrctl status

3.2 数据库连接

Navicat连接Oracle数据库

三、常见问题

问题一、用Navicat连接Oracle数据库时报错ORA-28547:connection to server failed, probable Oracle Net admin error

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2173464.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络工程师指南:防火墙配置与管理命令大全,零基础入门到精通,收藏这一篇就够了

本指南详细介绍了防火墙的配置与管理命令,涵盖了防火墙的工作原理、常见配置命令、安全策略与访问控制、日志管理与故障排查,并通过实战案例展示了如何有效防御网络攻击。通过学习本指南,网络工程师能够系统掌握防火墙的配置与管理技能&#…

收银系统源码-ERP进销存解决方案

收银系统目前已经成为门店日常经营的必备软件工具,功能一般需涵盖线下门店收银,ERP进销存、线上商城等。一套好的ERP进销存模块也能很大程度帮助门店经营管理门店。 ERP进销存功能涵盖了商品的采购、销售、调拨、盘点、库存管理、资金管理等全链路管理&…

【周末推荐】替换SwitchyOmega的Chrome浏览器插件

SwitchyOmega插件在我们这个圈子里应该无人不知无人不晓了吧,最近有很多朋友反馈自己的SwitchyOmega不工作了,今天我们将聊聊为什么SwitchyOmega不工作了,并推荐2款实用的Chrome浏览器插件解决这个问题。 为什么要替换SwitchyOmega&#xff…

这种膜为啥能随温度变透明?怎么制备的?有啥特点?

大家好,今天我们来了解一项关于纳米纤维膜的研究——《Diphylleia Grayi-Inspired Intelligent Temperature-Responsive Transparent Nanofiber Membranes》《Nano-Micro Letters》。在现代科技的发展中,透明材料的需求日益增长,传统材料已无…

VBA技术资料MF206:右键录入指定的数据及图标

我给VBA的定义:VBA是个人小型自动化处理的有效工具。利用好了,可以大大提高自己的工作效率,而且可以提高数据的准确度。“VBA语言専攻”提供的教程一共九套,分为初级、中级、高级三大部分,教程是对VBA的系统讲解&#…

卡通角色检测系统源码分享

卡通角色检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…

旭升集团携手纷享销客,构建全方位客户关系管理平台

宁波旭升集团股份有限公司(以下简称“旭升集团”)自2003年成立,总部位于中国宁波,集团设有压铸、锻造、挤压、集成四大事业部,在亚洲、欧洲、美洲等地均设立研发中心及制造基地,产品主要覆盖新能源汽车的电…

Cisco ASA 9.22.1 发布下载,新增功能概览

Cisco ASA 9.22.1 - 思科自适应安全设备 (ASA) 软件 Cisco Adaptive Security Appliance (ASA) 请访问原文链接:https://sysin.org/blog/cisco-asa/,查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org 新增功能 重要…

Git(5):分支合并merge和rebase

git merge 假设有两个分支:master 分支和 feature 分支,现在需要将 feature 分支合并到 master 分支。 git checkout mastergit merge feature在合并分支时,git 提供了不同的合并策略,用于处理不同的合并场景。 Fast-forward 如…

Spring Boot 进阶- Spring Boot 自定义拦截器详解

上篇文章中我们创建了一个RestFul风格的接口,并且介绍了如何对其结果进行格式化的方式。这篇文章我们来讲在SpringMVC中常用到的另一个概念拦截器。 什么是拦截器? 在Spring MVC中拦截器有点类似于在Servlet中的过滤器的概念,主要是用来拦截用户求,并且对用户请求进行相应…

2024双十一买啥最划算?2024双十一五款值得入手的好物入手

2024双十一购物狂欢节将至,还在为买什么而纠结吗?这里为你入手五款值得入手的好物。从生活必备到时尚单品,涵盖多个领域,让你在双十一以划算的价格买到心仪之物,开启品质生活新旅程。 一、西圣find可视挖耳勺 入手理…

【libp2p——NAT】

1. 什么是NAT NAT(Network Address Translation,网络地址转换)是指一种网络技术,它允许多个设备通过一个公共IP地址连接到互联网。NAT通常被用在家庭或小型办公室的路由器上,以允许多台计算机共享一个互联网连接。这种…

Tensorflow 2.0 cnn训练cifar10 准确率只有0.1 [已解决]

cifar10 准确率只有0.1 问题描述踩坑解决办法 问题描述 如果你看的是北京大学曹健老师的tensorflow2.0,你在class5的部分可能会遇见这个问题 import matplotlib.pyplot as plt import tensorflow as tf from tensorflow.keras.layers import Dense, Dropout,MaxPooling2D,Fla…

揭秘 MrBeast 爆款视频秘籍,视频从业者必看!

MrBeast 是美国第一网红,可能也是世界第一网红。他的YouTube频道在2024年9月拥有3.17亿订阅者,成为订阅者最多的频道。这一庞大的粉丝基础不仅代表了他的影响力,也反映了他所创造内容的受欢迎程度。 视频制作的高投入 MrBeast每个视频的拍…

死磕P7: JVM类加载那些事儿,一起探知类的前世今生(一)

这是「死磕P7」系列第 005 篇文章,欢迎大家来跟我一起 死磕 100 天,争取在 2025 年来临之际,给自己一个交代。 前面几篇介绍了 JVM 的区域划分及垃圾收集相关的内容,只是告诉了你我有一栋豪华大酒店,大楼里有哪些房间&…

高级前端进阶:揭秘 MemFire Cloud 的强大助力

在前端开发的道路上,我们总是在追求效率与速度的平衡,如何写出优雅的代码,如何让开发流程更加顺滑成为了每个前端开发者的目标。对于那些希望提升效率、减少繁琐开发步骤的开发者来说,MemFire Cloud,一款国产的一站式应…

git忽略python项目中的__pycache__目录

一:编写.gitignore文件 # 忽略 tensorone-storage-log/ 目录 tensorone-storage-log/# 忽略 file_test 目录 file_test/# 忽略 .idea 目录 /.idea# 忽略 .vscode 目录 .vscode# 忽略 __pycache__ 目录及其所有子内容 **/__pycache__/ 二:提交更改&#x…

越来越卷,事无巨细的日报、周报难为死IT牛马们了!如何破局?

现在这环境做牛马真难呀 某中厂朋友吐槽说:“经济下行,公司要求越来越过分,不但要求9106,还要天天写日报都做了什么事项,每个事事项花了多少时间,要用不少时间来写;周报也是要求很细 还要总结&…

蜂鸟bebirdt15、西圣find、泰视朗可视挖耳勺好用吗?测评数据对比看这里

可视挖耳勺在当下已经被广泛使用,不过对于新手来说,选择一款优质产品却并不容易。蜂鸟t15、西圣find、泰视朗可视挖耳勺好用吗?作为一个测评博主,近期有不少用户问我这个问题。 根据目前市场上可视挖耳勺的品牌情况来看&#xff0…

宝塔centOs添加node环境变量

宝塔Linux添加node全局环境变量 ln -s /www/server/nodejs/v20.17.0/bin/node /usr/bin/node ln -s /www/server/nodejs/v20.17.0/bin/npm /usr/bin/npm ln -s /www/server/nodejs/v20.17.0/bin/pnpm /usr/bin/pnpm