一、移植过程记录(如果要移植,一定看完全文,包括后面的问题分析!) 基本状况: 两台小型机,一台sun250,装的是solaris8+oracle8i,机器名jgsun,ip 10.11.1.11,正在运行,有应用程序连接;一台是sunv890,装的是Solaris9+Oracle10g,机器名hssun, ip 10.11.1.19,没有运行,是新安装的机器。 要求: 将
现在 oracle发展了很多版本,也不再是单纯的存储数据的数据库了。它提供了丰富的方法论,在设计数据库应用程序的时候应该尽量挖掘。如 外部过程,可以让oracle与application server通信,可以使任务使用其他机器上的cpu资源 java store procedure&external c procedure. 如执行os 命令,以及一些数据库本身不能实现
由于控制文件所在磁盘空间满了,归档的时候无法再往控制文件中添加归档信息,导致数据库crash。 这是由于当初对文件磁盘分配没有充分考虑而导致的。 系统检查到数据库无法登陆,不过internal可以登陆察看日志文件,发现无法归档;同时检查v$session_wait发现很多session等待与归档相关的事件。In alert.logThu Mar 31 17:4
通常如果需要对主表进行修改的话,如增加字段,修改字段数据类型;这要求我们将快照/复制停掉,甚至删除快照。这样给数据同步带来麻烦。特别是主表数据很多的话,通常采用的方法是将数据导出,再建立on prebuilt table,再导入数据,建立刷新环境。这需要很多时间和回滚段等资源,还容易出错。 我们采用prebuilt table
如果需要记录每条记录被dml操作的最后时间,需要额外的设置。 提供3种方法,不过都麻烦。 1.使用触发器,当发生dml的时候,记录操作信息(需要创建日志表或者在表增加额外的字段) 2.审计 Oracle audit (日志表sys.aud$在系统表空间上,如果dml频繁可能引起表空间紧张) 3.使用logminer分析日志(麻烦,不过
表 T 3765888 rows 准备在2个字段上建立索引(object_type,object_name) ,分析过后从user_tab_columns中获得平均列长度的统计信息 avg_row_len object_name 23 avg_row_len object_type 8 9i得utlxpls虽然能够估计查询使用的临时表空间,但是仍然不能估计创建索引所需要的临时表空间数量,如下 SQL> explain p
日志中发现类似ARC0: Failed to archive log# 3 seq# 230556 的错误;正好也在asktom上看到解释。 出现如上报警的原因是实例使用了多于1个的归档进程ARCH. 日志中发现类似ARC0: Failed to archive log# 3 seq# 230556 的错误;正好也在asktom上看到解释。 出现如上报警的原因是实例使用了多于1个的归档进程ARCH
随着Internet技术的发展,Web已越来越多的被应用到各行各业。传统的基于大机或C/S结构的应用也正逐渐的为B/S(Browser/Server)结构所代替。而数据库,作为保存着大量信息的容器,使得WEB应用能够提供更加丰富多彩,及时、个性化的信息。在WEB应用中,我们经常遇到需要从数据库搜索出满足某个特征的数据记录,再显示给特定
以下操作不产生UNDO或产生很少的undo 1 ReadOnly transaction 2Direct Path 数据导入 3对临时段操作,如排序等。 其他情况,因为要保证一致读,都要产生必要的undo 以下操作不产生UNDO 1 ReadOnly transaction SQL> set transaction read only; Transaction set. SQL> select used_ublk,u
Deploying, Managing, and Administering the Oracle Internet Platform Paper #224/ Page 1 DBA PERFORMANCE TUNING FOR THE EXPERT ONLY: BEGINNERS WILL BE SMOKED! Richard J. Niemiec, TUSC ABSTRACT Version8 of the Oracle database has brought on a whole new level of issues for the DBA
我们无论使用哪种数据库,无论怎样设计数据库,我想都会遵从一个原则:数据安全性和性能高效这两个主要方面,但是关于这两个方面的话题太多,在这里就不一一陈述,我只是从数据库物理分布设计方面和大家一起简单的探讨一下。因为数据库良好的物理分布设计也是对数据安全性和性能高效影响比较大, 就象我们在建大楼之前一定要
在ORACLE里用逻辑备份工具exp导出数据时,如果使用默认参数, 会把创建索引的语句一起导出来。当数据和索引小的时候, 我们可能不太会计较导入时间; 如果数据和索引大的时候,就应该考虑导入时间的问题了。 如果在导出时选择 indexes=n 的参数, 索引类型是非唯一(nounique)要根据ORACLE数据字典dba_indexes和
我们有时候需要在本地数据库的存储过程中,或者在其他SQL语句中,要访问一个远程数据库,我们可以这样做... 在存储过程中连接远程数据库并进行操作 1. 查看远程数据库的相关数据 SERVICE_NAME 两种方式: 第一种 more $ORACLE_HOME/network/admin/tnsname.ora 一般是数据库的SID 第二种 echo $ORACLE_SID 2.修改本地数据库的 v
昨天有人问到重新创建控制文件后oracle如何知道该从那么日志开始恢复,这里牵涉到一些概念,我这里一并做答了. 首先,我们知道重新创建了控制文件后所有的归档信息都无法在控制文件里面找到了,那么oracle怎么判断从哪个日志开始恢复呢. 我们做一个controlfile dump来看一下*** 20050727 10:52:25.931*** SERVICE NAME:() 2005
Errors in file /data/oracle/spftprd1/admin/bdump/spftprd1_ckpt_19896.trc: ORA01110: data file 696: ''/data/oracle/spftprd1/index2/spftprd1_CALC_MEDIUM1_INDEX_16.dbf'' ORA01115: IO error reading block from file 696 (block # 1) ORA27063: skgfospo: number of bytes read/written is incorrect
表空间 创建表空间 SQL> create tablespace emp 2 logging 3 datafile ''/oracle/oradata/dba/emp.dbf'' size 5M extent 4 management local; 增加表空间大小 SQL> alter tablespace emp 2 add datafile ''/oracle/oradata/dba/emp_1.dbf'' size 3M; 删除表空间 SQL> drop tab
Log_buffer 对于日志缓冲区的大小设置,通常我觉得没有过多的建议,因为参考LGWR写的触发条件之后,我们会发现通常超过3M意义不是很大。作为一个正式系统,可能考虑先设置这部分为log_buffer=1—3M 大小,然后针对具体情况再调整。 Large_pool_size 对于大缓冲池的设置,假如不使用MTS,建议在20—30M 足够了。这
Ask Tom 之中英对照20051213——使用rowid定位行是否可靠 Alexander 使用rowid定位行是否可靠 版本9.2.0 原提交于美国东部时间2005年12月12日11:15,最新更新于2005年12月12日16:13 问: 你好Tom, 我在看一个客户端应用,它需要取包括ROWID在内的若干列,然后用ROWID来定位需要更新的行。 update
当设计表的时候没有建组合字段唯一约束,以后需要增加这一约束时,却发现表里已经有了很多重复记录了。 请看看我用的去掉表里组合字段重复的记录方法: 假设原始表名为source_table,字段名1为field_name1,字段名2为field_name2。 (当然稍加修改也可以用到三个及以上组合字段重复的情况) 第一步: 生成组合字段
1)v$lock 给出了锁的信息,如type字段, user type locks有3种:TM,TX,UL,system type locks有多种,常见的有:MR,RT,XR,TS等。我们只关心TM,TX锁。 当TM锁时,id1字段表示object_id;当TX锁时,trunc(id1/power(2,16))代表了回滚段号。 lmode字段,session持有的锁的模式,有6种: 0 none 1 nul