Oracle Management
文章平均质量分 63
flighting_sky
这个作者很懒,什么都没留下…
展开
-
设计oracle cluster
cluster,也就是聚集,简单来说就是把多个表的数据行保存在同一个数据块中。在建立cluster之前需要考虑一下下面的问题。一、选择合适的table 1、聚集中的表经常被同时查询或连接; 2、这些表并没有被频繁地被插入或更新;二、选择合适的列作为cluster key 一个好的cluster key应该拥有足够的唯一值,这样的话一个cluster原创 2013-08-12 16:16:06 · 766 阅读 · 0 评论 -
【对象管理】cluster
cluster可以用来保存多个表的数据。cluster分为两种:index cluster: 用索引来检索cluster key。不过需要注意的是,创建聚集的时候不会创建索引,需要在create cluster之后另外创建索引,否则在此之前不能对聚集表进行DML操作。hash cluster: 利用散列函数来检索cluster key。不能对hash clust原创 2013-08-13 08:26:13 · 892 阅读 · 0 评论 -
【对象管理】管理索引
索引的创建的目的在于更快捷地查找定位数据行和数据块,提高数据库语句的查找速度,提高性能。oracle 为我们提供的索引基本上都是以B+树的这种数据结构为基础的,具体索引种类的介绍,可以查看我的另外一篇博文:索引的种类:http://blog.csdn.net/flighting_sky/article/details/8868431一、管理索引1、插入数据之后创建索引 如果原创 2013-08-14 22:36:36 · 843 阅读 · 0 评论 -
【对象管理】分区表
当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。第一,改善查询性能:对分区对象的查询可以仅搜索自己关心的分区,提高检索速度。第二,增强可用性:如果表的某个分区出现故障,表在其他分区的数据仍然可用;原创 2013-08-15 22:34:35 · 2557 阅读 · 0 评论 -
ORA-38760: 此数据库实例无法启用闪回数据库:guarantee restore point 导致
一大早起来打开sqlplus的时候,发现数据库启动不了,并且出现下面的错误:SQL*Plus: Release 11.2.0.1.0 Production on Sat Aug 17 09:04:48 2013Copyright (c) 1982, 2010, Oracle. All rights reserved.Enter user-name: shEnter password原创 2013-08-17 10:18:05 · 3456 阅读 · 0 评论 -
ORACLE 跟踪事件与产生文件
本文装载自:http://blog.csdn.net/47522341/article/details/3299592一、Oracle跟踪文件Oracle跟踪文件分为三种类型。一种是后台报警日志文件:记录数据库在启动、关闭和运行期间后台进程的活动情况,如表空间创建、回滚段创建、某些alter命令、日志切换、错误消息等。在数据库出现故障时,应首先查看该文件,但文件中的信息与任转载 2013-08-17 10:22:02 · 657 阅读 · 0 评论 -
ORA-12154: TNS: 无法解析指定的连接标识符
开启了数据库的监听与进程,然而连接的时候,却出现下面的问题:SQL> conn sys/123456@warehouse as sysdba;ERROR:ORA-12154: TNS: 无法解析指定的连接标识符 然后,利用tnsping来测试整个连接进程哪里出了问题:C:\Users\asus>tnsping warehouseTNS Ping Utility for原创 2013-08-18 00:20:11 · 2383 阅读 · 0 评论 -
闪回技术(5):闪回数据库【还原点】
restore points: 还原点,可以理解为SCN的别名,便于理解该SCN点上发生操作的显示意义,如before upgrade等等。还原点的名称和SCN保存在控制文件中。按照存在时间又有以下分类:normal restore points 该还原点为轻量级的,可以在控制文件中保存很多,而且可以一直存在于控制文件中,直到达到控制文件规定的时间或者手动删除。guaran原创 2013-08-11 16:14:45 · 1043 阅读 · 0 评论 -
批量删除表
通常drop table语法一次只能删除一个表,如果要同时删除几个表,可以通过用动态SQL来进行批量处理。 方法很简单,就是先从user_tables或其他表中查找出表名,然后删除; beginfor i in (select table_name tab from user_tables where table_name in ('T2','T')) LOOP原创 2013-08-04 23:40:48 · 703 阅读 · 0 评论 -
【对象管理】recyclebin
recyclebin,也称为回收站,用于存放DROP后的对象。其用于非SYSTEM表空间、段空间管理为AUTO的环境中。一、recyclebin里面的对象。 当删除了表空间、用户、聚集、TYPE的时候,其中的对象不会保留在回收站中,也就是说,在这些对象下的表不能通过flashback ...before drop来进行恢复。----删除了表空间后,其对象不会在回收站里面S原创 2013-08-04 16:23:31 · 1249 阅读 · 0 评论 -
重新编译视图
当表名、列名、列类型等底层表的信息发生改变的时候,就会使得视图无法使用,其时就需要对视图进行重新的编译。 第一步,查找失效的视图。 可以使用数据字典中的user_objects来查找出失效的视图名,还可以利用user_views来查找出相应视图的代码信息。基本的代码如下:----------------查找出失效的视图 Select object_nam原创 2012-12-08 19:35:57 · 7406 阅读 · 0 评论 -
一则TX - row lock contention处理详解
一、问题现象:ORACLE OEM巡检发现某时段存在较大的WAITTING事件(如图1的红色部分): (图1:Database Activity)其实发现这个问题还可以从v$locked_object、AWR中发现,但要数最直观的还是OEM的ACTIVESESSIONS视图。二、问题分析:1、为了定位事件,采集该时段的ADDM快照(如图2:开始PM4,结束PM7转载 2012-12-26 22:43:44 · 1545 阅读 · 0 评论 -
外部表管理
外部表,是指元数据保留在数据字典中,但是数据并没有保存在数据库中的对象类型一、外部表的创建1、创建目录对象directory。创建的目的是为了指定external binary file LOBs (BFILEs) 和 external table数据所在的位置。创建成功之后,可以通过以下语句来确认:select directory_name,directory_path from DBA原创 2013-05-05 22:37:08 · 829 阅读 · 0 评论 -
利用analyze验证结构
利用analyze ...validate structure..;语句验证表、索引、聚簇、分区表、临时表的结构。所谓结构,对于不同对象有不同的定义:对于表,该语句会扫描所有的数据块和数据行,以验证表的结构是否跟数据字典中表的定义一样,是否满足定义的各种约束;analyze table TABLE1 validate structure ;--分析表的结构analyze table原创 2013-07-24 09:21:30 · 1311 阅读 · 0 评论 -
逻辑读与物理读
通常,当执行了set autotrace traceonly statistics,然后执行sql语句,就会返回下面的统计数据:recursive calls:递归调用。一般原因:dictionary cache未命中;动态存储扩展;PL/SQL语句db block gets:从buffer中读取的数据块数量。也就是即时读,通常是执行DML操作的时候,需要对数据块添加行锁,以免其他会话对同原创 2013-07-24 16:57:16 · 802 阅读 · 0 评论 -
Oracle常用EVENT参考
转载自:http://empo007.itpub.net/post/12076/495697具体如下:Event 10013 - Monitor Transaction Recovery在Startup时跟踪事务恢复ALTER SESSION SET EVENTS '10013 trace name context forever, level 1';E转载 2013-07-24 22:40:50 · 940 阅读 · 0 评论 -
管理表空间【1】删除表空间
删除表空间的时候,如果该表空间非空,则若使用drop tablesapce test1.的命令会报错“表空间非空,请使用including contents”.此时的用法为:drop tablecpace test1 including contents and datafiles;---同时删除表空间以及数据文件;如果没有在删除表空间语句中加and datafiles,则数据文件并没原创 2013-08-01 16:05:16 · 1205 阅读 · 0 评论 -
表管理:从回收站中恢复表
当使用drop table命令删除了表之后,oracle数据库并没有从物理空间中彻底删除了数据,只是rename了数据字典中的表名,让人以为删除掉了。同时把删除的表信息保存在回收站recyclebin中。不过,被drop的表的数据块可以被重复利用,如果这些数据块还没有被利用的话,就可以完完全全地从回收站中恢复表。-----查看回收站的状态SQL> show parameters recycle原创 2013-08-02 09:04:23 · 680 阅读 · 0 评论 -
【空间管理】ORA-01652: 无法通过 128 (在表空间 TEST01 中) 扩展 temp 段
在做一个关于空间使用问题的实验的时候,遇到了题目所讲到的“ORA-01652: 无法通过 128 (在表空间 TEST01 中) 扩展 temp 段”。看到报错,应该是空间扩展的时候出现了问题。 下面是相关的测试数据,新建的表空间TEST01,最大可分配大小为17M。新建的表SALES01,是分区表,大小为 16646144字节,大概16M多一点。SQL> create table原创 2013-08-02 14:27:50 · 4353 阅读 · 0 评论 -
【表空间管理】ORA-32773: 不支持对小文件表空间 TEST01 的操作
SQL> alter tablespace test01 2 autoextend on 3 maxsize 25M;alter tablespace test01*第 1 行出现错误:ORA-32773: 不支持对小文件表空间 TEST01 的操作 表空间建立之后,如果是小文件表空间,就不能再对表空间的autoextend大小等进行修改,其扩展性由表空原创 2013-08-02 15:27:00 · 5548 阅读 · 0 评论 -
【空间管理】检测表空间空间的使用情况以及碎片
检测表空间的使用情况以及碎片,要到两个数据字典表:dba_data_files和dba_free_space.其中dba_data_files描述了每个数据文件的信息,而dba_free_space则描述了表空间中每一段连续空闲空间的情况,为此可以透过看空闲空间的数量来初步估算表空间的碎片情况。SQL> col "表空间" format A20;SQL> set linesize 100 p原创 2013-08-02 16:16:04 · 632 阅读 · 0 评论 -
SYS模式下测试的限制
由于SYS用户的权限比较大,为此常喜欢在SYS用户下做实验。但是,后来发现,SYS用户也有诸多限制。限制一:DROP之后的表不会保存在recyclebin里面。查了一下技术文档,“The recycle bin functionality is only available for non-system, locally managed tablespaces.”SQL> DROP原创 2013-08-04 09:01:14 · 707 阅读 · 0 评论