/*
Oracle服务器由 实例、程序全局区、前台进程、数据库组成
实例包括 系统全局区 SGA 和 后台进程( PMON SOMON )
系统全局区SGA 包括 高速数据缓存区、共享池、重做日志缓存区、Java池、大型池 等内存结构
高速数据缓冲区 Database buffer cache 存放着 最近访问过的数据块(缓冲块):脏数据区 空闲区 保留区
重做日志缓冲区 记录对数据库的修改信息 由日志写入进程来将重做日志缓冲区的内容写入到重做日志文件
重做日志缓冲区大小由LOG_BUFFER确定 可以动态修改 较大的重做日志缓冲区能对数据库整体性能提高
共享池 shared pool SGA保存的内存区域
库高速缓冲区 字典高速缓冲区
共享池的内存大小空间是可以动态改变的,一般通过SHARED_POOL_SIZE的值来实现
大型池 Large Pool
Java池 给JVM使用 支持在数据库中运行Java程序包
流池 STREAMS_POOL_SIZE 数据库之间进行信息共享
后台进程
数据写入进程
检查点进程
日志写入进程
归档进程
系统监控进程
进程监控进程
锁定进程
恢复进程
调度进程
快照进程
程序全局区 PGA 是非共享的内存区域 管理用户进程的资源
程序全局区 Program Global Area 包括 用户进程全局区 内存区在进程私有区
前台进程 包括 用户进程 服务进程
用户进程 连接 和 会话
服务进程 处理用户会话过程中向数据库发出的SQL语句
数据库包括 数据文件 控制文件 日志文件 服务器参数文件
*/
--逻辑存储结构
--数据块大小 oracle数据放在数据块中 通常为操作系统块的整数倍
select name,value from v$parameter where name like '%db_block%';
--有关归档日志文件的信息 如果value为空 则没有启用归档日志模式
select name,value from v$parameter where name='log_archive_dest';
--查看数据字典的信息 数据字典存放在SYSTEM表空间
select * from dict;
--查看数据库中内部系统表的信息
select * from v$fixed_view_definition;
--物理存储结构
--数据文件 一个表空间对应多个数据文件 用户无法指定 oracle系统负责对数据对象进行选择数据文件
select file_name,tablespace_name from dba_data_files;
--临时文件 oracle9i以后 临时表空间对应的数据文件和一般数据文件分开
select file_name,tablespace_name from dba_temp_files;
--控制文件 记录数据库的物理结构 包含 数据库名、数据文件、日志文件的名字与位置、数据库的建立日期 控制文件存放的路径由spfileorcl.ora 和control_file来决定
select * from v$controlfile;
--日志文件 每个oracles实例都会启动日志线程来记录数据库的变化
select member from v$logfile;
--查看当前Oracle系统是否采用归档模式
select dbid,name,log_mode from v$database;
--查看归档日志路径
select name, value from v$parameter where name like 'log_archive_dest_%' and value is not null and value <>'enable';
--服务器参数文件 信息 SPFILEsid.ora sid为数据库实例名
select name,value,ismodified from v$parameter;
--可以使用OEM 或者 alter system 命令来进行修改
--警告文件路径 警告文件通常为 alert_orcl_log 记录了运行信息包括 oracle实例的启动关闭、建立表空间、增加数据文件 错误信息 :空间扩展失败 启动实例失败
select name,value from v$parameter where name = 'background_dump_dest'; --随着时间推移 警告文件会越来越大 应该定期清理
--当前实例进程信息
select name,description from v$bgprocess;
--跟踪文件
select * from v$parameter where name='user_dump_dest';
--基本数据字典
---关于表空间的信息
select * from dba_tablespaces;
--所有用户表空间限额
select * from dba_ts_quotas;
--所有表空间的自由分区
select * from dba_free_space;
--描述数据库中所有段的存储空间
select * from dba_segments;
---数据库中所有分区的信息 分区相当多
select count(1) from dba_extents;
--数据库中所有数据表的描述
select * from dba_tables;
--常用动态性能视图 所谓动态性能视图 是指在数据库运行期间不断改变
select * from v$database;
--数据库使用的数据文件的信息
select * from v$datafile;
--通过访问数据库会话,设置对象锁的所有信息
select * from v$lock;
--有关会话的信息
select * from v$session;
posted on
浙公网安备 33010602011771号