实例管理
实例管理
使用数据库管理工具
Oracle数据库提供了多种数据库管理工具,主要包括:
-
SQLPlus - 命令行工具,用于执行SQL语句和脚本。
-
SQL Developer - 图形界面数据库开发工具。
-
Enterprise Manager - 图形界面综合管理控制台。
-
PL/SQL Developer - PL/SQL程序开发环境。
-
exp/imp - 数据泵导入导出实用工具。
-
RMAN - 备份和恢复管理命令行工具。
-
SQL Loader - 用于加载数据的实用工具。
-
OEM Grid Control - 用于集中管理多个数据库。
-
Oracle Golden Gate - 用于数据库复制和数据可用性的工具。
-
APEX - 用于开发Web应用和报表的低代码平台。
熟练使用这些数据库管理工具,可以大大提高管理Oracle数据库的效率。
理解初始化参数文件
初始化参数文件是Oracle数据库的一个重要配置文件,数据库管理员需要了解以下关于参数文件的关键知识:
-
参数文件的作用 - 描述数据库和实例的初始化配置。
-
两种参数文件 - 服务器参数文件(SPFILE)和客户端参数文件(PFILE)。
-
参数的作用域 - 实例级参数和会话级参数。
-
参数类别 - 包括内存,IO,兼容性,安全等参数类别。
-
设置关键参数 - 如SGA大小,processes数等重要参数。
-
查看和修改参数 - 使用SHOW PARAMETER, ALTER SYSTEM。
-
参数依赖关系 - 一些参数设置存在依赖关系。
-
生效时机 - 大多数参数都需要重启实例才能生效。
-
载入顺序 - 参数文件在控制文件之后,数据库打开之前载入。
-
默认参数文件 - Oracle提供了默认的初始化参数文件。
明白参数文件的组织结构,及其对数据库行为的控制作用,有助于配置和优化数据库实例。
静态和动态参数文件
Oracle数据库的参数文件有静态参数文件和动态参数文件两种:
- 静态参数文件(PFILE)
- 文本格式,需要手动修改和生效。
- 动态参数文件(SPFILE)
- 二进制格式,可以动态修改。
主要区别:
-
修改方式 - SPFILE可以动态修改,PFILE需要手动编辑。
-
生效时机 - SPFILE实时生效,PFILE需要重启实例。
-
存储位置 - SPFILE存储在数据库中,PFILE存储在服务器的文件系统中。
-
修改工具 - SPFILE用ALTER SYSTEM修改,PFILE用文本编辑器。
-
默认位置 - Oracle默认从SPFILE读取参数。
-
服务器角色 - SPFILE用于生产环境,PFILE用于测试开发。
-
可读性 - PFILE文本格式更易阅读。
-
可运维性 - SPFILE方便动态配置调整。
-
可靠性 - SPFILE存储在数据库中更可靠。
两者各有优势,合理运用可以提高可管理性。
初始化参数文件
主要组成部分
Oracle数据库的初始化参数文件包含启动和运行数据库实例所需的重要配置信息。参数文件的主要组成部分包括:
-
实例名称 - 用实例名唯一标识一个数据库实例。
-
内存参数 - 指定SGA,PGA等内存结构的大小。
-
文件路径 - 数据文件,控制文件,日志文件的存放位置。
-
文件数量 - 指定需要的重做日志组数等。
-
处理器和进程 - 设置并行执行的CPU数,进程数等。
-
优化器参数 - 确定查询优化器的工作模式。
-
安全参数 - 如密码生存时间和复杂度要求。
-
审计参数 - 启用审计功能所需的配置。
-
兼容性参数 - 对旧版数据库行为的支持设置。
-
环境变量 - NLS设置,时间和日期格式等。
-
限制参数 - 设置限制数据库资源使用情况的配额参数。
-
日志记录级别 - 设定日志和追踪文件的详细程度。
合理配置参数文件对数据库实例的正常运转至关重要。
主要特点
初始化参数文件是Oracle数据库启动和运行所必须的一个配置文件,它控制着数据库实例的各方面行为。参数文件的主要特点包括:
-
以纯文本文件形式存储,通常命名为init.ora。
-
包含innacle名称、内存参数、文件参数、优化器参数等信息。
-
可以是静态的PFILE,也可以是动态的SPFILE。
-
PFILE修改后需要重启数据库实例才能生效。
-
SPFILE支持ALTER SYSTEM动态修改参数。
-
参数可以是实例级参数,也可以是部分会话级参数。
-
参数可以是静态的,也可以是动态的。
-
参数文件在实例启动的早期阶段被读取。
-
包含很多重要参数,需要妥善配置。
-
合理设置参数对性能和稳定性至关重要。
管理员有必要全面了解参数文件,并保证参数配置的正确性。
基本参数
Oracle数据库中一些常用和基本的初始化参数包括:
-
DB_NAME - 指定数据库的唯一名称
-
DB_DOMAIN - 指定数据库所在的网络域名
-
DB_BLOCK_SIZE - 设置数据块的大小
-
SGA_TARGET - 系统全局区域(SGA)的总大小
-
PGA_AGGREGATE_TARGET - 进程全局区域(PGA)的总大小
-
PROCESS - 设置最大进程数
-
OPEN_CURSORS - 设置单个进程所能打开的最大游标数
-
LOG_ARCHIVE_DEST - 设置存档重做日志的目标位置
-
DISK_ASYNCH_IO - 是否支持磁盘的异步I/O
-
UNDO_TABLESPACE - 设置撤销信息的表空间
-
REMOTE_LOGIN_PASSWORDFILE - 口令文件的位置
-
AUDIT_TRAIL - 审计是否开启和审计类型
这些基本参数对数据库运行有重大影响,需要仔细配置。
更改参数
在Oracle数据库中可以通过以下方式修改初始化参数:
- 静态参数文件(PFILE)
- 使用文本编辑器直接编辑参数文件,重启数据库使参数生效。
- 动态参数文件(SPFILE)
- 使用ALTER SYSTEM SET 参数名 = 值动态修改参数值。
- ALTER SYSTEM
- 修改只在当前实例有效的临时参数。重启后失效。
- ALTER SESSION
- 修改只在当前会话有效的临时参数。
- CREATE PFILE
- 从SPFILE创建PFILE参数文件。
- CREATE SPFILE
- 从PFILE创建SPFILE参数文件。
- 服务器管理器
- 通过图形界面如OEM修改SPFILE参数。
注意参数修改的作用域和生效时间,避免影响数据库实例的正常运行。测试后再应用到生产环境。
启动和关闭Oracle数据库实例
启动数据库侦听器
可以通过以下步骤启动Oracle数据库的侦听器进程:
-
确认listener.ora文件配置正确。该文件定义了侦听器的关键参数,如监听的网络端口。
-
设置环境变量:
- 在Linux下设置ORACLE_HOME和ORACLE_SID。
- 在Windows下可以通过TNSNames.ora引用侦听器。
- 使用lsnrctl工具启动侦听器:
- lsnrctl start 启动侦听器。
- lsnrctl status 检查侦听器状态。
-
在数据库中配置本地网络服务,与侦听器进行注册。
-
在客户端连接字符串中指定主机名/IP地址和服务名或SID。
-
在防火墙中开启数据库侦听端口。
-
确认客户端可以连接到侦听器端口并获取响应。
正确配置和启动侦听器是数据库正常运行的必要步骤。
启动和关闭数据库
可以通过以下步骤来启动和关闭Oracle数据库:
- 启动数据库:
- 以SYSDBA身份登录SQLPlus。
- 执行startup命令启动数据库实例。
- 可以用startup mount仅启动实例。
- 打开数据库:
- startup后执行alter database open打开数据库。
- 关闭数据库:
- 以SYSDBA身份登录SQLPlus。
- 执行shutdown immediate关闭数据库。
- 只关闭实例:
- shutdown transactional本地等待当前会话结束。
- shutdown transactional global强制结束会话。
-
若无法关闭,可用shutdown abort强制终止。
-
启动和关闭数据库时,要查看日志确认无错误。
熟练掌握启动关闭数据库的相关命令,是DBA的基础操作之一。
查看警报日志,访问动态性能视图
警报日志
Oracle数据库的警报日志(Alert Log)记录了数据库运行过程中的重要信息,用于数据库诊断和故障排除。
警报日志的主要特征包括:
-
记录数据库错误信息 - 任何影响数据库运行的错误详细信息。
-
记录实例操作信息 - 启动、关闭数据库,打开数据文件等操作。
-
后台进程信息 - 服务器,备份等进程的状态信息。
-
致命错误会中止实例 - 严重错误会导致实例失败。
-
轮转记录文件 - 当日志文件达到指定大小时自动轮转。
-
默认存储在数据库目录 - 可以修改目标位置。
-
使用文本编辑器查看 - 警报日志以纯文本格式存储。
-
重要诊断依据 - 警报日志是排查问题的重要信息来源。
-
日志级别可配置 - 可以设置记录日志的级别。
DBA需要定期查看警报日志,发现并解决存在的问题。
DDL日志
DDL日志是Oracle数据库中用来记录DDL(数据定义语言)语句的日志文件,具有以下关键特点:
-
记录DDL语句 - INSERT/UPDATE/DELETE除外,主要针对对象的定义。
-
对象的创建、更改、删除 - 记录对表、视图、索引等对象的DDL操作。
-
默认不启用 - 需要通过参数AUDIT_TRAIL启用DDL日志。
-
存储在操作系统 - 默认存储在数据库主目录下的log子目录中。
-
以文本格式存储 - 可以用编辑器直接查看DDL日志。
-
一个日志文件一天 - 每天使用一个日志文件,文件名包含日期。
-
轮换和归档 - 达到阈值时轮换日志文件,并可以归档。
-
串行记录语句 - 语句按顺序逐行记录,没有并发问题。
-
重建对象定义 - 可以通过解析日志重新构建对象。
-
查看变更历史 - 分析对象结构的变化。
DDL日志是审计数据库变更的重要工具。
动态性能视图
Oracle数据库提供了一系列V$开头的动态性能视图,主要用于监视和诊断数据库状态。
动态性能视图的关键功能包括:
-
实时监控数据库 - 动态反映当前数据库状态。
-
无需访问数据文件 - 通过内存结构获取运行信息。
-
包含性能指标 - 统计数据如物理读写、每秒执行数等。
-
包含会话信息 - 当前连接,正在执行的语句等。
-
包含内存信息 - 缓冲区,共享池等内存参数。
-
包含后台进程信息 - Checkpoint,LogWriter等进程状态。
-
包含事件信息 - 等待事件,当前阻塞会话等。
-
包含历史统计数据 - 可计算增量occupied指标来度量趋势。
-
与AWR报告集成 - AWR使用V$视图进行快照统计。
-
基础诊断工具 - 运维人员必备工具之一。
熟练使用V$视图可以全面了解数据库运行情况。