### 非常不错的DBA基础文档
#### Oracle 9i 管理:基础知识概览
本文档针对Oracle 9i数据库管理的基础知识进行了详细介绍,适合初学者学习使用。主要内容包括数据库开停机操作、数据库创建、数据字典、控制文件、重做日志文件、表空间与数据文件管理、存储结构、还原数据管理以及表和索引的管理等。
#### 数据库开停机操作
- **启动过程**:关闭数据库后,依次经过`nomount`、`mount`状态,最终达到`open`状态。
- `shutdown`: 关闭数据库实例。
- `nomount`: 加载参数文件和控制文件,但不加载任何数据文件。
- `mount`: 加载参数文件、控制文件,并打开所有数据文件,此时可以进行数据文件的备份等操作。
- `open`: 完全启动数据库,可以进行读写操作。
- **关闭过程**:从`open`状态逐步回到`shutdown`状态。
- **DB状态切换**:通过不同的命令实现不同状态之间的切换。
- **数据库开停机示例**:包括使用诊断文件监视实例状态的方法,如警报日志文件、后台跟踪文件等。
#### 创建数据库
- **权限要求**:需具备`sysdba`权限。
- **数据库类型**:根据实际需求选择不同的数据库类型。
- **环境变量定义**:定义Oracle用户的环境变量,如`ORACLE_HOME`、`ORACLE_SID`等。
- **手动创建数据库**:使用`CREATE DATABASE`命令。
- 需指定数据库名称、数据文件位置、表空间等。
- **使用OMF创建数据库**:OMF(Oracle Managed Files)简化了文件管理和备份过程。
- **数据库创建结果**:确认数据库成功创建并可以正常使用。
#### 数据字典
- **数据字典视图分类**:分为用户相关的视图和所有用户的视图。
- **动态性能表**:提供实时性能监控数据,如会话状态、锁信息等。
#### 控制文件
- **控制文件内容**:包含数据库的物理结构信息。
- **多元备份**:当使用`spfile`时,可以通过`ALTER DATABASE BACKUP CONTROLFILE TO TRACE`命令生成控制文件脚本;若使用`pfile`,则需要手动备份控制文件。
- **获取控制文件信息**:使用`SHOW PARAMETER control_files`命令查看当前配置。
- **备份控制文件**:在Windows环境下,可以通过复制控制文件的方式进行备份。
- **控制文件管理**:包括添加、移动和重建控制文件的操作。
#### 重做日志文件
- **特征**:记录所有事务对数据库所做的更改。
- **联机重做日志文件数量**:通过`V$PARAMETER`视图查询。
- **LGWR写入条件**:当重做日志缓冲区满、提交操作发生或每3秒定时器触发时,LGWR进程会将数据写入联机重做日志文件。
- **重做日志文件管理**:包括添加、删除、重定位或重命名重做日志文件组/成员的操作。
#### 表空间和数据文件管理
- **表空间类型**:系统表空间、用户表空间、临时表空间等。
- **创建表空间**:使用`CREATE TABLESPACE`命令。
- **表空间管理**:包括还原、调整大小、移动数据文件等操作。
- **使用OMF管理表空间**:通过设置相关参数实现自动化管理。
#### 存储结构与关系
- **存储与结构关系**:了解Oracle如何存储数据。
- **段类型**:如数据段、索引段等。
- **区段(Extent)**:分配给特定对象的空间单位。
- **数据库块**:最小的I/O单元。
- **数据块管理**:手动管理或自动管理数据块。
#### 管理还原数据
- **还原段**:用于存储事务处理过程中未提交的数据。
- **自动还原管理**:通过`UNDO_MANAGEMENT`参数开启或关闭。
- **UNDO表空间**:专门用于存储还原数据的表空间。
- **调整UNDO表空间大小**:确保有足够的空间用于存储还原数据。
- **还原数据统计信息**:通过`V$UNDOSTAT`视图查看。
#### 管理表
- **表类型**:常规表、分区表、索引组织表等。
- **创建表**:使用`CREATE TABLE`命令。
- **表管理**:包括创建、删除、更改表结构等操作。
- **表列管理**:增删改表中的列。
#### Index的管理
- **索引分类**:逻辑上分为唯一索引、非唯一索引等;物理上分为B树索引、位图索引等。
- **B-树索引**:最常用的索引类型,支持高效检索。
- **位图索引**:适用于低基数列。
- **创建索引**:使用`CREATE INDEX`命令创建不同类型的索引。
本文档提供了Oracle 9i数据库管理的基础知识概览,涵盖了数据库启动停止、创建、数据字典、控制文件、重做日志文件、表空间与数据文件管理、存储结构、还原数据管理以及表和索引的管理等多个方面,是Oracle DBA入门学习的重要参考资料。