首页
学习
活动
专区
圈层
工具
发布

【DB笔试面试820】在Oracle中,如何获取AWR报告?

♣ 题目部分 【DB笔试面试820】在Oracle中,如何获取AWR报告? ♣ 答案部分 Oracle可以生成两种类型的AWR报告:文本格式和html格式。其中,html格式的报告界面更加友好。...可以通过运行Oracle自带的SQL脚本产生AWR报告,只是产生不同的AWR报告,需要运行不同的脚本。...l 产生整个数据库的AWR报告,运行脚本awrrpt.sql: @$ORACLE_HOME/rdbms/admin/awrrpt.sql l 产生某个实例的AWR报告,运行脚本awrrpti.sql:...@$ORACLE_HOME/rdbms/admin/awrrpti.sql l 产生针对不同时段性能的一个比对报告,运行脚本awrddrpt.sql: @$ORACLE_HOME/rdbms/admin...本文选自《Oracle程序员面试笔试宝典》,作者:小麦苗

1.1K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    【DB笔试面试825】在Oracle中,如何获取ADDM报告?

    题目部分 【DB笔试面试825】在Oracle中,如何获取ADDM报告? ♣ 答案部分 有两种办法可以获取ADDM报告: (1) 采用addmrpt.sql脚本。运行脚本:@?...START_SNAPSHOT是起始快照ID,END_SNAPSHOT是结束快照ID,INSTANCE是实例号,对于单实例,一般是1,在RAC环境下,可以通过查询视图GVINSTANCE得到,DB_ID是数据库的唯一识别号...,可以通过查询VDATABASE查到。...若普通用户使用DBMS_ADVISOR包获取ADDM报告,则必须使用SYS给这个普通用户赋予如下权限: GRANT EXECUTE ON DBMS_ADVISOR TO USER_LHR; GRANT...ADVISOR TO USER_LHR; & 说明: 有关ADDM的更多内容可以参考我的BLOG:http://blog.itpub.net/26736162/viewspace-2140642/ 本文选自《Oracle

    1.6K30

    【DB笔试面试469】Oracle中如何删除表中重复的记录?

    题目部分 Oracle中如何删除表中重复的记录? 答案部分 平时工作中可能会遇到这种情况,当试图对表中的某一列或几列创建唯一索引时,系统提示ORA-01452 :不能创建唯一索引,发现重复记录。...重复的数据可能有这样两种情况:第一种是表中只有某些字段一样,第二种是两行记录完全一样。...1、删除重复记录的方法原理 在Oracle中,每一条记录都有一个ROWID,ROWID在整个数据库中是唯一的,ROWID确定了每条记录是在Oracle中的哪一个数据文件、块、行上。...2、删除重复记录的方法 若想要删除部分字段重复的数据,则使用下面语句进行删除,下面的语句是删除表中字段1和字段2重复的数据: DELETE FROM 表名 WHERE (字段1, 字段2) IN (...SELECT 字段1,字段2 FROM 表名 GROUP BY 字段1,字段2 HAVING COUNT(1) > 1); 也可以利用临时表的方式,先将查询到的重复的数据插入到一个临时表中,然后进行删除

    4.4K30

    【DB笔试面试666】在Oracle中,高并发高负载情况下,如何给表添加字段、设置DEFAULT值

    ♣ 题目部分 在Oracle中,在高并发、高负载的情况下,如何给表添加字段并设置DEFAULT值?...因为Oracle在执行上述操作过程中,不仅要更新数据字典,还会刷新全部的记录,并且会使得Undo表空间暴涨,所以,正确的做法是将更新数据字典和更新字段值分开。...当然,从表中检索该列时,会有部分的NVL函数代价。具体的细微差别可以通过10046事件来分析,这里不再详细解析。...从Oracle 12c开始,支持具有默认值的空列的添加列的DDL语句优化,即如下2条SQL语句的效率是一样的,也不存在锁表的现象了: 1ALTER TABLE LKILL.T_KILL ADD A_LHR...,在Oracle 12c中,添加具有默认值的DDL优化已扩展到包括默认值的空列。

    4.3K30

    【DB笔试面试797】在Oracle中,可以从exp出来的dmp文件获取哪些信息?

    ♣ 题目部分 在Oracle中,可以从exp出来的dmp文件获取哪些信息? ♣ 答案部分 在开发中常常碰到,需要导入dmp文件到现有数据库。...那么如何从现有的dmp文件中获取到这些信息呢?下面作者将一一讲解。...(一)获取基本信息:导出的版本、时间、导出的用户 下面的示例中exp_ddl_lhr_02.dmp是生成的dmp文件: [ZFZHLHRDB1:oracle]:/tmp>strings exp_ddl_lhr...dmp文件中的表信息 下面的示例中,exp_ddl_lhr_02.dmp是生成的dmp文件: [ZFZHLHRDB1:oracle]:/tmp>strings exp_ddl_lhr_02.dmp |...grep "CREATE TABLE"|awk '{print $3}'|sed 's/"//g' EMP ====》说明exp_ddl_lhr_02.dmp中只有一个emp表 (三)解析dmp文件生成

    3.7K30

    【DB笔试面试643】在Oracle中,如何查询表和索引的历史统计信息?

    ♣ 题目部分 在Oracle中,如何查询表和索引的历史统计信息?...♣ 答案部分 从Oracle 10g开始,当收集表的统计信息的时候,旧的统计数据被保留,如果因为新的统计信息而出现性能问题,旧的统计信息就可以被恢复。...历史统计信息保存在以下几张表中: l WRI$_OPTSTAT_TAB_HISTORY 表的统计信息 l WRI$_OPTSTAT_IND_HISTORY 索引的统计信息 l WRI$_OPTSTAT_HISTHEAD_HISTORY...列的统计信息 l WRI$_OPTSTAT_HISTGRM_HISTORY 直方图的信息 从视图DBA_TAB_STATS_HISTORY可以查询历史收集统计信息的时间,但是不能查询到行数,所以需要结合基表来查询...DBMS_STATS.RESTORE_SCHEMA_STATS('OWNER',DATE);--恢复某个用户的统计信息 EXECUTE DBMS_STATS.RESTORE_SYSTEM_STATS(DATE);--恢复SYSTEM的统计信息 可以通过如下的命令返回

    3.2K20

    【DB笔试面试829】在Oracle中,如何迁移或清理审计表SYS.AUD$?

    ♣ 题目部分 【DB笔试面试829】在Oracle中,如何迁移或清理审计表SYS.AUD$?...♣ 答案部分 在日常的数据库维护中,经常出现SYSTEM表空间被撑满,在绝大多数情况下是因为数据库登录审计的功能被启动了,此时一般建议把SYS.AUD$相关对象迁移到其它表空间,从而避免SYSTEM被用完的风险...REBUILD ONLINE TABLESPACE USERS; ALTER INDEX SYS.I_AUDIT_ACTIONS REBUILD ONLINE TABLESPACE USERS; 从Oracle...11g之前通过手工清理的方式或自定义作业来定期清理SYS.AUD$表,如下: TRUNCATE TABLE SYS.AUD$; DELETE FROM SYS.AUD$ WHERE OBJ$NAME=...在Oracle 11g中通过DBMS_AUDIT_MGMT包下的子过程进行手动或定期清理。

    2.7K30

    教你如何快速从 Oracle 官方文档中获取需要的知识

    https://docs.oracle.com/en/database/oracle/oracle-database/index.html 如图,以上从 7.3.4 到 20c 的官方文档均可在线查看.../E11882_01/server.112/e40402/toc.htm 这里以 11g R2 官方文档为例: 今天来说说怎么快速的从官方文档中得到自己需要的知识。...SQL language Reference ,这个文档中包括 Oracle数据库中SQL 语句的语法( plsql不包含在内)。比如说create table语法、函数、表达式都在这里有描述。...各种管理表、索引、表空间、 redo等都可以在这里找到(在线传输表空间也在此文档中有描述) Performance tuning guide ,里面包含优化相关的内容,介绍了优化的方法、数据库实例以及...具体还没深入了解,但是感觉还是比较先进好用的,当 plsql没有办法完成任务的时候,可以使用 java存储过程来解决,比如说想要获取主机目录下的文件列表。

    11.8K00

    【DB笔试面试668】在Oracle中,什么是高水位?如何回收表的高水位?

    题目部分 在Oracle中,什么是高水位?如何回收表的高水位? 答案部分 Oracle数据库通过跟踪段中的块状态来管理空间。...HWM的说法;在段空间是自动管理方式(ASSM)时,Oracle是通过BITMAP来管理段内的空间分配,此时Oracle引入了LHWM(Low HWM,低高水位)的概念。...LHWM在全表扫描中非常重要。因为HWM之下的块只在被使用时才格式化,所以可能还有一些块是未被格式化的。因此,数据库读取位图块,以获取LHWM的位置。...“SELECT * FROM TABLE_NAME;”语句来查询数据的话,那么查询过程就会很慢,因为Oracle要执行全表扫描,从HWM下所有的格式化了的块都得去扫描,直到50G的所有块全部扫描完毕。...(4)exp/imp或expdp/impdp重构表。 (5)若表中没有数据则直接使用TRUNCATE来释放高水位。 如何找出系统中哪些表拥有高水位呢?这里给出两种办法,①比较表的行数和表的大小关系。

    2.3K40

    【DB笔试面试584】在Oracle中,如何得到已执行的目标SQL中的绑定变量的值?

    ♣ 题目部分 在Oracle中,如何得到已执行的目标SQL中的绑定变量的值?...♣ 答案部分 当Oracle解析和执行含有绑定变量的目标SQL时,如果满足如下两个条件之一,那么该SQL中的绑定变量的具体输入值就会被Oracle捕获: l 当含有绑定变量的目标SQL以硬解析的方式被执行时...只会捕获那些位于目标SQL的WHERE条件中的绑定变量的具体输入值,而对于那些使用了绑定变量的INSERT语句,不管该INSERT语句是否是以硬解析的方式执行,Oracle始终不会捕获INSERT语句的...如果V$SQL_BIND_CAPTURE中查不到,那么有可能对应的Shared Cursor已经从Shared Pool中被清除了,这时候可以尝试从AWR相关的数据字典表DBA_HIST_SQLSTAT...另外,也可以通过DBMS_XPLAN.DISPLAY_CURSOR和10046来获取绑定变量的值。

    4.8K40

    【DB笔试面试650】在Oracle中,如何查询表的DML操作数据变化量?

    ♣ 题目部分 在Oracle中,如何查询表的DML操作数据变化量?...从Oracle 10g开始,当初始化参数STATISTICS_LEVEL的值被设置为TYPICAL或ALL时,默认会启用Oracle中表监控的特性,此时,Oracle会默认监控表上的自上一次分析(Last...Analyzed)之后发生的INSERT、UPDATE、DELETE以及表是否被TRUNCATE截断操作,并且Oracle数据库的SMON后台进程每15分钟会将这些操作数量的近似值(内存SGA中记录的...DML操作)写入到数据字典基表MON_MODS$中(从SGA中写入到MON_MOD$),但是这个写入过程只持续1分钟,因此,可能不是所有DML操作都会记录到MON_MODS$表中。...在Oracle 10g之前,建表之后默认为NOMONITORING,从Oracle 10g开始,建表之后默认为MONITORING。

    2.7K20
    领券