ORA-00600: internal error code, arguments: [pfri.c: pfri8: plio mismatch ]错误
ORA-00600: internal error code, arguments: [pfri.c: pfri8: plio mismatch ]错误[@more@]ORA-00600: internal error code, arguments: [pfri.c: pfri8: plio mismatch ]错误警告文件出现错误:Mon Sep 8 17:05:21 2008Errors in file ********life1_ora_557772.trc:ORA-00600: internal error code, arguments: [pfri.c: pfri8: plio mismatch ], [], [], [], [], [], [], []ORA-04061: existing state of package body "********" has been invalidatedORA-04065: not executed, altered or dropped package body "**
ORA-06512错误的一个原因
ORA-06512错误的一个原因[@more@]ORA-06512错误的一个原因在alert文件中出现错误信息Wed Sep 3 18:18:43 2008Errors in file ********_ora_627008.trc:ORA-03113: end-of-file on communication channelORA-03113: end-of-file on communication channelORA-06512: at "********.********E_PS_PUBLIC_LOG", line 557ORA-06512: at "********.********E_PS_PUBLIC_LOG", line 916ORA-06512: at "********.********E_PS_PUBLIC_LOG", line 975ORA-06512: at "********.********E_PS_CONFIRM_PS_INCOME&
大型数据库(T level)管理
大型数据库(T level)管理[@more@]大型数据库T管理谈谈自己的想法:在分析这个问题的时候,需要看这个数据库是OLTP,OLAP还是DSS,不同的类型管理的侧重应该是不一样的。数据库的规划:对于大多数数据库来说,之所以这个数据库能够上T,是因为一个或者多个表的数据量比较大,而数据量比较大的表的数量一般不是很多,这是因为在数据库开始规划的时候就应该考虑到这些问题。一般来说会根据功能,IO,或者表的大小等将数据库split。在数据库的规划阶段还需要注意的问题是有可能成为大表的两个或者几个大表之间的连接问题,一般来说系统出现性能
可恢复空间分配
可恢复空间分配[@more@]可恢复空间分配在平时我们做一个大的表的索引,或者插入大量数据的时候,临时表空间,undo表空间或者数据表空间都有可能会产生空间不足的错误,这时候就可以利用可恢复表空间来管理,将这个操作挂起,等错误排除之后再恢复。这个好用的功能是在Oracle 9i之后被引入的。这个功能在thomas的http://tomszrp.itpub.net/post/11835/264965已经介绍比较详细了。两种启动方式1、设置resumable_timeout。2、alter session enable resumable可恢复语句被挂起的发生状态:1、超出空间使用ORA-1653 unable to extend table ...
READ_ONLY_OPEN_DELAYED参数
READ_ONLY_OPEN_DELAYED参数一直没有在意这个参数,再一次看Oarcle文档的时候,看到这个参数。在一个很大的数据库上的比较大的一部分只读表空间是存储在低速访问的设备上。例如CDROM上的时候,需要将这个参数设置为true。[@more@]
关于锁的几个动态视图的总结
关于锁的几个动态视图的总结[@more@]关于锁的几个动态视图的总结v$lock这个视图列出的是被Oracle数据库当前把持的锁。ADDRRAW(4 | 8)Address of lock state objectKADDRRAW(4 | 8)Address of lockSIDNUMBERIdentifier for session holding or acquiring the lockTYPEVARCHAR2(2)Type of user or system lock The locks on the user types are obtained by user applications. Any process that is blocking others is likely to be holding one of these locks. The user type locks are:TM - DML enqueueTX - Transaction enqueueUL - Us
关于索引失效的情况
关于索引失效的情况[@more@]关于索引失效的情况不使用索引的情况1) 没有查询条件,或者查询条件没有建立索引2) 在查询条件上没有使用引导列3) 查询的数量是大表的大部分,应该是30%以上。4) 索引本身失效5) 查询条件使用函数在索引列上6) 对小表查询7) 提示不使用索引8) 统计数据不真实9) CBO计算走索引花费过大的情况。其实也包含了上面的情况,这里指的是表占有的block要比索引小。索引失效的情况:1) alter table move2) alter index disable3) truncate分区表上的全局索
关于不确定情况的两个问题(2)
关于不确定情况的两个问题(2[@more@]二、1、了解是什么不能连接上数据库,是否是sqlplus,这样可以排除是程序的问题。在客户端使用ping来测试物理路径是否畅通2、使用TNSPING来测试数据库的路径是否畅通3、查看listener是否启动,状态。查看listener的进程有几个(很多有这样的bug)4、查看listerner.log的信息。5、查看alert.log的信息6、查看V$session的数量,是否超过参数配置的极限7、查看dba_users看看用户的状态Biti:如果用户告诉你,程序突然无法连到database,该如何着手……1:首先登陆数据库服务器,本地 IPC 是否登陆正常。2:
一个有用的工具文件utlrp.sql
一个有用的工具文件utlrp.sql[@more@]一个有用的工具文件utlrp.sql utlrp.sql是oracle提供的一个用于重编译数据库中处于invalid状态的对象。在数据库进行升级之后,会有不少脚本变成invalid状态。oracle推荐在升级或者打了补丁之后运行一下这个脚本。运行这个脚本需要注意的问题:1、在SQL PLUS上运行。2、需要sys as sysdba3、在运行这个脚本的时候,数据库上没有ddl运行。这个脚本是调用脚本@@utlprp.sql 0这个脚本主要是调用UTL_RECOMP包来执行。这里的0是用于控制脚本运行重新编译的并行度,如果指定为0,就是让系统UTL_RECOMP自
分区表的分区数据删除、truncate会对全局和局部索引产生什么影响
分区表的分区数据删除、truncate会对全局和局部索引产生什么影响[@more@]分区表的分区数据删除、truncate会对全局和局部索引产生什么影响总结:康标email:kang_biao@hotmail.com建立测试表t。SQL> create table t 2 partition by range (a) 3 ( 4 partition p1 values less than (10000) tablespace part1, 5 partition p2 values less than (20000) tablespace part2, 6 partition p3 values less than (30000) tablespace part3, 7 partition p4 values less than (40000) tablespace part4,
关于PUBLIC
关于PUBLIC[@more@]关于PUBLIC总结:康标email:kang_biao@hotmail.comhttp://www.oracle.com.cn/thread-119327-1-1.htmlpublic是一个特殊的角色,但是在角色的视图上是没有办法查询到的:SQL> select * from dba_roles where role='PUBLIC';ROLE PASSWORD_REQUIRED------------------------------ -----------------SQL> public应该是oracle预定义的,在sql.bsp文件中找到这个的由来:create user sys identified by "D_SYSPW" /create role public/create role connect/grant create session
关于修改数据库名称和ID的方法总结
关于修改数据库名称和ID的方法总结[@more@]关于修改数据库名称和ID的方法总结总结:康标 email:kang_biao@hotmail.com 在Oracle上修改数据库名称一般有两种方式修改,在Oracle9i之前要修改数据库的名称和ID的方式和方法是通过重建控制文件的方式来实现的。使用 alter database backup controlfile to trace ‘*****’; 来生成脚本,然后根据需要修改脚本。这一点在网上都有具体的操作方式和方法。 第二中方法就是使用Oracle9i新提供的一个工具来修改DBNEWID nid。获取帮助: E:oracleora10BIN>nid -help DBNEWID: Release 10.2.0.1.0
关于在spfile文件上修改control_files参数的问题
关于在spfile文件上修改control_files参数的问题[@more@]我在为控制文件修改路径的时候遇见一个这样的问题。本来三个控制文件的位置是:E:ORACLEORADATAORA10CONTROL01.CTL, E:ORACLEORADATAORA10CONTROL02.CTL, E:ORACLEORADATAORA10CONTROL03.CTL' 我现在将控制文件的路径修改为:E:CONTROL01.CTL, E:ORACLEORADATAORA10CONTROL02.CTL, E:ORACLEORADATAORA10CONTROL03.CTL'我开始做的时候是这样的SQL> alter system set control_files='E:CONTROL01.CTL, E:ORACLEORADATAORA10CONTROL02.CTL, E:ORACLEORADATAORA10CONTROL03.CTL' sc
为什么建议使用命令行工具?
为什么建议使用命令行工具?[@more@]问:为什么建议使用命令行工具?答:不管你是使用SQL SERVER数据库,还是使用Oracle,DB2数据库也罢,都建议使用命令行工具来管理数据库,因为命令行工具具备图形界面无法比拟的优点:1、速度快,命令行工具都是基于字符模式的输入输出。在系统的运行上省去了图形界面的操作时间。同时很多图形界面管理系统,例如Oracle的OEM,为了跨平台的使用是建立在java平台下,这样系统的运行需要java虚拟机。系统命令的交互也是通过虚拟机实现。而命令行工具则是不存在这些问题。2、操作相对安全。在图形界面下很
数据库DDL操作审计
数据库DDL操作审计(from askTom)[@more@]数据库DDL操作审计可以使用以下触发器来实现:from askTomcreate or replace trigger ddl_trigger after create or alter or drop on SCHEMA declare l_sysevent varchar2(25); l_extra varchar2(4000); begin select ora_sysevent into l_sysevent from dual; if ( l_sysevent in ('DROP','CREATE') ) then if l_sysevent = 'CREATE' then begin select 'storage ( initial ' || initial_extent || ' next ' ||
限制访问Oracle客户端IP方法总结
限制访问Oracle客户端IP方法总结[@more@]限制访问Oracle客户端IP方法总结在itpub上有一个帖子讨论了一个话题,就是关于限定访问Oracle客户端IP的方法问题的讨论,我印象中似乎这样的问题在论坛上已经讨论了比较多了,今天就总结一下。http://www.itpub.net/743725,1.html这里讨论的在Oracle数据库层面上限制IP的方法,当然还有可以在网络层面上限制IP,例如防火墙软件等方式。应用层,例如:WebLogic设置访问数据库的IP。在Oracle数据库中由于版本的差异,可以通过不同的方式来解决这些问题。有几种方式来实现这样的功能:1、 修改SQLNET.
关于参数FIXED_DATE的使用
关于参数FIXED_DATE的使用[@more@]关于参数FIXED_DATE的使用Parameter type String Syntax FIXED_DATE = YYYY-MM-DD-HH24:MI:SS (or the default Oracle date format) Default value There is no default value. Parameter class Dynamic: ALTER SYSTEM FIXED_DATE enables you to set a constant date that SYSDATE will always return instead of the current date. This parameter is useful primarily for testing. The value can be in the format shown above or in the default Oracle date format, without a time.这是Oracle文档
关于参数O7_DICTIONARY_ACCESSIBILITY
关于参数O7_DICTIONARY_ACCESSIBILITY这个参数是控制* any table权限使用的。例如select any table,update any table,和drop any table。 若该参数为 true,则有 select any table 权限的帐号则可查看DBA_ V$等之类的数据字典,否(false),则只能看自己权限内的如:user_, all_之类的字典。但被授予了select_catalog_role 则不受此参数的控制。[@more@]关于参数O7_DICTIONARY_ACCESSIBILITY这个参数是控制* any table权限使用的。例如select any table,update any table,和drop any table。 若该参数为 true,则有 select any table 权限的
数据库和表空间数据移动
数据库和表空间数据移动[@more@]数据库和表空间数据移动跨平台可传输表空间在数据仓库之间简单的数据分布允许数据库从一个平台到另一个平台的迁移最小兼容水平源数据库和目标数据库必须兼容到10.0.0或者更高数据文件头是platform-aware在Oracle中有不同的endian的区别,不同的平台有不同的endian,究竟什么是endian,在网上找到关于Big-endian和Little-endian的区别,其实Big-endian和Little-endian就是字节排序。Big-Endian 和 Little-Endian 字节排序字节排序含义Big-Endian一个Word中的高位的Byte放在内存中这个Word区域的低地址处。Lit