Oracle 11g centos 无图形化(静默)安装
ccwgpt 2024-11-30 19:21 67 浏览 0 评论
在运维过程中,通常服务器都是无法使用图形化界面的,这里给大家写出无图形化(静默)安装oracle 11g过程,希望能帮助大家。
- 添加swap分区
如果有swap分区可以跳过步骤,这里建议设置服务器内存2倍
dd if=/dev/zero of=/swap bs=1024 count=8200000
mkswap /swap
chmod 600 /swap
swapon /swap
#设置成自动挂载
echo "/swap swap swap default 0 0">>/etc/fstab
- 配置hostname
hostnamectl set-hostname oracledb
echo "127.0.0.1 oracledb" >>/etc/hosts
- 关闭selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config
setenforce 0
- 检查软件依赖环境
注意:从Oracle 11g 11.2.0.2版本开始,在Linux x86_64上安装时,只需要安装64位的软件包,但是,对于11.2.0.2之前的任何Oracle database 11g,下表中列出的32位和64位的安装包都必须安装。
binutils-2.23.52.0.1-12.el7.x86_64
compat-libcap1-1.10-3.el7.x86_64
compat-libstdc++-33-3.2.3-71.el7.i686
compat-libstdc++-33-3.2.3-71.el7.x86_64
gcc-4.8.2-3.el7.x86_64
gcc-c++-4.8.2-3.el7.x86_64
glibc-2.17-36.el7.i686
glibc-2.17-36.el7.x86_64
glibc-devel-2.17-36.el7.i686
glibc-devel-2.17-36.el7.x86_64
ksh
libaio-0.3.109-9.el7.i686
libaio-0.3.109-9.el7.x86_64
libaio-devel-0.3.109-9.el7.i686
libaio-devel-0.3.109-9.el7.x86_64
libgcc-4.8.2-3.el7.i686
libgcc-4.8.2-3.el7.x86_64
libstdc++-4.8.2-3.el7.i686
libstdc++-4.8.2-3.el7.x86_64
libstdc++-devel-4.8.2-3.el7.i686
libstdc++-devel-4.8.2-3.el7.x86_64
libXi-1.7.2-1.el7.i686
libXi-1.7.2-1.el7.x86_64
libXtst-1.2.2-1.el7.i686
libXtst-1.2.2-1.el7.x86_64
make-3.82-19.el7.x86_64
sysstat-10.1.5-1.el7.x86_64
unixODBC-2.3.1-6.el7.i686
unixODBC-2.3.1-6.el7.x86_64
unixODBC-devel-2.3.1-6.el7.i686
unixODBC-devel-2.3.1-6.el7.x86_64
# 安装命令
yum -y install binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel
# 安装完成后,检查依赖是否安装成功
rpm -q binutils compat-libcap1 compat-libstdc++-33 gcc gcc-c++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libXi libXtst make sysstat unixODBC unixODBC-devel | grep "not installed"
- 创建所需的操作系统组和用户
如果要安装Oracle数据库,则需要以下本地操作系统组和用户:Oracle inventory组(通常为 oinstall)OSDBA组 (通常为 dba)OSOPER组 (通常为 oper)Oracle软件所有者(通常为 oracle)
# 添加命令
groupadd oinstall
groupadd dba
groupadd oper
useradd -g oinstall -G dba oracle
修改oracle 用户密码
passwd oracle
# 输入密码
- 配置内核参数和资源限制
在/etc/sysctl.conf添加如下参数,如果系统中某个参数高于下面的参数的值 ,保留较大的值,下面的数值只是官方要求的最小值,可以根据系统调整数值,以优化系统性能
fs.aio-max-nr = 1048576
# 512m x processes 可以分配的文件句柄的最大数目(文件系统最大可打开文件数)
fs.file-max = 6815744
# 设置共享内存总页数 这个值推荐设置为物理内存大小除以分页大小 kb
kernel.shmall = 4194304
# Linux进程可以分配的单独共享内存段的最大值。一般设置为内存总大小的一半 bytes
kernel.shmmax = 17179869183
# SHMMNI参数:设置系统级最大共享内存段数量
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
# 表示用于向外连接的端口范围
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
# 默认和最大的TCP数据接收缓冲
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
# 表示每个信号集中的最大信号量数目 各个实例中最大的PROCESSES参数+10
SEMMSL 250
# 表示系统范围内的最大信号量总数目
SEMMNS 32000
# 表示每个信号发生时的最大系统操作数目
SEMOPM 100
# 表示系统范围内的最大信号集总数目
SEMMNI 128
使内核参数生效
sysctl -p
在/etc/security/limits.conf中添加如下参数
# 可用于单个用户最大进程数
oracle soft nproc 2047
oracle hard nproc 16384
# 打开文件最大描述符的限制
oracle soft nofile 1024
# 进程堆栈段的最大大小
oracle hard nofile 65536
在/etc/pam.d/login文件中,添加下面内容
session required /lib64/security/pam_limits.so
session required pam_limits.so
在/etc/profile 文件中添加如下内容
if [ $USER = "oracle" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
使/etc/profile文件生效
source /etc/profile
禁用使用Transparent HugePages(启用Transparent HugePages,可能会导致造成内存在运行时的延迟分配,Oracle官方建议使用标准的HugePages)
查看是否启用 如果显示 [always]说明启用了
cat /sys/kernel/mm/transparent_hugepage/enabled
禁用Transparent HugePages,在/etc/rc.d/rc.local添加如下内容
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
chmod +x /etc/rc.d/rc.local
# 重新启动系统以使更改成为永久更改
- 创建oracle安装目录
如下目录,根据自己的实际情况可做修改(建议根据分区情况)
mkdir -p /home/oracle/app/
chown -R oracle:oinstall /home/oracle/app/
chmod -R 775 /home/oracle/app/
- 配置oracle用户环境变量
在文件/home/oracle/.bash_profile里添加下面内容(具体值根据实际情况修改)
umask 022
export ORACLE_HOSTNAME=oracledb
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/
export ORACLE_SID=ORCL
export PATH=.:$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$ORACLE_HOME/jdk/bin:$PATH
export NLS_LANG="AMERICAN_AMERICA.AL32UTF8"
export NLS_DATE_FORMAT="YYYY-MM-DD HH24:MI:SS"
source /home/oracle/.bash_profile
# 使配置生效,或者reboot now
- 解压下载好的两个Oracle数据库文件
unzip -q linux.x64_11gR2_database_1of2.zip -d /home
unzip -q linux.x64_11gR2_database_2of2.zip -d /home
mkdir -p /home/oracle/etc
cp /home/database/response/* /home/oracle/etc/
- 修改变量
vi /home/oracle/etc/db_install.rsp
oracle.install.option=INSTALL_DB_SWONLY
ORACLE_HOSTNAME=oracledb
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/home/oracle/app/oracle/inventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/home/oracle/app/oracle/product/11.2.0
ORACLE_BASE=/home/oracle/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.isCustomInstall=true
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=dba
DECLINE_SECURITY_UPDATES=true
正式开始安装
su - oracle
cd /home/database
./runInstaller -silent -responseFile /home/oracle/etc/db_install.rsp -ignorePrereq
安装期间可以使用tail命令监看oracle的安装日志
tail -f /home/oracle/app/oracle/inventory/logs/installActions2019-11-08_01-24-24AM.log
安装完成后有如下提示,如果有类似如下提示,说明安装完成
- 使用root用户执行脚本
su - root
sh /home/oracle/app/oracle/inventory/orainstRoot.sh
sh /home/oracle/app/oracle/product/11.2.0/root.sh
- 配置监听程序
su - oracle
netca /silent /responsefile /home/oracle/etc/netca.rsp
输出结果如下:
# 查看监听端口
netstat -tnpl | grep 1521
- 静默创建数据库
vi /home/oracle/etc/dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "orcl"
SID = "orcl"
SYSPASSWORD = "oracle"
SYSTEMPASSWORD = "oracle"
SYSMANPASSWORD = "oracle"
DBSNMPPASSWORD = "oracle"
DATAFILEDESTINATION =/home/oracle/app/oracle/oradata
RECOVERYAREADESTINATION=/home/oracle/app/oracle/fast_recovery_area
CHARACTERSET = "AL32UTF8"
TOTALMEMORY = "3270" #等于内存*80%
- 执行静默建库
su - oracle
dbca -silent -responseFile /home/oracle/etc/dbca.rsp
静默执行过程如下:
查看进程
ps -ef | grep ora_ | grep -v grep
查看监听状态
lsnrctl status
至此数据库就安装成功了,下面我们登录下数据库
su - oracle
orapwd file=$ORACLE_HOME/dbs/orapw$ORACLE_SID password='oracle' entries=10 force=y
sqlplus / as sysdba
select status from v$instance;
若出现以下情况 (ORA-01034)
startup
根据提示,将ORACLEBASE/admin/数据库名称/pfile/init.ora.xxx形式的文件copy到ORACLE_HOME/dbs目录下initOracle.ora(根据startup提示)即可
cp /home/oracle/app/oracle/admin/orcl/pfile/init.ora.108201915017 /home/oracle/app/oracle/product/11.2.0/dbs/initORCL.ora
查看数据库编码
select userenv('language') from dual;
- 激活scott用户
alter user scott account unlock;
alter user scott identified by tiger;
select username,account_status from dba_users;
- 设置Oracle开机启动
vi /home/oracle/app/oracle/product/11.2.0/bin/dbstart
ORACLE_HOME_LISTNER=$ORACLE_HOME
vi /etc/oratab
orcl:/home/oracle/app/oracle/product/11.2.0:Y
vi /etc/rc.d/init.d/oracle
#! /bin/bash
# oracle: Start/Stop Oracle Database 11g R2
#
# chkconfig: 345 90 10
# 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=/home/oracle/app/oracle/product/11.2.0
ORACLE_USER=oracle
case "$1" in
'start')
if [ -f $LOCKFILE ]; then
echo $0 already running.
exit 1
fi
echo -n #34;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 $0 already stopping.
exit 1
fi
echo -n #34;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')
$0 stop
$0 start
;;
'status')
if [ -f $LOCKFILE ]; then
echo $0 started.
else
echo $0 stopped.
fi
;;
*)
echo "Usage: $0 [start|stop|status]"
exit 1
esac
exit 0
给/etc/init.d/oracle添加执行权限
chmod +x /etc/init.d/oracle
开机启动oracle
systemctl enable oracle
或
chkconfig oracle on
给启动文件加权限
cd /home/oracle/app/oracle/product/11.2.0/bin/
chmod 6751 oracle
cd /var/tmp
chown -R oracle:oinstall .oracle
- 防火墙配置放开Oracle的端口
firewall-cmd --zone=public --add-port=1521/tcp --permanent
firewall-cmd --reload
需要安装文件的小伙伴可以私信找我。
相关推荐
- 一个基于.Net Core遵循Clean Architecture原则开源架构
-
今天给大家推荐一个遵循CleanArchitecture原则开源架构。项目简介这是基于Asp.netCore6开发的,遵循CleanArchitecture原则,可以高效、快速地构建基于Ra...
- AI写代码翻车无数次,我发现只要提前做好这3步,bug立减80%
-
写十万行全是bug之后终于找到方法了开发"提示词管理助手"新版本那会儿,我差点被bug整崩溃。刚开始两周,全靠AI改代码架构,结果十万行程序漏洞百出。本来以为AI说没问题就稳了,结果...
- OneCode低代码平台的事件驱动设计:架构解析与实践
-
引言:低代码平台的事件驱动范式在现代软件开发中,事件驱动架构(EDA)已成为构建灵活、松耦合系统的核心范式。OneCode低代码平台通过创新性的注解驱动设计,将事件驱动理念深度融入平台架构,实现了业务...
- 国内大厂AI插件评测:根据UI图生成Vue前端代码
-
在IDEA中安装大厂的AI插件,打开ruoyi增强项目:yudao-ui-admin-vue31.CodeBuddy插件登录腾讯的CodeBuddy后,大模型选择deepseek-v3,输入提示语:...
- AI+低代码技术揭秘(二):核心架构
-
本文档介绍了为VTJ低代码平台提供支持的基本架构组件,包括Engine编排层、Provider服务系统、数据模型和代码生成管道。有关UI组件库和widget系统的信息,请参阅UI...
- GitDiagram用AI把代码库变成可视化架构图
-
这是一个名为gitdiagram的开源工具,可将GitHub仓库实时转换为交互式架构图,帮助开发者快速理解代码结构。核心功能一键可视化:替换GitHubURL中的"hub...
- 30天自制操作系统:第六天:代码架构整理与中断处理
-
1.拆开bootpack.c文件。根据设计模式将对应的功能封装成独立的文件。2.初始化pic:pic(可编程中断控制器):在设计上,cpu单独只能处理一个中断。而pic是将8个中断信号集合成一个中断...
- AI写代码越帮越忙?2025年研究揭露惊人真相
-
近年来,AI工具如雨后春笋般涌现,许多人开始幻想程序员的未来就是“对着AI说几句话”,就能轻松写出完美的代码。然而,2025年的一项最新研究却颠覆了这一期待,揭示了一个令人意外的结果。研究邀请了16位...
- 一键理解开源项目:两个自动生成GitHub代码架构图与说明书工具
-
一、GitDiagram可以一键生成github代码仓库的架构图如果想要可视化github开源项目:https://github.com/luler/reflex_ai_fast,也可以直接把域名替换...
- 5分钟掌握 c# 网络通讯架构及代码示例
-
以下是C#网络通讯架构的核心要点及代码示例,按协议类型分类整理:一、TCP协议(可靠连接)1.同步通信//服务器端usingSystem.Net.Sockets;usingTcpListene...
- 从复杂到优雅:用建造者和责任链重塑代码架构
-
引用设计模式是软件开发中的重要工具,它为解决常见问题提供了标准化的解决方案,提高了代码的可维护性和可扩展性,提升了开发效率,促进了团队协作,提高了软件质量,并帮助开发者更好地适应需求变化。通过学习和应...
- 低代码开发当道,我还需要学习LangChain这些框架吗?| IT杂谈
-
专注LLM深度应用,关注我不迷路前两天有位兄弟问了个问题:当然我很能理解这位朋友的担忧:期望效率最大化,时间用在刀刃上,“不要重新发明轮子”嘛。铺天盖地的AI信息轰炸与概念炒作,很容易让人浮躁与迷茫。...
- 框架设计并不是简单粗暴地写代码,而是要先弄清逻辑
-
3.框架设计3.框架设计本节我们要开发一个UI框架,底层以白鹭引擎为例。框架设计的第一步并不是直接撸代码,而是先想清楚设计思想,抽象。一个一个的UI窗口是独立的吗?不是的,...
- 大佬用 Avalonia 框架开发的 C# 代码 IDE
-
AvalonStudioAvalonStudio是一个开源的跨平台的开发编辑器(IDE),AvalonStudio的目标是成为一个功能齐全,并且可以让开发者快速使用的IDE,提高开发的生产力。A...
- 轻量级框架Lagent 仅需20行代码即可构建自己的智能代理
-
站长之家(ChinaZ.com)8月30日消息:Lagent是一个专注于基于LLM模型的代理开发的轻量级框架。它的设计旨在简化和提高这种模型下代理的开发效率。LLM模型是一种强大的工具,可以...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- 框架图 (58)
- flask框架 (53)
- quartz框架 (51)
- abp框架 (47)
- springmvc框架 (49)
- 分布式事务框架 (65)
- scrapy框架 (56)
- shiro框架 (61)
- 定时任务框架 (56)
- java日志框架 (61)
- mfc框架 (52)
- abb框架断路器 (48)
- beego框架 (52)
- java框架spring (58)
- grpc框架 (65)
- tornado框架 (48)
- 前端框架bootstrap (54)
- orm框架有哪些 (51)
- 知识框架图 (52)
- ppt框架 (55)
- 框架图模板 (59)
- 内联框架 (52)
- cad怎么画框架 (58)
- ssm框架实现登录注册 (49)
- oracle字符串长度 (48)