用Oracle建立在线归档数据库

干饭人之路 2013-09-14 12:30:24
公司每天各个业务系统的数据生成落地的CSV文件后大约有100G,记录数最多的表不超过5000万条记录,95%的表不超过20万条记录,每个文本文件中都已经打了时间搓data_date。data_date是8位日期。
下面是对数据利用的需求描述:
data_date为最近30天的数据都有可能被重复利用;
data_date在3天以内的数据被重复利用的概率较高,其余27天重复利用的概率将大幅下降;
data_date超过30天以上的数据并且在1年以内的数据进入在线的归档数据库;
data_date超过1年以上的数据移除归档数据库,生成文本文件,每天对每个文本文件进行压缩。(离线存储,与在线归档数据库设计无关)
如果想建立一个以data_date为切片的归档数据库,归档1年的数据,所有数据都以压缩数据表的形势存放。请问怎么设计数据库的存储形势更好。采用分区表?每月一个分区?
另外请预估一下在线归档数据库需要多大的表空间?数据库磁盘空间有需要多大?有什么测算方法?
...全文
125 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
干饭人之路 2013-09-14
  • 打赏
  • 举报
回复
1、表结构不一样,约有500张表,由于历史原因,当时所有数据都以文件存储。 2、实际上我也是这样做的,但是就是在压缩表和非压缩表,怎样建索引,怎样分区上 纠结,毕竟我不是系统管理员。 3、如果采用日分区,分区的数量会不会太多?我开始是这样想的,30天内的数据采用日分区,30天以上90天以内的数据采用月分区;超过90天但在1年以内的数据,采用压缩表存储在历史数据区内,切且每月一个子分区。1年以上的数据进去归档库,离线存储。 不知道这样妥否?
惜分飞 2013-09-14
  • 打赏
  • 举报
回复
引用 2 楼 ecardttt 的回复:
1、表结构不一样,约有500张表,由于历史原因,当时所有数据都以文件存储。 2、实际上我也是这样做的,但是就是在压缩表和非压缩表,怎样建索引,怎样分区上 纠结,毕竟我不是系统管理员。 3、如果采用日分区,分区的数量会不会太多?我开始是这样想的,30天内的数据采用日分区,30天以上90天以内的数据采用月分区;超过90天但在1年以内的数据,采用压缩表存储在历史数据区内,切且每月一个子分区。1年以上的数据进去归档库,离线存储。 不知道这样妥否?
1. 500张表,每个表365个分区,整体上来说,一个表365个分区,从oracle 数据库层面来说,没有任何问题 2. 如果你们这些数据不做任何修改,压缩表可以节约不少空间,但是同时带来你加载数据速度变慢,如果有dml操作,那压缩表肯定不行,如果你90天以前的是月分区,30天内的是日分区,那随着时间的推移呢?以后的数据还是日分区吧 3. index是根据你的需求去创建,不是为了index而去index,更应该是为了业务的查询高校而去设置这些
惜分飞 2013-09-14
  • 打赏
  • 举报
