在某些复杂sql语句,或者数据分布不均衡的table中(未启动直方图统计),默认的执行计划可能不是最佳方案,此时我们可以通过控制优化器策略引导执行计划发生改变。 先看一个案例 某生产库中的sql执行效率非常低,查看执行计划发现驱动表扫描行数很多且不走索引。 explain SELECT count(distinct u.id) FROM sys_t_audience_member m JOIN o
利用完rman对数据块进行恢复后再利用dbms_repair存储过程对数据块损坏进行修复,有时候场景中没有备份,扫描整个数据文件,发现并标注出坏块,做这个实验我用的之前的test表,test表空间,再新建索引index_test, 1.建立索引 SQL> create index index_test on test(object_id); 2.查询表信息 SQL> set line
--源端操作 第一步:创建测试用户 su - oracle sqlplus / as sysdba create user spa identified by spa default tablespace users; grant connect,resource to spa; grant ADMINISTER SQL TUNING SET to spa; grant execute on db
对于物理损坏的数据块,可以通过RMAN块介质恢复(BLOCK MEDIA RECOVERY)功能来完成受损块的恢复,而不需要恢复整个数据库或所有文件来修复这些少量受损的数据块。 1. 创建测试表空间、测试表 SQL>create tablespace TEST datafile '/u01/app/oracle/oradata/ORACLE11G/datafile/test01.dbf' s
创建测试表:SQL> drop table testtest; Table dropped. SQL> create table testtest as select * from dba_objects; Table created. SQL> create index i_test on testtest(object_id); Index created. SQL>