happydba Rotating Header Image

Posts under ‘oracle’

Oracle10GR2 中的RESTORE POINT

RESTORE POINT 还原点是10GR2新增加的一个功能,它是建立在数据库层面上的, 跟savepoint不同. 必须在数据库处于ARCHIVELOG模式下才可以使用,主题思想是在数据库的某个时间点创建一个restore point,在随后的某个时间点可以将表或数据库falshback 到这个restore point.那么能否真正的完成flashback,依赖于创建的restore point类型和flashback要操作的对象.flashback database需要SYSDBA权限,flashback table需要 FLASHBACK ANY TABLE的权限. guarantee restore point for flashback database guarantee restore point必须在数据库处于flashback on 的状态下,才可以定义的一中restore point,它的主题思想是保证数据库能够准确完整的flashback 到定义的 restore point. 操作依赖于flashback log和archivelog, 如果定义了guarantee restore point,那么flashback logs将不受db_recovery_retention_target参数的限制,oracle不会删除flashback log,只要flashback arae有足够的磁盘空间,oracle就会保存足够的flashback logs,满足flashback database to restore point. 如果数据库没有处于flashback on,那么定义一个guarantee restore point必须在database mount状态下进行.其实这个也可以理解,oracle根据定义的restore point,可以个保证database open后的归档可以不被删除.但有一点必须明确的是,guarantee restore point是针对flashback database而言的,不对flashback table起作用,为什么呢, 因为flashback table依赖于undo,如果在guarantee时间范围内,undo过期了, [...]

EZCONNECT

From Oracle FAQ Jump to: navigation, search EZCONNECT is Oracle’s easy connect naming method. EZCONNECT eliminates the need for service name lookups in tnsnames.ora files when connecting to an Oracle database across a TCP/IP network. In fact, no naming or directory system is required when using this method as it provides out-of-the-box connectivity. It extends [...]

32位oracle数据库迁移至64位oracle的实例(rman Convert database)

1、原来在64位win7下装的是32位的oracle,启动数据库后不断在alert.log报错:   OER 7451 in Load Indicator : Error Code = OSD-04500: 指定了非法选项 O/S-Error: (OS 1) 函数不正确。 !    很烦人。查了一下,必须使用64位的oracle。   正好可以使用rman的Convert database特性进行跨平台迁移数据了。  

常用sql

1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name;

用Oracle的 DBMS_XPLAN函数轻松格式化EXPLAIN PLAN结果

EXPLAIN PLAN命令的输出结果是解决SQL效率低下问题的最重要的诊断工具之一。此命令加载一个工作表格(默认名称为PLAN_TABLE),表格中带有Oracle优化器为SQL语句计算的执行计划步骤。例如: EXPLAIN PLAN FOR SELECT empno, ename FROM emp WHERE ename LIKE ‘S%’; 由于PLAN_TABLE中的行形成了一个等级,对其进行查询需要应用SELECT语句中的两个复杂子语句——START WITH与CONNECT BY。第一次在Oracle 9i中出现并在10g中得到扩充的DBMS_XPLAN使格式化及显示执行计划更为容易。 DBMS_XPLAN.DISPLAY是一个表格标值函数,它显示PLAN_TABLE的内容。与常规的纯量函数SUBSTR或总计函数SUM不同的是,表格函数返回一个完整的行集合(rowset)。它们用在SELECT语句的FROM子语句中,前面必须加上TABLE这个词。如: SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY); 列表A显示的是上述EXPLAIN PLAN语句的结果,并由DBMS_XPLAN.DISPLAY格式化。 值得注意的是,DBMS_XPLAN还能从存储在系统全局区(System Global Area, SGA)内的指针显示“实时”执行计划。列表B显示的是由用户SCOTT执行的同一SQL语句。通过查看V$SESSION视图,你可以找到执行SCOTT任务的最后一个SQL ID。这反过来又可输入到DBMS_XPLAN.DISPLAY_CURSOR中,获得指针所使用的执行计划。 最后,DBMS_XPLAN.DISPLAY_AWR函数可用来查寻Oracle 10g的自动负荷信息库(Automatic Workload Repository, AWR)获得的历史SQL语句,并显示它的执行计划。它显示一个你可以访问的含七天历史记录的滚动窗口。 所有这三个函数都是协调SQL语句的强大工具。

Oracle分区表(Partition Table)的数量限制

oracle分区表是不是有最大分区个数限制 ,我有一张大约20G的表,有好多分区(按时间),结果根据这个时间条件查询就报ORA-03113 end-of-file on communication channel错误,然后断开链接,硬件与网络都没问题. 后来我删了几个分区就一切OK了,这是咋回事呢? 系统环境 win2003 oracle分区表是不是有最大分区个数限制,我有一张大约20G的表,有好多分区(按时间),结果根据这个时间条件查询就报ORA-03113 end-of-file on communication channel错误,然后断开链接,硬件与网络都没问题. 后来我删了几个分区就一切OK了,这是咋回事呢? 系统环境 win2003 server + oracle9201 我猜测他这个问题并非遇到了分区个数的限制,因为这个限制很难达到,至少到目前为止我尚未听说有人达到这个分区限制。 那么Oracle最大允许存在多少个分区呢? 我们可以从Oracle的Concepts手册上找到这个信息,对于Oracle9iR2: Tables can be partitioned into up to 64,000 separate partitions. 对于Oracle10gR2,Oracle增强了分区特性: Tables can be partitioned into up to 1024K-1 separate partitions. 真的会有人尝试来突破这个分区极限吗? 你的数据库最大的分区表有多少个分区呢? 关于何时应该进行分区,Oracle有如下建议: ■ Tables greater than 2GB should always be [...]

oracle日期

oracle日期查询、转换。。。

insert,append,nologging生成redo数量的测试

insert,append,nologging生成redo数量的测试

在线重定义表的测试和问题

在一个高可用系统中,如果需要改变一个表的定义是一件比较棘手的问题,尤其是对于7×24 系统。Oracle提供的基本语法基本可以满足一般性修改,但是对于把普通堆表改为分区表,把索引组织表修改为堆表等操作就无法完成了。而且,对于被大量 DML语句访问的表,幸运的是,Oracle从9i版本开始提供了在线重定义表功能,通过调用DBMS_REDEFINITION包,可以在修改表结构的同时允许DML操作。

10g的一个新花样:skip_unusable_indexes

关于skip_unusable_indexes这个参数,大家从它的名称就基本上可以理解它是做什么的,但在使用时需要注意一个小问题,非唯一索引在失效(unusable)状态是允许继续对表进行DML操作,但唯一索引在失效状态是不允许DML操作.

Videos, Slideshows and Podcasts by Cincopa Wordpress Plugin