本来这篇打算承接上篇,接着介绍Oracle数据库表的管理的,但考虑到需要实操,在这之前先深入介绍下Oracle DB实例的基本管理,包括一些常用的管理工具和数据库启动过程的各个阶段和几种带选项的关闭方式的会有什么影响。学习知识就得循序渐进,每个知识点揉碎了再彻底消化。
一。Oracle(实例)管理工具:常用的Oracle管理工具主要有:
- SQL*Plus 为数据库操作提供了一个命令行界面
– 执行数据库管理操作 ;
– 通过执行 SQL 命令在数据库中查询、插入、更新或删除数据;
2.SQL Developer:
– 是一个用于访问 Oracle DB 实例的图形用户界面 ;
– 支持以 SQL 和 PL/SQL 进行开发 – 在 Oracle DB 的默认安装中包含,免费。 - Oracle Enterprise Manager(OEM): Oracle企业管理器(Oracle Enterprise Manager, OEM)是基于Web界面的Oracle数据库管理工具。后续会重点介绍;
- 数据库配置助手(DBCA):后续会介绍。
- 其他第三方管理工具。
以上管理软件的使用都很简单,再次不做太多介绍(OEM后续会重点介绍下),大家跟着操作即可。
二.Oracle DB 实例的启动过程:
1.初始化参数文件的配置:
• 服务器参数文件(SPFILE):是首选的初始化参数文件,数据库启动时会自动搜
索此文件。这个文件是由数据库服务器写入和读取的二进制文件,不能手动进行编
辑。此文件不受数据库关闭和启动的影响。文件的默认名称为 spfile.ora。
• 文本初始化参数文件(PFILE):这个初始化参数文件可由数据库服务器读取,但
不由其写入。必须使用文本编辑器手动设置和更改其中的初始化参数设置,这些设
置也不受数据库关闭或启动的影响。此文件的默认名称为 init.ora,如果启动
时未找到 SPFILE,则自动搜索此文件。
• 基本参数是指为了让数据库能够良好运行而可能需要设置的参数。
• 其它所有参数都被视为高级参数,高级参数大约有 300多 个(11g以上版本更多)。只有极少数情况下,
才需要修改高级参数来获得最优性能。
•以下参数Oracle数据库正常运行所必需的,它们的正确配置对于确保数据库的性能、安全性和可靠性至关重要:
**CLUSTER_DATABASE:**与集群数据库相关的参数;
**COMPATIBLE:**数据库的兼容性级别,影响数据库的一些特性和行为;
**CONTROL_FILES:**控制文件的路径和数量,用于数据库的恢复和备份;
**DB_BLOCK_SIZE:**数据库块的尺寸,影响数据库的存储和性能;
DB_CREATE_FILE_DEST 和 DB_CREATE_ONLINE_LOG_DEST_n:指定创建文件和在线日志文件的存储位置;
DB_DOMAIN:数据库域名,用于网络通信;
**DB_NAME:**数据库的名称;
**DB_RECOVERY_FILE_DEST 和 DB_RECOVERY_FILE_DEST_SIZE:**指定恢复文件的存储位置和大小,用于数据恢复;
**INSTANCE_NUMBER:**实例编号,用于多实例环境;
NLS_DATE_LANGUAGE 和 NLS_TERRITORY:影响日期和货币的格式化显示;
**OPEN_CURSORS:**允许同时打开的游标数量,影响并发性能;
**PGA_AGGREGATE_TARGET 和 SGA_TARGET:**指定PGA和SGA的大小,影响数据库的性能;
**PROCESSES:**允许的最大进程数,影响并发连接数;
**REMOTE_LOGIN_PASSWORDFILE:指定远程登录密码文件的位置,用于外部认证;
SESSIONS:**允许的最大会话数,影响用户同时访问数据库的能力;
**UNDO_TABLESPACE:**指定撤销数据的存储空间,用于事务回滚和多点恢复;
最最重要的初始化参数:
• MEMORY_TARGET 指定数据库实例的可用内存。数据库将内存调整为 MEMORY_TARGET 值,并根据需要自动减小或增加 SGA 和 PGA。
• SGA_TARGET 指定所有 SGA 组件的可用内存总量。如果没有设置 MEMORY_TARGET,而是指定了 SGA_TARGET,则只会自动调整以下内存池的大小:
a 缓冲区高速缓存 (DB_CACHE_SIZE)
b.共享池 (SHARED_POOL_SIZE)
c. 大型池 (LARGE_POOL_SIZE)
d. Java 池 (JAVA_POOL_SIZE)
e. 流池 (STREAMS_POOL_SIZE)
修改初始化参数值
• 静态参数:
– 只能在参数文件中更改;
– 修改命令:ALTER SYSTEM SET = SCOPE=SPFILE;
– 必须重新启动实例才能生效
– 总共约 100多个参数 ;
• 动态参数:
– 可以在数据库联机时更改
– 可以在以下级别更改:
1.会话级别(ALTER SESSION SET …)
2. 系统级别(ALTER SYSTEM SET …)
– 在会话持续期间有效,或有效性取决于 SCOPE 设置: SCOPE=MEMORY 或 SPFILE 或 BOTH
启动 Oracle DB 实例的阶段
Oracle数据库启动时会经历三个主要的阶段,每个阶段都有特定的任务和过程:
启动实例(Startup Instance):这个阶段主要是分配内存和启动后台进程,以便数据库可以运行。
装载数据库(Mount Database):在这个阶段,Oracle将数据库文件(如数据文件、控制文件和日志文件)装载到实例中,但此时不对数据进行操作。
打开数据库(Open Database):在这个阶段,Oracle将打开数据库,使其对用户可见并允许访问和修改数据。
平时维护和管理可以根据不同的DB所处的当前环境(比如:冷备份/恢复,故障处理),有选择地启动DB到以上三个阶段。
1.NOMOUNT阶段:
这个阶段DB的任务:
1. 搜索参数文件:spfile.ora -> spfile.ora -> init.ora;
2. 分配 SGA 内存;
3. 启动后台进程 ;
4. 打开 alert_.log 文件和跟踪文件;
2.MOUNT阶段
这个阶段DB的任务:
- 将数据库与之前启动的实例关联。
- 定位并打开参数文件中指定的所有控制文件。
- 读取控制文件,获取数据文件和联机重做日志文件的名称和状态。
3.OPEN阶段:
- 打开数据文件
- 打开联机重做日志文件
4.对应SQLPLUS脚本:
SQL> startup
SQL> startup nomount
SQL> alter database mount;
SQL> alter database open;
关闭 Oracle DB 实例
1.DB关闭模式
Shutdown modes:
A = ABORT 强制终止/强制关闭
I = IMMEDIATE 立即关闭
T = TRANSACTIONAL 事务保证关闭
N = NORMAL 普通关闭
SHUTDOWN默认为SHUTDOWN NORMAL
2.不同关闭选项对应的DB状况
SHUTDOWN NORMAL 正常关闭模式,如果未指定任何模式,则NORMAL是默认的关机模式。正常关闭模式下关闭将继续进行以下情况:
1.无法建立新的连接。
2.Oracle服务器在完成关闭之前会等待所有用户断开连接。
3.数据库高速缓冲区缓存和重做日志缓冲区被写入磁盘。
4.终止后台进程,并从内存中删除SGA。
5.在关闭实例之前,Oracle服务器会关闭并卸除数据库。
6.下次启动不需要实例恢复。
SHUTDOWN TRANSACTIONAL 以保证事务方式关闭模式,在TRANSACTIONAL模式下的关闭可防止客户端丢失数据,包括其当前活动会话的结果。以保证事务方式关闭下关闭将继续进行以下情况:
1.没有客户端可以在此实例上启动新事务。
2.当客户端结束正在进行的事务时,客户端将断开连接。
3.完成所有事务后,将立即关闭。
4.下次启动不需要实例恢复。
SHUTDOWN IMMEDIATE 立即关闭模式,在立即关闭模式下关闭将继续进行以下情况:
1.Oracle数据库抛弃尚未完成的语句
2.Oracle服务器不等待当前连接到数据库的用户直接断开连接。
3.Oracle服务器回滚,活动事务并断开所有已连接用户的连接。
4.在关闭实例之前,Oracle服务器会关闭并卸除数据库。
5.下次启动不需要实例恢复。
SHUTDOWN ABORT 强制关闭模式,如果在NORMAL,TRANSACTIONAL和IMMEDIATE模式下关闭均无效,则可以以强制关闭模式关闭当前数据库实例。强制关闭模式会造成:
1.Oracle服务器正在处理的当前SQL语句将立即终止。
2.Oracle服务器不等待当前连接到数据库的用户直接断开连接。
3.数据库高速缓冲区缓存和重做缓冲区未写入磁盘。
4.未提交的事务不会回滚。
5.该实例将终止而不关闭文件。
6.数据库未关闭或卸载。
7.下次启动时需要实例恢复,该恢复将自动发生。
注意:建议不要备份状态不一致的数据库。
startup force 命令:
startup force=shutdown abort + startup的组合,即强制关闭数据库+ 正常启动数据库
日志管理
1.查看预警日志
由于预警文件的大小会不断增长,因此可以定期备份该文件,并删除当前的预警文件。当数据库尝试再次写入预警文件时,就会重新创建一个新预警文件。 在以下目录都有一个预警日志文件:
• $ORACLE_BASE/diag/rdbms/<db_name>//alert 目录中有一个 XML 预警日志 log.xml 。
• $ORACLE_BASE/diag/rdbms/<db_name>//trace 目录中有一个 TEXT 预警日志 alter_.log 。
2.使用跟踪文件
• 每个服务器和后台进程都会向关联的跟踪文件写入信息。
• 错误信息写入相应的跟踪文件中。
• 自动诊断资料档案库 (ADR)。
– 包含整个系统的跟踪和事件记录信息的中央资料档案库;
– 存储数据库诊断数据,例如:
— 事件跟踪
— 预警日志
— 健康状况监视器报告
3.DDL日志文件
•通过将ENABLE_DDL_LOGGING设置为TRUE,可以将某些DDL语句捕获到DDL日志文件中。
•DDL日志包含每个DDL语句的日志记录。
•两个包含相同信息的DDL日志:
-XML DDL log: log.xml written to $ORACLE_BASE/diag/rdbms///log/ddl
-Text DDL: ddlsid.log written to $ORACLE_BASE/diag/rdbms///log
4.调试日志文件 BUG LOG
• 调试日志包含有关不会妨碍Oracle数据库组件正确运行的条件,状态或事件的警告。
•该日志供Oracle支持人员在诊断问题时使用。
•它包含在事件打包服务(IPS)事件包中。
•写入到 $ORACLE_BASE/diag/rdbms/<db_name>//debug.
动态性能视图
1.DICT 和 DICT_COLUMNS 视图包含这些动态性能视图的名称。动态性能视图以前缀“v$”开头,其数量超
过 590,可用于访问实例中不断变化的状态信息。
2.动态性能视图注意事项
• 动态性能视图是由 SYS 用户所有。
• 不同场合可使用的视图也不同:
– 实例已启动。
– 数据库已装载。
– 数据库已打开。
• 可以通过查询 V
F
I
X
E
D
T
A
B
L
E
查看所有视图名称。•动态性能视图通常称为“
v
FIXED_TABLE 查看所有视图名称。 • 动态性能视图通常称为“v
FIXEDTABLE查看所有视图名称。•动态性能视图通常称为“v 视图”,因为其数据是动态的,所以在这些视图上不能保证读取一致性。
• V$ 视图名称通常是单数形式,而数据字典中的 DBA_ 视图名称是复数形式。
数据字典
1.数据字典概述:
•数据字典记录了数据库的元数据,其中包含数据库中所有对象的名称和属性。
• 创建或修改任何对象都会同时更新数据字典的内容。
2.数据字典视图:
本篇暂时完结,有些知识后续会再深入介绍。
码字不易,宝贵经验分享不易,请各位支持原创,转载注明出处,多多关注作者,后续不定期分享DB基本知识和排障案例及经验、性能调优等。
标签:文件,数据库,DB,视图,关闭,Oracle,图文 From: https://blog.csdn.net/qq_45732829/article/details/142364519