ORACLE
心毅
我爱ORACLE
展开
-
断电故障导致ASM DiskGroup 故障及恢复案例
ASM在RAC环境中的使用已经极其广泛,但是往往由于对于ASM的认识不够,很多时候在处理障时,会陷入谜团。由于断电导致了存储故障,进而使得部分磁盘对主机不可见,某个磁盘组无法加载,此时客户尝试过重启数据库,结果遇到如下错误:Thu Jun 25Errors in fi原创 2011-09-19 22:16:09 · 1030 阅读 · 0 评论 -
确定系统中是否存在绑定变量的情况,ASKTOM提供函数remove_constans()来检查共享池中的SQL运行情况
create or replace functionremove_constants(p_query in varchar2) return varchar2asl_query long;l_char varchar2(1);l_in_quotes boolean default FALSE;begin for i in 1.. length(p_query)转载 2012-04-22 13:46:41 · 437 阅读 · 0 评论 -
COUNT STOPKEY的优化
SQL> explain plan for select * from emp where rownum 2 ;Explained.SQL> select * from table(dbms_xplan.display); 0 SELECT STATEMENT1 COUNT STOPKEY2 TABLE ACCESS FULL 1-f原创 2012-05-31 21:51:45 · 2141 阅读 · 0 评论 -
查询计划表
explain plan for select * from emp where deptno=10 order by ename; select * from table(dbms_xplan.display); 1.SELECT STATEMENT2. SORT ORDER B Y 3. TABLE ACCESS FULLE原创 2012-05-31 21:10:20 · 317 阅读 · 0 评论 -
单独型操作
SQL> explain plan for select deptno,count(*) from emp where job='CLERK' and sal SQL> select * from table(dbms_xplan.display); 0 SELECT STATEMENT1 HASH GROUP BY 2 TABLE ACCESS FU原创 2012-05-31 21:37:03 · 327 阅读 · 0 评论 -
操作FILTER 的优化
SQL> explain plan for select * from emp where job='CLERK' and 1=2; SQL> select * from table(dbms_xplan.display); 0 SELECT STATEMENT*1 FILTER2 TABLE ACCESS BY INDEX ROWID*3 INDEX原创 2012-05-31 22:00:46 · 392 阅读 · 0 评论 -
数据库启动的三个台阶
startup nomount;1,读参数文件2.分配内存3.启动后台进程4.初始化部分v$视图 alter database mount;1.从参数文件中读取控制文件,校验控制文件的正确性,将控制文件的内容读入到内存,并加载控制文件中描述的数据文件和日志文件的信息. alter database open;1.读取控制文件中描述的数据文件,验证数据文件的一原创 2012-06-01 23:17:59 · 273 阅读 · 0 评论 -
数据字典
数据字典是oracle的核心分为两大类:存在于sysem表空间..$结尾的基本表.DBA_...,ALL_...,USER_...视图存在于内存中X$...的虚表v$...的动态性能视图数据字典是我们建立数据库的时候运行脚本%ORACLE_HOME%/rdbms/admin/catalog.sql。而v$的字典是数据在启动实例的时候初始化的。 基本表,是字典得基原创 2012-06-01 23:38:25 · 362 阅读 · 0 评论 -
手动产生检查点
SQL> alter system checkpoint;System altered.原创 2012-06-02 09:42:55 · 412 阅读 · 0 评论 -
创建latch 分析工具包
create global temporary table run_stats(runid varchar2(15), name varchar2(80), value int) on commit preserve rows; create or replace view statsas select 'STAT...' || a.name name, b.val转载 2012-04-22 13:01:24 · 410 阅读 · 0 评论 -
RMAN SHOW ALL命令
RMAN>SHOW ALL;RMAN configuration parameters are:CONFIGURE RETENTION POLICY TO REDUNDANCY 1;#defaultCONFIGURE BACKUP OPTIMIZATION OFF;#defaultCONFIGURE DEFAULT DEVICE TYPE TO DISK;#defaultCON原创 2011-10-22 20:05:40 · 2438 阅读 · 0 评论 -
基于ODS技术的政务信息系统方案探讨
对于政务信息系统需求分析来说,很多政务问题既不是联机事务处理(OLTP),又算不上是高层决策分析(DSS),而是一个部门中层管理者经常要解决的日常管理和控制的决策问题;导致在政务信息系统建设过程中,所需处理的数据经常不能明确地划分成操作型或分析型。本文探讨利用ODS(操作原创 2011-10-15 10:29:50 · 1013 阅读 · 0 评论 -
共享池的改进与ORA-04031的变化
从Oracle 9i开始,Shared Pool可以被分割为多个子缓冲池(SubPool)进行管理,以提高并发性,减少竞争。Shared Pool的每个SubPool可以被看作是一个Mini Shared Pool,拥有自己独立的Free List,内存结构以及LRU Lis原创 2011-09-20 22:30:55 · 982 阅读 · 0 评论 -
SQL_TRACE跟踪与诊断
客户的应用是一个后台新闻发布系统,主要性能问题是通过连接访问新闻页极其缓慢,通常需要数据十秒才能返回。客户操作系统是SunOS 5.8,数据库版本8.1.7面对这个问题,首先想到是SQL问题,如何定位具体的问题SQL成为我们的主要目录,通过Statspack采样是一个全局原创 2011-09-20 21:02:57 · 571 阅读 · 0 评论 -
长时间LATCH FREE等待
在一个报表数据库的alert文件中发现了ORA-1555错误ORA-1555 cased by SQL statement below(Query Duration=38751 sec,SCN:0x000.fe5b..):INSERT INTO MAN_ORDER_ITE转载 2011-09-21 22:33:19 · 586 阅读 · 0 评论 -
ORA-01200
问题解释:文件的真实大小比控制文件和数据文件头记录的小,一般是数据库异常导致的,在数据库的运行过程中,重新启动时,文件resize之后出现异常状况时都可能会遇到.推荐的解决方案是从备份中恢复一个完好的拷贝,执行必要的恢复,使数据库恢复到正常的状态。问题的发现备原创 2011-08-25 22:22:58 · 2130 阅读 · 5 评论 -
Oracle ASM进程
自动存储管理后台(Automatic Storage Management Background,ASMB)进程:ASMB进程在使用了ASM的数据库实例中运行。它负责与管理存储的ASM实例通信,向ASM实例提供更新的统计信息,并向ASM实例提供一个"心跳",让ASM实例知道它还活原创 2011-09-25 18:01:50 · 2503 阅读 · 0 评论 -
Oracle 工具后台进程
这些后台进程都是可选的,可以根据你的需要来选用。它们提供了一些工具,不过这些工具并不是每天运行数据库所必需要的,除非你自己要使用(如作业队列),或者你要利用使用了这些工具的特性(如新增加的Oracle 10g诊断功能). 在UNIX中,这些进程可以像其他后台进程一样可原创 2011-09-25 20:55:58 · 1870 阅读 · 0 评论 -
执行计划
所谓执行计划,顾名思义,就是对一个查询任务,做出一份怎样去完成任务的详细方案。举个生活中的例子,我从珠海要去英国,我可以选择先去香港然后转机,也可先去北京转机,或者去广州也可以。但是到底怎么去英国划算,也就是我的费用最少,这是一件值得考究的事件。同样对于查询而言,我们提交原创 2011-09-27 22:15:48 · 856 阅读 · 1 评论 -
查找大开销的SQL脚本
select L.sid ssid, substr(OPNAME, 1, 15) opname, target, trunc((sofar / totalwork) * 100) pct, to_char(60 *原创 2011-10-15 00:31:22 · 512 阅读 · 0 评论 -
手动切换日志组
SQL> alter system switch logfile;System altered.原创 2012-06-02 09:43:41 · 835 阅读 · 0 评论 -
数据库的最高账号sys的密码文件认证模式
在windows下密码文件所在目录:oracle_home\database密码文件名称::pwd+sid.ora在unix下密码文件所在目录:oracle_home/dbs密码文件名称:pwd+sid 操作系统认识的优先级高于密码文件。原创 2012-06-01 22:29:26 · 412 阅读 · 0 评论 -
控制文件
1.控制文件是一个二进制文件.2.控制文件记录了数据库的结构和行为3.在mount时候读4.在数据库open时一直使用.相关字典.select * from v$controlfile;select CONTROLFILE_SEQUENCE# from v$database;select TYPE,RECORD_SIZE,RECORDS_TOTAL,RECORDS_US原创 2012-06-02 00:06:15 · 286 阅读 · 0 评论 -
系统回退段属于SYSTEM表空间
select * from v$rollname select segment_name,owner,tablespace_name,status from dba_rollback_segs;原创 2012-06-03 20:46:12 · 385 阅读 · 0 评论 -
数据库总的可分配空间
select tablespace_name,sum(ceil(bytes/1024/1024)) free_mb from dba_free_space group by tablespace_name;select FILE_ID,BLOCK_ID,BLOCKS from dba_free_space where tablespace_name='USERS';原创 2012-06-03 20:41:49 · 433 阅读 · 0 评论 -
创建回退段,修改回退段表空间
SQL> create undo tablespace undo2 datafile '/u01/app/oracle/oradata/orcl/undo2.02.dbf' size 2m;Tablespace created.SQL> alter system set undo_tablespace=undo2;原创 2012-06-03 20:54:56 · 554 阅读 · 0 评论 -
查看事务所使用回退段
SQL> alter system set undo_tablespace=undo2;System altered.SQL> update scott.emp set sal=sal+1;14 rows updated.SQL> select XIDUSN from v$transaction; XIDUSN---------- 14原创 2012-06-03 21:00:40 · 703 阅读 · 0 评论 -
分析表
SQL> ANALYZE TABLE E3 COMPUTE STATISTICS; SELECT BLOCKS,EMPTY_BLOCKS,AVG_SPACE,NUM_FREELIST_BLOCKS FROM USER_TABLES WHERE TABLE_NAME='E3' AVG_SPACE所有空闲块的平均空间.原创 2012-06-03 12:47:04 · 338 阅读 · 0 评论 -
oracle选择数据库字符集
服务端字符集是客户端字符集超集,翻译 2014-07-14 07:06:52 · 557 阅读 · 0 评论 -
手工回收未使用的范围(EXTENT)
SQL> alter table t1 deallocate unused;Table altered. 查询表的使用范围select segment_name,extent_id,file_id,block_id,blocks from dba_extents where owner='SCOTT' and segment_name='T1';原创 2012-06-03 20:16:40 · 347 阅读 · 0 评论 -
新手管理数据库需要了解的方面
1、先要了解当前的Oracle 数据库的版本和平台和相关信息 这个很重要,忙乎了半天还知道你的数据库是哪个版本,跑在什么系统上2、其次要了解你的数据库中装了哪些组件3、搞清楚这个环境是单机还是集群?4、是否配置了DataGuard?5、是否起用了归档模式? conn / AS sysdba archive log list; SELECT log_mode FROM v$d转载 2012-06-02 17:14:58 · 371 阅读 · 0 评论 -
查询强制归档模式
SQL> select force_logging from v$database;FOR---NO原创 2012-06-02 09:56:50 · 493 阅读 · 0 评论 -
将日志文件转储到DUMP文件
SQL> @/u01/osql/gettrcname.sqlTRACE_FILE_NAME--------------------------------------------------------------------------------/u01/app/oracle/admin/orcl/udump/orcl_ora_6122.trcSQL> alter sessio原创 2012-06-02 09:23:19 · 631 阅读 · 0 评论 -
增加日志文件
SQL> alter database add logfile '/u01/app/oracle/oradata/orcl/redo04.log' size 40m;Database altered.SQL> alter system switch logfile;System altered. 日志文件可以大小不一样的。...原创 2012-06-02 09:41:10 · 575 阅读 · 0 评论 -
修改数据库强制归档模式
SQL> alter database ORCL FORCE LOGGING;Database altered.SQL> alter database ORCL NO FORCE LOGGING;Database altered. ORCL 为数据为的SID原创 2012-06-02 10:00:13 · 825 阅读 · 0 评论 -
创建表空间,表空间增加和删除数据文件,表空间只读模式,表空间下线与上线
SQL> alter database datafile '/u01/app/oracle/oradata/orcl/ts1.02.dbf' autoextend on next 1m maxsize 100m;Database altered.SQL> alter database datafile '/u01/app/oracle/oradata/orcl/ts1.02.dbf' au原创 2012-06-02 21:01:40 · 1012 阅读 · 0 评论 -
减少控制文件个数
SQL> alter system set control_files='/u01/app/oracle/oradata/orcl/control01.ctl' scope=spfile; 修改后,需要重启动数据为才能生效。原创 2012-06-02 00:14:41 · 457 阅读 · 0 评论 -
查询数据库当前SCN
SQL> select current_scn from v$database;CURRENT_SCN----------- 2014669SQL> select dbms_flashback.get_system_change_number() from dual;DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER()----------原创 2012-06-02 09:00:15 · 6876 阅读 · 0 评论 -
ALTER SYSTEM CHECKPOINT 影响数据文件的检查点
SQL> select current_scn from v$database;CURRENT_SCN----------- 2015368SQL> select name,checkpoint_change# from v$datafile;NAME-----------------------------------------------------------原创 2012-06-02 09:05:22 · 1146 阅读 · 0 评论 -
查看当前日志文件的路径
SQL> select member from v$logfile;MEMBER--------------------------------------------------------------------------------/u01/app/oracle/oradata/orcl/redo03.log/u01/app/oracle/oradata/orcl/redo原创 2012-06-02 09:25:12 · 1207 阅读 · 0 评论