回复
1. 各个业务的cvs的数据结构都一样吗?也就是如果设计表,表结构是不是完全一样的? 2. 估算数据量,你可以导入3天或者7天的数据到数据库中,然后平均累加 3. 分区根据你的记录记录数,对于你们的情况,我感觉如果按照日分区,问题不大,如果数据量太大,是否需要考虑根据业务来做子分区 4. cvs文件加载到数据库中,可能需要你们应用开发程序完成 你们的这个整体设计不是非常难,可以给你们做咨询顾问
Oracle2: 1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 5. Oracle Index 的三个问题 6. Oracle PL-SQL语言基础 7. Oracle的分布式管理 8. ORACLE的数据类型 9. Oracle数据库碎片整理 10.ORACLE性能调整1 11.ORACLE性能调整2 12.Oracle专家调优秘密 13.PL_SQL单行函数和组函数详解 14.PL-SQL 15.PLSQL异常处理初步 16.SQL语句性能调整原则 17.创建和使用分区的表 18.基于成本的优化器一般错误概念和问题 19.Delphi 3_0中连接数据库的三种方式 20.远程数据库的访问 21.监控数据库性能的SQL 22.简单实现数据库表空间的备份或迁移 23.简析REDO LOGFILE 24.理解和使用Oracle 8i分析工具-LogMiner 25.哪些初始化参数最影响Oracle系统性能 26.你的SQL语句在什么情况下使用全表扫描? 27.如何对CLOB行字段执行全文检索 28.如何让你的SQL运行得更快 29.如何使‘CREATE TABLE AS SELECT’能支持ORDER BY 30.删除表内重复记录的方法 31.数据库安全性策略 32.数据库的查询优化技术. 33.提高C-S系统性能的一些方法 34.提高ORACLE数据库系统import性能 35.外部联接的用法 36.性能调试的一般问题 37.优化 38.优化调整Oracle 8i数据库(从操作系统) 39.在Internet上运作公司是一项艰苦的任务--关键任务 40.在oracle中限制返回结果集的大小 41.在远端如何建立standby数据库 42.怎样分析你的SQL语句的效率 43.自动备份Oracle数据库 44.总结SQL语句中的优化提示 45.使用Database Configuration Assistant安装第二个数据库 46.Oracle 数据库向 MS SQL Server 7.0 的迁移 Oracle1: 1. Decode()函数使用技巧(NT+IIS+ASP+ORACLE) 2. Dual伪列 3. EXP、IMP 命令详解 4. Exp-Imp大量数据 5. Export-Import 使用技巧与常见错误 6. NULL 使用详解 7. Oracle for NT系统实用工具介绍 8. Oracle 和 mysql 的一些简单命令对比参照 9. Oracle8i和Microsoft SQL Server7_0比较 10. Oracle8的不安全因素及几点说明 11. Oracle常见错误代码 12. Oracle常用Script 13. Oracle常用数据字典 14. ORACLE回滚段管理(上) 15. ORACLE回滚段管理(下) 16. Oracle基于Client-Server的性能调整 17. Oracle数据库的安全策略 18. ORACLE数据库简介 19. Oracle数据库密码文件的使用和维护 20. Oracle数据库碎片整理 21. Oracle特殊包 22. Oradim工具的用法 23. PB如何连接Oracle数据库 24. ROLLBACK不能回滚的命令 25. 安装Oracle后,经常使用的修改表空间的SQL代码 26. 比较SQL Server与Oracle、DB2 27. 多个数据库时,如何设置默认数据库 28. 各种数据类型的比较 29. 漫谈oracle中的空值 30. 没有备份、只有归档日志,如何恢复数据文件 31. 哪些初始化参数最影响Oracle系统性能 32. 如何查看数据库的字符集 33. 如何启动ARCHIVELOG模式 34. 如何使‘CREATE TABLE AS SELECT’能支持ORDER BY ? 35. 如何使用归
贺辞 序 前言 第1章 建立和配置数据库 1.1 数据库创建规划 1.1.1 规划以及提出正确的问题 1.1.2 怎样确定恰当的数据块尺寸 1.2 组织文件系统 1.2.1 怎样命名数据库文件 1.2.2 使用最佳灵活结构 1.2.3 怎样配置符合 OFA 的 Oracle 文件 系统 1.3 规划数据库文件布局 1.3.1 最大化可用性的规划 1.3.2 最小化磁盘争用的规划 1.4 建立参数文件 1.4.1 配置参数的一些注意事项 1.4.2 建立参数文件的连接 1.4.3 优化数据字典存储 1.5 理解 CREATE DATABASE 命令 1.6 创建数据库的技术 1.6.1 利用 Oracle 安装程序创建数据库 1.6.2 使用安装程序创建数据库的注意 事项 1.6.3 怎样建立自己的定制数据库创建 脚本 1.6.4 如何从已有数据库克隆数据库 1.6.5 怎样利用 Database Configuration Assistant 创建数据库 1.7 完成数据库配置 1.7.1 创建表空间 1.7.2 执行数据字典配置脚本 1.7.3 建立另外的回退段 1.7.4 修改 SYSTEM 用户的缺省和临时 表空间 1.7.5 更改 SYS 和 SYSTEM 的缺省 口令 1.7.6 建立其他用户和模式对象 1.7.7 启用归档日志方式 1.7.8 进行数据库完全备份 1.7.9 配置数据库自动启动和关闭 1.7.10 在数据库投入使用之后对其进行 监控 1.7.11 怎样列出和描述初始化参数 1.7.12 怎样列出无记载参数 1.8 回顾 第2章 管理数据存储、对象和容量 2.1 配置数据存储 2.1.1 管理可用空间碎片 2.1.2 聚集可用空间的技术 2.1.3 管理区的碎片 2.1.4 查找接近 MAXEXTENTS 值的 对象 2.1.5 避免数据字典的碎片 2.1.6 本地管理区 2.1.7 进行全数据库重组 2.1.8 定义区大小和防止碎片的11个 技巧 2.1.9 避免区出超错误 2.1.10 避免空间出超错误 2.1.11 使行链接和行迁移最小化 2.1.12 怎样检测行链接/行迁移 2.1.13 利用脚本检查模式中的链接行 2.1.14 消除行链接 2.1.15 消除行迁移 2.1.16 行链接/行迁移的技巧 2.1.17 怎样定义表的大小 2.1.18 怎样确定 PCTFREE 的最佳值 2.1.19 怎样决定 PCTUSED 的最佳值 2.1.20 怎样查找每个数据块的可用数据 区域 2.2 管理程序对象 2.2.1 怎样检查无效对象 2.2.2 怎样重新编译无效对象 2.2.3 在不同表空间之间移动索引 2.2.4 怎样查找最高点 2.2.5 怎样释放未用空间 2.3 DBMS_SPACE 程序包 2.3.1 使用 DBMS_SPACE.UNUSED _SPACE 2.3.2 使用 DBMS_SPACE.FREE _BLOCK 2.4 管理锁争用 2.4.1 怎样查找产生锁的 SQL 语句 2.4.2 怎样释放锁 2.4.3 怎样删除用户会话 2.4.4 怎样从数据字典中提取视图创建 命令 2.4.5 怎样从数据字典中提取索引定义 2.5 回顾 第3章 导出和导入技术 3.1 导出/导入特性概述 3.1.1 使用导出和导入 3.1.2 导出/导入的一般使用 3.1.3 导出方式 3.1.4 导入方式 3.1.5 创建必需的数据字典视图 3.1.6 指定导出/导入参数 3.1.7 在磁带上直接导出和导入数据 3.1.8 估计导出文件的大小 3.1.9 直接导出压缩文件 3.1.10 从压缩导出文件中直接导入 3.1.11 创建一致的导出文件 3.1.12 检查导出/导入错误 3.1.13 用导出和导入管理区 3.1.14 组织和命名导出/导入文件 3.1.15 显示导出文件的内容 3.1.16 不能对恢复同时使用导出和归档 重做日志 3.1.17 增量、累积和完全的导出和导入 3.2 怎样优化导出性能 3.2.1 使用 DIRECT 路径导出 3.2.2 对传统的路径导出使用大的 BUFFER 值 3.2.3 对直接路径导出使用 RECORDL- ENGHT 参数 3.3 怎样优化导入参数 3.3.1 使用大的回退段 3.3.2 创建几个大的联机重做日志文件 3.3.3 导入过程中关闭归档方式 3.3.4 分开导出转储文件、数据表空间、 回退段和联机重做日志文件 3.3.5 最小化检查点 3.3.6 单独创建索引 3.3.7 设置大的初始化参数 SORT_AREA _SIZE 3.3.8 使用大的导入缓冲区 3.3.9 最小化数据库提交次数 3.4 Oracle8i 的新特性 3.4.1 子分区的导出和导入 3.4.2 导出/导入多个转储文件 3.4.3 为卸载表的导出过程的选择语句 指定一个查询 3.4.4 导出/导入预计算优化程序统计 数据 3.4.5 可移动表空间 3.5 回顾 第4章 设计高可用性数据库 4.1 如何发现和保护“致命的弱点” 4.2 复用数据库控制文件 4.3 在硬件级上镜像控制文件 4.4 镜像和复用的区别 4.5 为高可用性选择磁盘类型 4.6 常规的 RAID 技巧 4.7 给控制文件增长的空间 4.8 如何配置日志组 4.9 保护 SYSTEM 表空间的三种简单 方法 4.10 为什么必须保护 ORACLE_HOME 4.11 保护操作系统 4.12 如何保护回退段 4.13 分类和划分数据 4.14 划分表空间的优先次序 4.15 如何配置高可用性的 TEMP 表空间 4.16 确保在归档日志目标位置有足够的 可用空间 4.17 如何调整联机重做日志 4.18 通过优化归档速度避免 LGWR 等待 4.19 将联机重做日志和归档重做日志文件 分开 4.20 如何加速实例的恢复 4.21 回顾 第5章 使用热备用数据库 5.1 什么是失败切换 5.2 热备用数据库 5.2.1 热备用数据库的优点 5.2.2 热备用数据库的缺点 5.2.3 建立和配置热备用数据库 5.2.4 创建备用数据库作为主数据库的 一个子集 5.2.5 选择备用站点 5.2.6 选择备用节点 5.2.7 进行热备用的失败切换 5.2.8 关于备用激活要记住的三个要点 5.2.9 备用激活后的四项工作 5.2.10 将归档重做日志自动传送到备用 数据库 5.2.11 启动管理恢复 5.2.12 只读打开备用数据库 5.2.13 热备用数据库的维护 5.3 回顾 第6章 高级的失败切换方法 6.1 将 Oracle 并行服务器用于失败切换 6.2 并行服务器失败切换的优点 6.3 并行服务器失败切换的缺点 6.4 性能考虑 6.5 降低并行服务器失败切换的时间 6.6 透明的应用程序失败切换 6.7 客户机失败切换的说明 6.8 将客户机失败切换用于负载平衡 6.9 为预定的节点停机使用客户机失败 切换 6.10 用 Oracle 复制实现失败切换 6.10.1 基本复制 6.10.2 基本复制失败切换的优点 6.10.3 基本复制失败切换的缺点 6.11 将高级复制用于失败切换 6.11.1 高级复制失败切换的优点 6.11.2 高级复制失败切换的缺点 6.12 利用 Oracle Fail Safe 6.12.1 选择节点配置 6.12.2 Oracle Fail Safe 的优点 6.12.3 Oracle Fail Safe 的缺点 6.13 其他高可用性的选项 6.13.1 鞋带状预算的高可用性:传送备份 磁带 6.13.2 采用远程镜像 6.13.3 应用程序镜像 6.14 利用混合配置技术 6.14.1 利用并行服务器与远程热备用 数据库 6.14.2 利用 Oracle Fail Safe 与远程热 备用数据库(仅 Windows NT 平台有效) 6.14.3 利用热备用数据库与远程镜像 6.15 回顾 第7章 备份和恢复技术 7.1 备份选项 7.2 操作系统备份 7.2.1 冷备份 7.2.2 OFA 和备份 7.2.3 热备份 7.2.4 使备份方式的持续时间最小化 7.2.5 为什么不应备份联机重做日志 7.2.6 ARCHIVELOG 和 NOARCHIV- ELOG方式 7.2.7 为什么应使用 ARCHIVELOG 方式 7.2.8 为什么应该复用归档重做日志 7.3 服务器管理备份 7.4 逻辑备份 7.4.1 文本文件备份 7.4.2 逻辑控制文件备份 7.4.3 使用导出和导入 7.4.4 导入方式 7.4.5 增量、累积和完全的导出和导入 7.4.6 创建一致的导出文件 7.4.7 不能同时使用导出和归档重做日志 进行恢复 7.5 开发备份和恢复计划 7.5.1 常规的备份技巧 7.5.2 快速备份的技巧 7.6 恢复策略和情况 7.6.1 数据库恢复和涉及的数据库结构 组织 7.7 各种需要恢复的情形 7.8 恢复丢失的数据文件 7.8.1 SYSTEM 数据文件的丢失 7.8.2 包含活动回退段的数据文件的丢失 7.8.3 其他数据文件的丢失 7.8.4 执行表空间恢复 7.8.5 执行数据文件恢复 7.8.6 在没有数据文件备份时怎样进行 恢复 7.8.7 恢复丢失的临时表空间 7.8.8 只读表空间丢失 7.8.9 索引表空间丢失 7.9 恢复联机重做日志 7.9.1 联机重做日志组某个成员丢失 7.9.2 非活动的重做日志组丢失 7.9.3 活动重做日志组丢失 7.10 恢复丢失的控制文件 7.10.1 被复用的控制文件成员丢失 7.10.2 控制文件完全丢失 7.11 回顾 第8章 性能优化 8.1 优化系统全局区域的技术 8.1.1 怎样优化数据缓冲区高速缓存 8.1.2 度量和优化库高速缓存的性能 8.1.3 度量和优化字典高速缓存的性能 8.1.4 怎样估计应用程序的效能 8.2 固定应用程序代码 8.2.1 怎样确定应该固定的对象 8.2.2 怎样确定当前固定的程序对象 8.2.3 怎样固定应用程序代码 8.2.4 使用 DBMS_SHARED_POOL.KEEP 的技巧 8.2.5 怎样生成进行固定操作的脚本 8.2.6 使用 DBMS_SHARED_POOL .UNKEEP 的技巧 8.3 优化数据排序的技术 8.3.1 在内存中进行全部或大部分排序 8.3.2 最小化排序时的空间管理开销 8.3.3 使用多个 TEMP 表空间分布排序 8.4 优化数据存储的技术 8.4.1 使行链接和行迁移最小化 8.4.2 检测行链接/迁移 8.4.3 确定模式中的链接行 8.4.4 防止和纠正行链接/迁移 8.4.5 行链接/迁移的技巧 8.4.6 使可用空间碎片最小化 8.4.7 使区增长最小化 8.4.8 怎样确定代价最高的查询 8.5 跟踪 SQL 8.5.1 设置用户会话内的跟踪 8.5.2 使用 DBMS_SYSTEM 设置用户 会话外的跟踪 8.5.3 生成系统跟踪 8.5.4 使用 tkprof 解释跟踪文件 8.5.5 使用 AUTOTRACE 获得 SQL 语句 执行计划和统计数据 8.6 优化回退段 8.6.1 最小化回退段争用 8.6.2 使动态扩充最小化 8.6.3 分布回退段的 I/O 8.7 优化索引 8.7.1 怎样确定和重建产生碎片的索引 8.7.2 怎样确定表的索引 8.8 优化磁盘 I/O 8.8.1 怎样查找和避免 I/O 热点 8.8.2 使用原始文件系统 8.9 生成优化程序统计数据 8.9.1 使用 DBMS_UTILITY.ANALYZE _SCHEMA收集统计数据 8.9.2 使用 DBMS_UTILITY.ANALYZE _DATABASE 收集统计数据 8.9.3 使用 DBMS_STATS 收集性能统计 数据 8.10 优化环境 8.10.1 怎样优化 Net8/SQL*Net 8.10.2 监控并优化系统资源 8.11 回顾 第9章 Oracle8i 的新特性 9.1 新的性能优化特性 9.1.1 设计的稳定性和存储概要 9.1.2 排序改进 9.1.3 实体化视图 9.1.4 利用 DBMS_STATS 收集性能统计 数据 9.2 新索引类型 9.2.1 基于函数的索引 9.2.2 反向键索引 9.2.3 降序索引 9.2.4 索引编排表 9.2.5 管理索引的新特性 9.3 新备份和恢复特性 9.3.1 多目标归档 9.3.2 多归档日志进程 9.3.3 使用 LogMiner 9.3.4 快速启动恢复 9.4 新导出/导入特性 9.4.1 使用多个导出/导入转储文件 9.4.2 选择性的查询导出 9.4.3 预先计算优化程序统计数据的导出 /导入 9.4.4 可移动表空间 9.4.5 混合导出/导入特性 9.5 新备用数据库特性 9.5.1 归档重做日志的自动传送 9.5.2 启用管理恢复 9.5.3 以只读方式打开备用数据库 9.6 管理作业队列的新特性 9.7 管理存储和对象的新功能 9.7.1 重新定位和组织表 9.7.2 删除表中的列 9.7.3 将表列标记为不可用 9.7.4 本地管理的表空间 9.8 回顾 第10章 Internet DBA 10.1 Oracle8i — Internet 数据库 10.2 Oracle 与 Java 10.3 Oracle8i Java 虚拟机 10.4 Java VM 与 Oracle8i 服务器怎样通讯 10.5 Java 与 Oracle 应用程序服务器 10.6 Oracle Jdeveloper 10.7 与 Java 有关的初始化参数 10.8 Oracle Internet 文件系统 10.9 Oracle 应用服务器概览 10.10 OAS 组件 10.11 调整 OAS 内存请求 10.12 检查建议的最小硬件 10.13 设计 Oracle 应用服务器配置 10.14 Oracle 应用服务器的安装 10.15 使用 OAS 管理程序 10.16 怎样启动和停止 OAS 组件 10.17 OAS 怎样利用负载平衡 10.18 监控 CPU 的消耗情况 10.19 监控内存消耗 10.20 回顾 第11章 使用 Oracle 提供的程序包 11.1.1 程序包:它们是什么? 11.1 DBMS_JOB 和 DBMS_IJOB 程序包 11.1.1 Oracle 作业队列的概念 11.1.2 配置 SNP 进程的技巧 11.1.3 利用 DBMS_JOB 和 DBMS_IJOB 11.1.4 调度作业 11.1.5 更改作业 11.1.6 停止作业 11.1.7 其他作业队列过程 11.1.8 监控作业队列 11.1.9 管理属于其他用户的作业 11.1.10 利用作业队列定期分析模式 对象 11.2 DBMS_SYSTEM 程序包 11.2.1 使用 DBMS_SYSTEM.SET_SQL _TRACE_IN_SESSION 11.2.2 使用 DBMS_SYSTEM.SET_EV 11.2.3 使用 DBMS_SYSTEM.READ_EV 11.2.4 确定当前会话中设置的事件级别 11.2.5 其他 DBMS_SYSTEM 程序 11.3 DBMS_SPACE 程序包 11.3.1 使用 DBMS_SPACE.UNUSED _SPACE 11.3.2 使用 DBMS_SPACE.FREE _BLOCKS 11.4 DBMS_SHARED_POOL 程序包 11.4.1 使用 DBMS_SHARED_POOL.SIZES 过程 11.4.2 使用 DBMS_SHARED_POOL.SIZES 的技巧 11.4.3 使用 DBMS_SHARED_POOL.KEEP 过程 11.4.4 使用 DBMS_SHARED_POOL.KEEP 的技巧 11.4.5 使用 DBMS_SHARED_POOL.UNKEEP 过程 11.4.6 使用 DBMS_SHARED_POOL.UNKEEP 的技巧 11.4.7 使用 DBMS_SHARED_POOL .ABORTED_REQUEST_THRESHOLD 过程 11.4.8 使用 DBMS_SHARED_POOL .ABORTED_REQUEST_THRESHOLD 的技巧 11.5 DBMS_UTILITY 11.5.1 使用 DBMS_UTILITY.COMPILE _SCHEMA过程 11.5.2 使用 DBMS_UTILITY.COMPILE _SCHEMA 的技巧 11.5.3 使用 DBMS_UTILITY.ANALYZE _SCHEMA 11.5.4 使用 DBMS_UTILITY.ANALYZE _DATABASE 11.5.5 使用 DBMS_UTILITY.GET _PARAMETER_VALUE 11.5.6 使用 DBMS_UTILITY.PORT _STRING 11.5.7 使用 DBMS_UTILITY.DB _VERSION 11.5.8 使用 DBMS_UTILITY.MAKE_DATA _BLOCK_ADDRESS 11.5.9 使用 DBMS_UTILITY.DATA_BLOCK _ADDRESS_FILE 11.5.10 使用 DBMS_UTILITY.DATA_BLOCK _ADDRESS_BLOCK 11.5.11 使用 DBMS_UTILITY.IS_PARALLEL _SERVER 11.5.12 使用 DBMS_UTILITY.CURRENT _INSTANCE 11.5.13 使用 DBMS_UTILITY.ACTIVE _INSTANCES 11.6 DBMS_ROWID 11.6.1 使用 DBMS_ROWID.ROWID _BLOCK_NUMBER 11.6.2 使用 DBMS_ROWID.ROWID _CREATE 11.6.3 使用 DBMS_ROWID.ROWID _OBJECT 11.6.4 使用 DBMS_ROWID.ROWID _RELATIVE_FNO 11.6.5 使用 DBMS_ROWID.ROWID_ROW _NUMBER 11.6.6 使用 DBMS_ROWID.ROWID_TO _ABSOLUTE_FNO 11.6.7 使用 DBMS_ROWID.ROWID _TO_EXTENDED 11.6.8 使用 DBMS_ROWID.ROWID_TO _RESTRICTED 11.6.9 使用 DBMS_ROWID.ROWID _TYPE 11.6.10 使用 DBMS_ROWID.ROWID _VERIFY 11.6.11 使用 DBMS_ROWID.ROWID _INFO 11.7 回顾 第12章 Oracle 安装和升级 12.1 Oracle 软件 12.2 Oracle 数据库 12.3 配置 Oracle 文件系统 12.3.1 最佳灵活结构 12.3.2 怎样配置一个符合 OFA 的 Oracle 文件系统 12.3.3 怎样命名数据库文件 12.3.4 为什么应对参数文件使用链接 12.4 安装 Oracle 服务器软件 12.5 安装前阶段 12.5.1 规则1:确保软件产品版本的兼 容性 12.5.2 规则2:为 Oracle 配置操作系统 12.5.3 规则3:分配足够的磁盘空间 12.5.4 规则4:配置安装环境 12.6 安装阶段 12.6.1 步骤1:配置安装环境 12.6.2 步骤2:启动 Oracle 安装 12.6.3 步骤3:选择和安装软件产品 12.7 安装后阶段:坚持五点 12.7.1 步骤1:检查错误 12.7.2 步骤2:运行 root.sh 脚本 12.7.3 步骤3:验证文件的许可权 12.7.4 步骤4:测试 Oracle 安装 12.7.5 步骤5:配置环境 12.7.6 其他安装后的任务 12.8 快速进行 Oracle 安装的五个技巧 12.8.1 从硬盘的准备区域进行安装 12.8.2 不安装文档 12.8.3 不安装产品的文档 12.8.4 不选择重新连接可执行文件 12.8.5 设置环境变量 DEF_INSTALL = TRUE 和 NO_README = TRUE 12.9 在 Windows NT 上安装 Oracle 12.9.1 安装前阶段 12.9.2 安装阶段 12.9.3 安装后阶段 12.10 修补、升级和移植 Oracle 12.10.1 始终将 Oracle 软件安装到新 的 ORACLE_HOME 目录中 12.10.2 数据库升级前进行数据库冷备份 12.10.3 移植 Oracle 12.10.4 使用 Migration Utility 移植到 Oracle 8.0.x 12.10.5 用导出和导入移植 12.11 安装 UNIX 上的 Oracle 8 12.11.1 安装前阶段 12.11.2 安装阶段 12.11.3 安装后阶段 12.12 回顾 附录 A Oracle 服务器介绍 附录 B 动态性能(V$)视图
1 Oracle9i 数据库系统概述 2007.5 2 提 纲 第一节 Oracle9i系统概述 第二节 Oracle9i数据库体系结构 第三节 Oracle9i数据库的模式(schema)对象 第四节 Oracle9i数据库的安装 第五节 Oracle9i数据库目录结构和注册表信息 第六节 Oracle9i数据库数据字典 第七节 Oracle9i分布式数据库体系结构 第八节 Oracle9i数据库的启动和关闭 3 第一节:Oracle9i系统概述 Oracle9i 是关系对象型数据库管理系统 。Oracle9i 提供以下三种版本: Oracle9i标准版:包括一套完全集成的易用管理 工具、完全分布式的复制能力以及web功能。适合 小型企业的单一服务器环境。 Oracle9i企业版:包括大数据量的在线事务处理 (OLTP)环境、查询密集型数据仓库以及要求苛 刻的互联网应用等。能够满足当今企业关键任务应 用的可用性与可伸缩性需要。 Oracle9i个人版:支持需要与Oracle9i标准版和 Oracle9i企业版完全兼容的单一用户开发与部署。 4 第二节:Oracle9i数据库体系结构 Oracle9i数据库的体系结构可以从以下四个 方面来理解: 物理存储结构 逻辑存储结构 内存结构 进程结构 5 一、物理存储结构 从数据的物理存储结构来看, Oracle9i数 据库由三类物理文件组成: 数据文件(datafile) 重做日志文件(redolog file) 控制文件(control file) 1、数据文件------存储了基表数据、索引数 据、回退数据、临时数据、以及数据字典 基表数据。每个数据库至少由一个或多个 数据文件组成。 6 2、重做日志文件------存储数据库的修改前、 修改后的信息以及事务标志。在数据库实例 (instance)恢复期间,Oracle使用重做日志 文件恢复所有用户对数据库所做的修改操作。 每个数据库必须拥有两个或两个以上的重做日 志文件。 3、控制文件------是一个二进制文件。存储了 数据库名、数据库的数据文件和联机重做日志 文件的名称和位置、数据库建立日期、数据库 的当前序列号、数据库检查点、数据库中表空 间名等信息。每个Oracle数据库要求至少有两 个或两个以上的控制文件。 7 除了以上三类物理文件之外,数据库中还包 含初始化参数文件、口令文件、归档的日志 文件等物理文件。 初始化参数文件在数据库启动和数据库性能 调优时使用,记录了数据库各参数的值。 归档日志文件只有在数据库运行在归档方式 时才有,是由ARCH归档进程将写满的重做 日志文件拷贝到指定的存储设备时产生的。 口令文件是为了使用操作系统认证Oracle用 户而设置的。 8 二、逻辑存储结构 从逻辑的角度来看,数据库由多个表空 间组成,每个表空间下存放了多个段,每 个段又分配了多个区,并且随着段中数据 的增加区的个数也会自动增加,每个区应 该由连续的多个数据块组成。 逻辑结构与物理结构的对应关系如图所示 9 数据库 表空间 段 区 数据块 数据文件 操作系统物理块 逻辑 物理 10 1、 表空间(tablespace) 表空间是一个逻辑存储单元,Oracle将数据 库所有数据文件所占的磁盘空间划分为一个 或多个表空间进行存储管理。 一个表空间可以跨越数据库的多个数据文 件,但一个数据文件只能属于一个表空间。 一个数据库至少包含SYSTEM表空间、 UNDOTBS表空间、TEMP表空间、USERS 表空间、INDX表空间等多个表空间,分别存 放数据字典基表数据、回退数据、临时数据、 基表数据、索引数据等数据。 11 2、 段(segment) 表空间的下一级逻辑存储单元称为段 (segment),一个段只能存储同一种模式 对象(schema object)。段数据不能跨越 表空间,但段数据可以跨越同一表空间的多 个数据文件。根据段中所存储的模式对象不 同,段分成以下几类: 数据段:存储表数据,当用户建立表时, Oracle自动建立数据段。数据段一般存储在 USERS表空间下。 12 索引段:存储数据库索引数据,当执行 CREATE INDEX语句建立索引时,Oracle自动 建立索引段。索引段一般存储在INDX表空间下 临时段:在执行查询、排序、等操作时, Oracle自动在TEMP表空间上创建一个临时段。 撤消段(回退段):记录数据库中所有事务 修改前的数据值,这些数据用于读一致性、回 退事务、恢复数据库实例等操作。 Oracle系统 将回退数据(撤消数据)存储在UNDOTBS表 空间下。 系统引导段:记录数据库数据字典的基表信 息。数据字典的基表一般存储在SYSTEM表空 间下。 13 3、 区(extent) Oracle

3,491

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