OMF

自己认为Oracle-Managed Files不是多么的吸引人而只不过是为了为了方便文件系统的管理而已。OMF是建立在OS文件系统层之上的,所以对于RAW设备来说是不适合的。 更重要的是,当实现管理便利性的同时,失去的却是对I/O优化的干预能力。

以下三个初始化参数决定DB是否使用OMF特性:

DB_CREATE_FILE_DEST

DB_CREATE_ONLINE_LOG_DEST_n

DB_RECOVERY_FILE_DEST

对于第一个参数DB_CREATE_FILE_DEST来说,它决定了SYSTEM和SYSAUX及UNDO和TEMP表空间数据文件的位置。对于除UNDO外前两个文件,默认数据文件为100M,且可自动扩展。对于UNDO,为10M,也可自动扩展。在声明default temporary tablesapce的前提下,当该参数未被指定而TEMP也未显式指定时,系统汇报错。在设置DB_CREATE_FILE_DEST参数时,不要忘记一并设置DB_RECOVERY_FILE_DEST_SIZE参数。

在DB_CREATE_ONLINE_LOG_DEST_n未被设置且建库脚本中也未显式指名controlfile和redolog时,控制文件和重昨日志文件也将存放在DB_RECOVERY_FILE_DEST所确定的目录中。建议multiplex此设置以避免单点故障导致系统不可用。

对于第二个参数DB_CREATE_ONLINE_LOG_DEST_n是系统专为controlfile和redolog指定的目录(最多5个目录)。仅针对于redologfile和controlfile,若指定此参数则系统忽略DB_CREATE_FILE_DEST和DB_RECOVERY_FILE_DEST的目录设置!换句话说,DB_CREATE_ONLINE_LOG_DEST_n是redologfile和controlfile的首选OMF归宿。

对于第三个参数DB_RECOVERY_FILE_DEST就不多说了!主要用于存贮RMAN生成的备份文件及归档日志文件。

值得一提的是,当DB_CREATE_ONLINE_LOG_DEST_n未被指定而DB_CREATE_FILE_DEST 和 DB_RECOVERY_FILE_DEST都被指定时,redologfile会在这两个目录里生成一个redologfile。

对于OMF优化设置的几点考虑:

[@more@]


Tuning Oracle-Managed Files
Several points should be considered when tuning Oracle-managed files.
■ Because Oracle-managed files require the use of a file system, DBAs give up
control over how the data is laid out. Therefore, it is important to correctly
configure the file system.
■ The Oracle-managed file system should be built on top of an LVM that supports
striping. For load balancing and improved throughput, the disks in the
Oracle-managed file system should be striped.
■ Oracle-managed files work best if used on an LVM that supports dynamically
extensible logical volumes. Otherwise, the logical volumes should be configured
as large as possible.
■ Oracle-managed files work best if the file system provides large extensible files.

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/404722/viewspace-920241/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/404722/viewspace-920241/

<think>嗯,用户这次聚焦在Proteus的DEBUG功能和OMF文件格式上,看来是在进行单片机仿真调试时遇到了技术瓶颈。从用户主动筛选的引用内容看,ta应该已经排除了安装和路径问题(引用[3][4]),目前卡在如何生成有效调试文件这个环节(引用[1])。 用户引用[1]提到关键操作点:生成OMF需要添加扩展名、包含调试信息、关闭Hex输出。但这段描述比较零碎,需要帮ta整合成完整流程。考虑到用户可能不熟悉Keil/IAR等编译器的具体设置,应该补充工具链适配说明。 注意到用户前次提问被系统标注为“非真实需求”,推测ta可能实际想解决的问题是:在Proteus里调试8051程序时无法命中断点,或者监视变量异常。这通常就是OMF文件调试信息缺失导致的典型症状。 需要强调两个易错点:一是编译器优化等级不能太高,否则变量会被优化掉;二是Proteus加载OMF后要手动重置单片机才能激活调试器。用户如果按步骤操作仍失败,很可能是这两处疏漏。 最后设计的问题要覆盖潜在需求层次:用户没提但应该关心的调试技巧(如实时内存监视)、替代方案(ELF/DWARF格式支持)、常见错误排查(源文件路径含中文等)。尤其要预警Proteus特有的仿真异常现象,比如鼠标卡死问题(引用[2])虽然不直接相关,但调试过程可能触发。 </think>以下是关于Proteus中DEBUG功能与OMF文件格式的完整指南,结合引用信息和实践要点整理: --- ### **Proteus DEBUG与OMF的关键信息** #### **1. OMF文件的作用** - OMF(Object Module Format)是Proteus仿真调试必需的中间文件格式,包含: - 机器代码与符号表(变量/函数地址) - 源代码行号映射(用于断点调试) - 数据类型信息(监视变量值) - **生成要求**: - 编译器需导出 **`.omf`** 格式(Keil/IAR默认支持,其他编译器需配置) - 必须包含 **完整的调试信息**(Debug Information)[^1] #### **2. 生成OMF文件的步骤**(以Keil为例) ```plaintext 1. 工程配置 → [Output] 选项卡 ✔ 勾选 "Debug Information" ✖ 取消 "Create HEX File" → 设置输出文件名:`工程名.omf` 2. 编译工程 → 生成 `工程名.omf` 文件 ``` > 📌 注:若输出无扩展名文件,需手动添加 **`.omf`** 后缀[^1] #### **3. Proteus DEBUG调试流程** 1. **加载OMF文件**: - 双击单片机 → `Program File` 选择 `.omf` 文件 - 确保 `Advanced Properties` 中 **`Enable Debugging`** 已开启 2. **启动调试**: - 点击 ▶️ 运行 → 按 `Ctrl+D` 打开调试窗口 - 关键功能: - 断点设置(单击代码行左侧) - 寄存器/内存监视(Debug → Watch Window) - 变量追踪(右键变量 → Add to Watch) #### **4. 常见问题解决** | 问题现象 | 解决方案 | |---------------------------|--------------------------------------------------------------------------| | 无法命中断点 | 检查OMF是否含调试信息 → 重新配置编译器[^1] | | 调试时鼠标卡死 | 以管理员身份运行Proteus + 兼容模式[^2] | | 变量值显示异常 | 确认编译器优化等级为 `-O0`(禁用优化) | | OMF路径报错 (红叉) | `System → System Settings` → 修正索引路径至实际OMF位置[^4] | #### **5. 调试优化建议** - **实时变量监视**:右键变量 → `Logging` → 生成实时波形(用于模拟传感器数据) - **外设仿真**:DEBUG模式下可交互操作LED/按键等元件(无需重编译) - **内存泄漏检测**:`Debug → Memory Contents` → 观察Heap段变化 --- ### **调试流程图示** ```mermaid graph LR A[编译器配置] -->|生成.omf| B(Proteus加载OMF) B --> C{启动仿真} C --> D[设置断点/监视点] D --> E[单步执行/查看寄存器] E --> F[分析外设交互] ``` --- ### **相关问题** 1. 如何在IAR Embedded Workbench中生成Proteus兼容的OMF文件? 2. Proteus调试时为何无法查看某些局部变量?如何解决? 3. 除OMF外,Proteus是否支持ELF/DWARF等其他调试格式? 4. DEBUG模式下如何模拟硬件中断(如UART接收)? > 引用提示:OMF生成需关闭HEX输出并显式添加后缀[^1],路径错误需在System Settings修正[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值