今年blog流量大增
今年不到1年流量增加了好像近15w,到底是哪部分人在访问偶的blog,是文章数多了流量上来了还是偶或多或少在网络上有了那么一点点人气或者说名气访问的人多了?我想可能都有原因,不管咋说,我都会继续努力学习oracle的,只要有问题、有心得、有体会,哪怕是一点点,我想我都会写出来和大家共享的,最后谢谢大家的关注和支持.....[@more@]今年不到1年流量增加了好像近15w,到底是哪部分人在访问偶的blog,是文章数多了流量上来了还是偶或多或少在网络上有了那么一点点人气或者说名气访问的人多了?我想可能都有原因,不管咋说,我都会继续努
ORACLE_SID环境变量设置的问题
明明在注册表里存在环境变量ORACLE_SID的设置,可执行emctl时却提示:C:>emctlEnvironment variable ORACLE_SID not defined. Please define it.C:>在系统环境变量增加ORACLE_SID的设置之后可以解决这个问题。[@more@]在系统环境变量增加ORACLE_SID的设置之后再次执行emctl发现不会出现提示:Environment variable ORACLE_SID not defined. Please define it印象中记得asmcmd也有这样的问题(记不太清楚了),oracle的有些命令为什么不去注册表中读取oracle_sid?C:>emctl start dbconsoeOracle Enterprise Manager 10g Database
自己未来公司的名字
闲的无聊,给自己未来公司起了个名字,未来有多远,不知道,也许哪一天业务需要我想注册尽是一个非常简单的过程,准备银子是首当其冲的事情[@more@]大连福(富,菲)瑞科技发展有限公司(如果是科技类),或者大连福(富,菲)瑞科技咨询服务有限公司(如果是咨询类)名字的缘由:儿子的名字中有一个瑞字,所有取一个瑞字,另外希望儿子幸福、富有,所以可能会取福或者富,如果这些都注册了,那么就取菲,之所以取菲,是如果自己有一天还能有女儿的话希望她的名字中能带一个菲字最后不管叫那个名字,他们的谐音都有free的意思,而free正代
imp导入时default 按table提交,使用commit按buffer提交
imp导入时default每导入一个表提交一次,如果使用commit=y则每buffer提交一次,如果担心undo空间不够,则可以考虑使用commit=y同时为了防止commit过于频繁影响性能,最后别忘了适当的增大buffer[@more@]C:>exp test/test@orcl file='c:bakt.dmp' tables=t2Export: Release 10.2.0.1.0 - Production on 星期四 9月 3 19:16:44 2009Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options已导出
expdp和impdp自动使用resumable特性
对比expdp、impdp和exp、imp发现前者没有了resumable功能,测试发现expdp和impdp自动使用了resumable特性[@more@]C:>expdp test/test@orcl directory=dir_temp dumpfile=t.dmp tables=t2Export: Release 10.2.0.1.0 - Production on 星期四, 03 9月, 2009 18:41:41Copyright (c) 2003, 2005, Oracle. All rights reserved.连接到: Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining options启动 "TEST"."SYS_EXPORT_TABLE_01": test/*******
如何给asm管理的db镜像controlfile
由于asm管理的db包含的controlfile无法直接拷贝,因此给asm管理的db镜像controlfile就不能shutdown db之后拷贝控制文件,下面通过重新重建controlfile的办法来给asm管理的db增加controlfile的镜像[@more@]步骤如下:1、SQL> show parameter spfileNAME TYPE VALUE------------------------------------ ----------- ------------------------------spfile string E:ORACLEPRODUCT10.2.0DB_1 DATABASESPFI
在rman中如果有增量备份的话恢复时系统不会找归档日志进行恢复
如果增量备份和归档日志都存在,在rman中进行恢复时系统始终会找增量备份而不会使用归档日志来恢复。[@more@]在rman中使用backup incremental level=0 cumulative database;做一次累计0级备份使用backup incremental level=2 cumulative database;连续做2次2级备份备份之后存在的备份集如下:--=============================BS 关键字 类型 LV 大小 设备类型 经过时间 完成时间------- ---- -- ---------- ----------- ------------ -------------------1071 Incr 0 283.65M DISK 00:00:50 2009/09/02 10:26:12BP 关键字: 1075 状态: AVA
RMAN中备份表空间名为'TEST'时需要注意!
'TEST'算是oracle的一个保留字,因此在有些地方使用时要注意,目前我发现在rman中备份时oracle把它作为保留字对待.从这里清楚的看到http://download.oracle.com/docs/cd/B19306_01/backup.102/b14194/rcmcomma001.htm#RCMRF909TEST在rman里确实是保留字...[@more@]备份其它表空间时只需要直接写表空间名字就可以:RMAN> backup tablespace undotbs2,users1,test2;启动 backup 于 2009/09/01 19:37:14使用通道 ORA_DISK_1通道 ORA_DISK_1: 启动全部数据文件备份集通道 ORA_DISK_1: 正在指定备份集中的数据文件输入数据文件 fno=00004 name=
修改参数db_recovery_file_dest时需要注意!
前两天在pub上看到有人遇到了这个问题,今天讲课时遇到了,可晚上再模拟时却死活都再现不了了.[@more@]问题就是先屏蔽了flash recovery area功能,之后又恢复该功能,结果在修改参数db_recovery_file_dest时需要在目录后面加上"",否则参数可以修改,但是还是不能启动flash recovery area功能;不过再次模拟时却不能再现:下面db_recovery_file_dest对应的目录之所以后面有"",就是下午在修改参数db_recovery_file_dest时如果不在目录"E:oracleproduct10.2.0flash_recovery_area"的后面加上""的就无法启用
hp dp(data protector)使用大致配置步骤
整理一下,备查.[@more@]hp dp(data protector)使用大致配置步骤1.首选在连接带库的server上安装cell manager(在windows professional上能否安装不得而知,至少在xp home版上无法安装)2.在需要备份的db的server端安装dp client3.在cell manager中添加client,在添加之前最好在各自机器的hosts文件中加入双方的ip和hostname对应关系(有dns的情况下是否需要加入没有验证过)4.在cell manager中添加user,首先创建一个group,也可以使用安装cell manager时它自己创建的group(如admin group),之后在group中添加用户,这个用户用来验证client端连
监视index的使用看看是否需要重建!
我们知道index的key值被删除之后其使用的空间并不会理解释放,只有当这个index block空间完全不被使用之后才可以被再次使用,这也就是index的pctused为0的缘故。有些时候由于表中的数据被大量删除,此时index的leaf block中保留了很多没有用的key 值,不仅浪费了空间,而且再次使用该index时效率可能也极其低下,可以通过对index的监视以及对index结构的有效性验证来判断index是否需要重建,重建时在高可用性系统中当然还需要考虑lock的问题。[@more@]SQL> desc t 名称 是否为空? 类型 ---------
data buffer cache的一点总结。
这部分东西涉及的参数较多,感觉稍微有些乱,简单的总结一下。[@more@]SQL> show parameter db_block_sizeNAME TYPE VALUE------------------------------------ ----------- ------------------------------db_block_size integer 8192SQL> show parameter keepNAME TYPE VALUE------------------------------------ ----------- ------------------------------buffer_pool_keep stringcontrol_f
nls参数、环境变量以及函数等起作用的顺序!
nls参数、环境变量以及函数起作用的顺序是:instance级参数--->nls_lang--->session级参数--->函数。[@more@]C:>set nls_lang=SIMPLIFIED CHINESE_CHINA.ZHS16GBKC:>sqlplus / as sysdbaSQL*Plus: Release 10.2.0.1.0 - Production on 星期三 7月 29 21:01:38 2009Copyright (c) 1982, 2005, Oracle. All rights reserved.连接到:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - ProductionWith the Partitioning, OLAP and Data Mining optionsSQL> show parameter nls_date_formatNAME
ASM Buffer Cache是用来做什么的!
10g在视图v$sga_dynamic_components中我们注意到多了一个component:ASM Buffer Cache,并且在instance_type=asm的实例中该参数有值,也就是说该参数是为asm实例所使用,它是用来做什么,在doc中搜了一下没找到,我猜测应该和db_cache_size的作用差不多,估计是用来cache disk header信息的。[@more@]SQL> select component,current_size from v$sga_dynamic_components;COMPONENT CURRENT_SIZE------------------------------ ------------shared pool 41943040large pool
使用call在sqlplus中调用procedure和funtion!
call 不可以使用在plsql中,只能在sqlplus中使用。[@more@]SQL> create or replace procedure proc_test2 is3 v_count number;4 begin5 select count(*) into v_count from tt;6 dbms_output.put_line(v_count);7 end;8 /过程已创建。SQL> set serveroutput onSQL> call proc_test();2调用完成。--使用call调用过程时即使过程没有参数依然要加上括号SQL> exec proc_test;2PL/SQL 过程已成功完成。SQL> create or replace function fun_test(p_a int , p_b int)2 return number3 is4 begin5 return p_a/p_b;6 end fun_test;
修改+asm的名字!
使用asm创建db时oracle缺省的asm实例的sid是+asm,这个sid有时候使用起来很不方便,比如我想通过plsql developer来查询和asm实例相关的视图:V$ASM_DISKGROUP、V$ASM_DISK等,因为这些视图有很多列,通过sqlplus直接查询很不方便;或者说我想远程连接asm实例,此时都需要通过配置tns来连接,既然通过tns来连,那么必然要配置listener,但是+是特殊符合,没法在listener中书写,因此为了使用方便,我们可以尝试修改+asm为asm或者其他名字,总之只要不含特殊字符能配置listener和tns就可以[@more@]在win下修改步骤大致是:(假设要把+asm->
11g视图dba_segments中增加了一个有用的segment_subtype字段!
以前我们要查一个segment所在的表空间是assm还是mssm,需要查看这个segment所在的表空间的segment_space_management 字段属性,在11g中不需要了,只需要查看dba_segments的segment_subtype就可以了,看似一个小小的改进,却给dba们带来了方便。[@more@]SQL> select segment_name,segment_type,segment_subtype,tablespace_name from dba_segments where owner='SYS' and segment_name='T';SEGMENT_NA SEGMENT_TYPE SEGMENT_SUBTYPE TABLESPACE---------- ------------------ -------------------- ----------T TABLE ASSM TESTSQL>
HWM下被使用了的block占hwm下所有block的百分比计算!
可以大致看一下hwm下有多少block是free的。[@more@]SQL> select count(*) from t; COUNT(*)---------- 126264SQL> delete from t where object_id<14000;已删除96216行。SQL> commit;提交完成。SQL> analyze table t compute statistics;表已分析。SQL> select blocks,empty_blocks,num_rows from dba_tables where table_name='T' and owner='SYS'; BLOCKS EMPTY_BLOCKS NUM_ROWS---------- ------------ ---------- 1756 36 30048SQL> select count(distinct dbms_rowid.rowid_block
About the Oracle Universal Installer Inventory!
The Oracle Universal Installer inventory stores information about all Oracle software products installed in all Oracle homes on a host, provided the product was installed using Oracle Universal Installer.Inventory information is stored in Extensible Markup Language (XML) format. The XML format allows for easier diagnosis of problems and faster loading of data. Any secure information is not stored directly in the inventory. As a result, during removal of some products, you may be prompted to ente
2篇对session产生sql跟踪信息的不错的文章!
http://www.eygle.com/case/Use.sql_trace.to.Diagnose.database.htmhttp://xiaoxiongg.itpub.net/post/6060/31115[@more@]http://www.eygle.com/case/Use.sql_trace.to.Diagnose.database.htmhttp://xiaoxiongg.itpub.net/post/6060/31115