Oracle 12c在Windows环境下安装
适合初学者使用的Oracle 12c在Windows环境下安装步骤、参数配置、常见问题及参数调优的详细补充说明。
一、Oracle 12c安装步骤
1. 准备工作
在安装Oracle 12c之前,确保你的系统满足以下要求:
操作系统:Oracle 12c支持的Windows版本包括Windows 7、Windows 8、Windows 10以及Windows Server 2008、2012和2016。请确保你的操作系统是64位版本,因为Oracle 12c不支持32位版本。
内存:至少需要2GB RAM,推荐使用4GB或更多,以确保数据库运行流畅。对于大型数据库和高并发环境,建议使用8GB或更高的内存。
硬盘空间:至少需要10GB的可用空间。根据安装选项和数据库大小,可能需要更多的空间。建议在安装前检查硬盘空间。
用户权限:确保你有管理员权限。安装Oracle数据库需要对系统进行更改,因此必须以管理员身份运行安装程序。
2. 下载Oracle 12c
(1)访问Oracle官方网站:
打开浏览器,访问 [Oracle Technology Network](https://www.oracle.com/database/technologies/),在页面中找到Oracle Database 12c的下载链接。
(2)选择适合Windows的版本:
在下载页面,选择“Oracle Database 12c Release 1 (12.1.0.2) for Microsoft Windows (x64)”链接。确保选择64位版本。
(3)注册或登录Oracle账号:
如果没有Oracle账号,需要注册一个。注册后登录,才能下载软件。
(4)下载安装文件:
下载完成后,文件通常为ZIP格式,文件名可能类似于`winx64_12c_database.zip`。
3. 解压安装文件
(1) 选择解压路径:
将下载的ZIP文件解压到一个目录,例如 `C:\Oracle\12c`。确保该目录有足够的权限,以便安装程序可以访问。
(2)检查解压完整性:
确保解压后的文件完整,通常解压后会包含多个文件夹和文件,如`database`、`install`、`readme`等。
4. 开始安装
(1) 以管理员身份运行安装程序:
进入解压目录,找到 `setup.exe` 文件,右键点击并选择“以管理员身份运行”。这样可以确保安装程序拥有足够的权限进行系统更改。
(2)安装向导:
安装向导启动后,选择“安装数据库软件”选项。你会看到一个欢迎页面,点击“下一步”继续。
(3). 选择安装类型:
在“安装类型”页面,选择“创建和配置数据库”选项。这个选项将引导你完成数据库的创建和配置。
(4)选择安装位置:
默认安装路径为 `C:\app\oracle\product\12.1.0\dbhome_1`。可以根据需要更改,但建议使用默认路径,以避免后续配置问题。
(5)选择数据库配置:
在“数据库配置”页面,选择“典型安装”以便于配置,或选择“高级安装”以自定义设置。如果是新手,建议选择典型安装。
(6)输入Oracle用户名和密码:
输入Oracle管理员(SYS和SYSTEM)的密码。确保密码符合复杂性要求(至少8个字符,包含字母和数字)。强烈建议记住这个密码,因为后续连接数据库时需要使用。
(7)配置数据库选项:
在“数据库身份”页面,输入数据库名(SID),例如`ORCL`。SID是数据库的唯一标识符,通常选择简单易记的名称。
(8)选择网络配置:
在网络配置页面,通常选择默认设置,点击“下一步”。这将自动配置Oracle Listener,允许客户端连接到数据库。
(9)选择存储选项:
选择“文件系统”作为存储选项,通常对于初学者来说,这是最简单的选择。
(10)确认安装设置:
检查所有设置,确认无误后点击“安装”。在此步骤,你可以查看安装摘要,确保所有信息正确。
5. 安装过程
安装过程可能需要一些时间,请耐心等待。安装完成后,系统会显示安装成功的信息。你可能会看到“安装完成”或“成功”的提示,点击“关闭”按钮退出安装向导。
6. 配置Oracle环境变量
(1)设置ORACLE_HOME:
右键点击“计算机” > “属性” > “高级系统设置” > “环境变量”。
在系统变量中点击“新建”,添加变量名 `ORACLE_HOME`,值为Oracle安装目录(如 `C:\app\oracle\product\12.1.0\dbhome_1`)。
(2)设置PATH变量:
找到系统变量中的 `Path`,点击“编辑”,在变量值的末尾添加 `;%ORACLE_HOME%\bin`。确保在添加时使用分号(;)分隔。
(3)设置TNS_ADMIN(可选):
如果使用TNS配置,添加变量 `TNS_ADMIN`,值为 `C:\app\oracle\product\12.1.0\dbhome_1\network\admin`。这将指向TNS配置文件的存储位置。
7. 启动Oracle数据库
使用“SQL*Plus”或“Oracle SQL Developer”连接到数据库。可以在开始菜单中找到SQL*Plus,使用SYS或SYSTEM用户登录,命令格式如下:

输入密码后,连接成功后可以执行一些基本的SQL命令,如查看数据库状态:
![]()
二、常见安装问题及解决方法
1. 安装过程中出现“缺少组件”错误
解决方法:
确保下载的安装包完整,文件未损坏。可以尝试重新下载并解压。
检查系统是否满足Oracle的安装要求,包括操作系统版本、内存和硬盘空间。
2. 数据库创建失败
解决方法:
检查输入的数据库名称是否符合Oracle命名规则(不能以数字开头,不能包含特殊字符)。
确保提供的密码符合复杂性要求(至少8个字符,包含大写字母、小写字母、数字和特殊字符)。
3. 网络配置问题
解决方法:
确保Windows防火墙允许Oracle相关服务通过。可以在防火墙设置中添加例外。
检查TNS配置文件 `tnsnames.ora` 是否正确,确保网络服务名与SID一致。
4. 安装后无法连接数据库
解决方法:
确保Oracle服务已启动。可以在“服务”中查看Oracle服务的状态,确保其处于“运行”状态。
使用命令行工具检查网络配置,运行 `tnsping <服务名>`,确保网络连接正常。
三、参数调优
1. 基本参数配置
SGA(系统全局区):
默认情况下,Oracle会自动管理SGA大小。可以手动设置 `SGA_TARGET` 和 `SGA_MAX_SIZE` 参数,以优化内存使用。例如,在SQL*Plus中执行:

PGA(程序全局区):
设置 `PGA_AGGREGATE_TARGET` 参数,以优化内存分配给每个会话的工作区。例如:
![]()
2. 启用自动内存管理(AMM)
设置 `MEMORY_TARGET` 和 `MEMORY_MAX_TARGET` 参数,以启用自动内存管理,Oracle会根据负载动态调整SGA和PGA的大小。例如:

3. 调整并发连接数
根据系统性能需求,调整 `PROCESSES` 和 `SESSIONS` 参数,以支持更多的并发连接。例如:

4. 数据库性能监控
使用Oracle自带的性能监控工具(如Enterprise Manager)监控数据库性能,识别瓶颈并进行相应调整。可以使用以下查询来监控数据库性能:

四、总结
通过以上详细步骤,你应该能够在Windows环境下成功安装Oracle 12c并进行基本的参数配置。安装过程中遇到的问题可以通过常见问题解决方法进行排查。根据实际需求进行参数调优,可以显著提高数据库的性能和稳定性。
相关文章:
Oracle 12c在Windows环境下安装
适合初学者使用的Oracle 12c在Windows环境下安装步骤、参数配置、常见问题及参数调优的详细补充说明。 一、Oracle 12c安装步骤 1. 准备工作 在安装Oracle 12c之前,确保你的系统满足以下要求: 操作系统:Oracle 12c支持的Windows版本包括Wi…...
Stable Diffusion绘画 | 来训练属于自己的模型:打标处理与优化
上一篇完成的打标工作,是为了获取提示词,让AI认识和学习图片的特征。 因此,合适、恰当、无误的提示词,对最终模型效果是相当重要的。 Tag 如何优化 通过软件自动生成的 Tag 只是起到快速建立大体架构的作用,里面会涉…...
【论文笔记】Visual Instruction Tuning
🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。 基本信息 标题: Visual Instruction Tunin…...
ubuntu 设置静态IP
一、 ip addresssudo nano /etc/netplan/50-cloud-init.yaml 修改前: 修改后: # This file is generated from information provided by the datasource. Changes # to it will not persist across an instance reboot. To disable cloud-inits # ne…...
Java 每日一刊(第19期):泛型
文章目录 前言1. 泛型概述1.1 不使用泛型 vs 使用泛型1.2 泛型的作用 2. 泛型的基本语法2.1 定义带类型参数的泛型类2.2 使用泛型类2.3 泛型方法 3. 泛型类型推断与钻石操作符3.1 类型推断3.2 钻石操作符 4. 通配符的使用4.1 无界通配符 <?>4.2 上界通配符 <? exten…...
windows下安装rabbitMQ并开通管理界面和允许远程访问
如题,在windows下安装一个rabbitMQ server;然后用浏览器访问其管理界面;由于rabbitMQ的默认账号guest默认只能本机访问,因此需要设置允许其他机器远程访问。这跟mysql的思路很像,默认只能本地访问,要远程访…...
深度剖析音频剪辑免费工具的特色与优势
是热爱生活的伙伴或者想要记录美好声音的普通用户,都可能会需要对音频进行剪辑处理。而幸运的是,现在有许多优秀的音频剪辑软件提供了免费版本,让我们能够轻松地施展音频剪辑的魔法。接下来,就让我们一同深入了解这些音频剪辑免费…...
Oracle中TRUNC()函数详解
文章目录 前言一、TRUNC函数的语法二、主要用途三、测试用例总结 前言 在Oracle中,TRUNC函数用于截取或截断日期、时间或数值表达式的部分。它返回一个日期、时间或数值的截断版本,根据提供的格式进行截取。 一、TRUNC函数的语法 TRUNC(date) TRUNC(d…...
【Spring Boot 入门一】构建你的第一个Spring Boot应用
一、引言 在当今的软件开发领域,Java一直占据着重要的地位。而Spring Boot作为Spring框架的延伸,为Java开发者提供了一种更加便捷、高效的开发方式。它简化了Spring应用的搭建和配置过程,让开发者能够专注于业务逻辑的实现。无论是构建小型的…...
PPT 快捷键使用、技巧
前言: 本文操作是以office 2021为基础的,仅供参考;不同版本office 的 ppt 快捷键 以及对应功能会有差异,需要实践出真知。 shift 移动 水平/垂直 移动 ; shift 放大/缩小 等比例放大 缩小 ; 正圆 正…...
Web安全 - 文件上传漏洞(File Upload Vulnerability)
文章目录 OWASP 2023 TOP 10导图定义攻击场景1. 上传恶意脚本2. 目录遍历3. 覆盖现有文件4. 文件上传结合社会工程攻击 防御措施1. 文件类型验证2. 文件名限制3. 文件存储位置4. 文件权限设置5. 文件内容检测6. 访问控制7. 服务器配置 文件类型验证实现Hutool的FileTypeUtil使用…...
vue3中el-input在form表单按下回车刷新页面
摘要: 在input框中点击回车之后不是调用我写的回车事件,而是刷新页面! 如果表单中只有一个input 框则按下回车会直接关闭表单 所以导致刷新页面 再写一个input 表单 ,并设置style“display:none” <ElInput style"display…...
SQL Server中关于个性化需求批量删除表的做法
在实际开发中,我们常常会遇到需要批量删除表,且具有共同特征的情况,例如:找出表名中数字结尾的表之类的,本文我将以3中类似情况为例,来示范并解说此类需求如何完成: 第一种,批量删除…...
关于按键状态机解决Delay给程序带来的问题
问题产生 我在学习中断的过程中,使用EXTI15外部中断,在其中加入HAL_Delay();就会发生报错 错误地方 其它地方配置 问题原因 在中断服务例程(ISR)中使用 HAL_Delay() 会导致问题的原因是: 阻塞性: HAL_D…...
62.【C语言】浮点数的存储
目录 1.浮点数的类型 2.浮点数表示的范围 3.浮点数的特性 《计算机科学导论》的叙述 4.浮点数在内存中的存储 答案速查 分析 前置知识:浮点数的存储规则 推导单精度浮点数5.5在内存中的存储 验证 浮点数取出的分析 1.一般情况:E不全为0或不全为1 2.特殊情况:E全为0…...
GO网络编程(一):基础知识
1. 网络编程的基础概念 TCP/IP 协议栈 TCP/IP 是互联网通信的核心协议栈,分为以下四个层次: 应用层(Application Layer):为应用程序提供网络服务的协议,比如 HTTP、FTP、SMTP 等。传输层(Tra…...
【Linux】用虚拟机配置Ubuntu环境
目录 1.虚拟机安装Ubuntu系统 2.Ubuntu系统的网络配置 3.特别声明 首先我们先要下载VMware软件,大家自己去下啊! 1.虚拟机安装Ubuntu系统 我们进去之后点击创建新的虚拟机,然后选择自定义 接着点下一步 再点下一步 进入这个界面之后&…...
酒店智能门锁SDK接口pro[V10] 门锁校验C#-SAAS本地化-未来之窗行业应用跨平台架构
一、代码 int 酒店标识_int Convert.ToInt32(酒店标识);StringBuilder 锁号2024 new StringBuilder(8);//信息 "未知返回值:" bufCard_原始;GetGuestLockNoByCardDataStr_原始(酒店标识_int, bufCard_原始.ToString(), 锁号2024);StringBuilder 退…...
Gitのrebase用法
在 Git 中,rebase 是一种用于整合多个提交历史的操作,它可以将一个分支的变更“重放”到另一个分支上。与 merge 不同,rebase 会产生一个线性的提交历史,使得项目的历史记录更加整洁和易于理解。 1. 什么是 Rebase? …...
二分查找一>:在排序数组中查找元素的第一个和最后一个位置
1.题目: 2.解析:这里不能用传统二分,因为涉及范围,传统二分时间复杂度会降为O(N),要做些改动。 步骤一:查找区间左端点 细节图: 步骤二:查找区间右端点: 细节图: 代码…...
【解密LSTM、GRU如何解决传统RNN梯度消失问题】
解密LSTM与GRU:如何让RNN变得更聪明? 在深度学习的世界里,循环神经网络(RNN)以其卓越的序列数据处理能力广泛应用于自然语言处理、时间序列预测等领域。然而,传统RNN存在的一个严重问题——梯度消失&#…...
【Zephyr 系列 10】实战项目:打造一个蓝牙传感器终端 + 网关系统(完整架构与全栈实现)
🧠关键词:Zephyr、BLE、终端、网关、广播、连接、传感器、数据采集、低功耗、系统集成 📌目标读者:希望基于 Zephyr 构建 BLE 系统架构、实现终端与网关协作、具备产品交付能力的开发者 📊篇幅字数:约 5200 字 ✨ 项目总览 在物联网实际项目中,**“终端 + 网关”**是…...
如何更改默认 Crontab 编辑器 ?
在 Linux 领域中,crontab 是您可能经常遇到的一个术语。这个实用程序在类 unix 操作系统上可用,用于调度在预定义时间和间隔自动执行的任务。这对管理员和高级用户非常有益,允许他们自动执行各种系统任务。 编辑 Crontab 文件通常使用文本编…...
客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...
python打卡第47天
昨天代码中注意力热图的部分顺移至今天 知识点回顾: 热力图 作业:对比不同卷积层热图可视化的结果 def visualize_attention_map(model, test_loader, device, class_names, num_samples3):"""可视化模型的注意力热力图,展示模…...
Qt的学习(二)
1. 创建Hello Word 两种方式,实现helloworld: 1.通过图形化的方式,在界面上创建出一个控件,显示helloworld 2.通过纯代码的方式,通过编写代码,在界面上创建控件, 显示hello world; …...
计算机系统结构复习-名词解释2
1.定向:在某条指令产生计算结果之前,其他指令并不真正立即需要该计算结果,如果能够将该计算结果从其产生的地方直接送到其他指令中需要它的地方,那么就可以避免停顿。 2.多级存储层次:由若干个采用不同实现技术的存储…...
uniapp获取当前位置和经纬度信息
1.1. 获取当前位置和经纬度信息(需要配置高的SDK) 调用uni-app官方API中的uni.chooseLocation(),即打开地图选择位置。 <button click"getAddress">获取定位</button> const getAddress () > {uni.chooseLocatio…...
使用ch340继电器完成随机断电测试
前言 如图所示是市面上常见的OTA压测继电器,通过ch340串口模块完成对继电器的分路控制,这里我编写了一个脚本方便对4路继电器的控制,可以设置开启时间,关闭时间,复位等功能 软件界面 在设备管理器查看串口号后&…...
Qt/C++学习系列之列表使用记录
Qt/C学习系列之列表使用记录 前言列表的初始化界面初始化设置名称获取简单设置 单元格存储总结 前言 列表的使用主要基于QTableWidget控件,同步使用QTableWidgetItem进行单元格的设置,最后可以使用QAxObject进行单元格的数据读出将数据进行存储。接下来…...
