2006 年 08 月 31日, 星期四

To Report Exception Rows When Enabling Constraint

alter table tbl_xxx enable primary key pk_xxx exceptions into tbl_yyyy
heroqsx 发表于:2006.08.31 23:31 ::分类: ( 常用Oracle脚本 ) ::阅读:(151次) :: Permanent link :: 引用 (0)

DBMS_STATS和ANALYZE语句之比较

1 - 两者都可以用来生成统计,但是,在10g上,ANALYZE语句生成的统计不会被OPTIMIZER使用,应该使用DBMS_STATS


2 - ANALYZE可以用来VALIDATE STRUCTURE或者LIST CHAINED ROWS,这是DBMS_STATS不能做到的


heroqsx 发表于:2006.08.31 12:42 ::分类: ( 技术日志 ) ::阅读:(151次) :: Permanent link :: 引用 (0)

2006 年 08 月 29日, 星期二

手工触发数据库实例向监听器注册自己

在10g中,数据库服务是自动向监听器注册自己的,在一般情况下,数据库实例重启后,PMON60秒内,检测是否应该注册自己。为了加快这个过程,可以使用以下语句:

alter system register


heroqsx 发表于:2006.08.29 23:45 ::分类: ( 常用Oracle脚本 ) ::阅读:(193次) :: Permanent link :: 引用 (0)

Oracle ASM 安装

今天不太忙,下载了一个RHEL 4和Oracle 10g R2,装一个试试,步骤如下:
第一步:按照OTN上的指引安装和配置RHEL 4和Oracle 10g
http://www.oracle.com/technology/pub/articles/smiley_10gdb_install.html

第二步:按照以下的指引,在RHEL 4上建立块设备磁盘组(不使用ASM Lib和Raw Device方式,直接使用Block Device)http://www.puschitz.com/TuningLinuxForOracle.shtml#UsingBlockDevicesForOracle10gRelease2InRHEL4

第三步:用DBCA配置ASM实例,建立磁盘组DGDATA(两个磁盘,普通冗余), DGLOG(1个磁盘,外部冗余), DGFLASH(一个磁盘,外部冗余)

第四步:用DBCA配置数据库实例,使用ASM,DB_CREATE_FILE_DEST指定为+DGDATA,DB_ONLINE_REDO_DEST_1指定为+DGLOG,DB_FLASH_RECOVERY_AREA指定为+DGFLASH,数据库创建比较顺利

心得:OMF是ASM的基础,了解了OMF后,ASM的使用就容易理解


heroqsx 发表于:2006.08.29 23:39 ::分类: ( 技术日志 ) ::阅读:(270次) :: Permanent link :: 引用 (0)

2006 年 08 月 25日, 星期五

OMF模式下Control File重建遇到问题

最近在练习OMF,学习重建control file的时候,用alter database backup controlfile to trace生成的SQL,尝试重建,得到错误信息如下:

ERROR at line 1:
ORA-01503: CREATE CONTROLFILE failed
ORA-09314: sltln: error translating logical name
OSD-04026: Invalid parameter passed.

有人回帖说去掉reuse就可以,好像昨天试过,今天回去再确认确认。


heroqsx 发表于:2006.08.25 10:44 ::分类: ( 技术日志 ) ::阅读:(171次) :: Permanent link :: 引用 (0)

2006 年 08 月 18日, 星期五

进行Oracle本地连接的时候,竟然出现 ORA-12154错误

一个很有意思的问题,在一个之前装过ORACLE的机器上删除数据库,卸装,重新安装,然后建库,然后发现只能通过listener做网络连接,即conn /@mydb as sysdba,使用本地连接即conn / as sysdba的时候,出现ORA-12154错误,查看注册表,ORACLE_SID设置没有问题,找了一通,结果发现有个环境变量名为"LOCAL"的,值为旧的本地实例名,删除后就没有错了。


heroqsx 发表于:2006.08.18 14:41 ::分类: ( 技术日志 ) ::阅读:(301次) :: Permanent link :: 引用 (0)

2006 年 08 月 17日, 星期四

Oracle的SGA调整后,发生TNS-12500/TNS-12560错误

昨天晚上作系统维护的时候手痒,把数据库的SGA_MAX_SIZE和SGA_TARGET从1500M调整到1800M,今天用户登陆操作一段时间后,发现无法进行新的连接:

用户端看到的错误信息:TNS-12500: TNS:listener failed to start a dedicated server process

不使用Listener,在服务器进行本地连接,看到的错误信息是:TNS-12560: TNS:protocol adapter error

究其原因,是因为建立新连接需要消耗额外的内存,由于SGA增大后,操作系统留下来得内存资源小了,可以建立的Server Process也就少了。恢复回昨天的SPFILE,系统运行正常。


heroqsx 发表于:2006.08.17 11:39 ::分类: ( 技术日志 ) ::阅读:(184次) :: Permanent link :: 引用 (0)