ORACLE问答精选_Oracle数据库_黑客防线网安服务器维护基地--Powered by WWW.RONGSEN.COM.CN

ORACLE问答精选

作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0

黑客防线网安网讯:  Q:如何使用CostBased优化器优化查询操作?  A:OracleServer提供了基于成本(CostBased)和基于规则(RuleBased)两种优化器,简称为CBO和RBO,用于确定查询操作的执行计划。CostBase...

  Q:如何使用CostBased优化优化查询操作?

  A:OracleServer提供了基于成本(CostBased)和基于规则(RuleBased)两种优化器简称为CBO和RBO用于确定查询操作的执行计划CostBased优化器将计算各种执行计划的开销,然后选出最低成本的执行计划可使用下列方法选择使用CBO:方法1:在INIT.ORA文件中设置参数OPTIMIZER_MODE=choose

  方法2:在Session级设置 OPTIMIZER_GOAL=FIRST_ROWS或ALL_ROWS例如:altersessionsetoptimizer_goal=first_rows;方法3:在查询语句中使用Hint,包括CHOOSE,ALL_ROWS,FIRST_ROWS等。

  Q:如何确定某个查询使用了哪一种优化器?

  A:使用EXPLAINPLAN命令生成该查询语句的执行计划,然后检查PLAN_TABLE表中POSITION字段,如果值为Null,说明使用了RuleBased优化器;否则表明使用了CostBased优化器。例如:

  SELECTdecode(nvl(position,-1),-1,'RBO','CBO')
  FROMplan_table
  WHEREid=0;

  Q:我的查询上周的性能很好,为什么现在查询速度很慢?

  A:这是由于执行计划被改变而造成的,下列因素将会改变一个执行计划:

  1)INIT.ORA文件中的参数OPTIMIZER_MODE被改变

  2)表上定义或改变了并行查询度

  3)使用ANALYZE命令重新分析了表,而且使用了ESTIMATE方式,因这种方式选择不同的百分比可产生不同的分析结果。

  4)DB_FILE_MULTIBLOCK_READ_COUNT参数被修改。

  5)SORT_AREA_SIZE参数被修改

  Q:为什么我的执行计划不是最好的?

  A:CBO是依赖表的一些统计信息来选择出最低成本的执行计划,当这些统计信息不准确时,产生的计划便可能不是最佳的。因而应使用ANALYZE命令及时对表进行分析统计。

  Q:当使用ESTIMATE方式对表进行分析时,选用什么百分比最好?

  A:经测试证明,使用5%的的比例较好。即提高了分析效率,又保证分析结果的准确性。

  Q:如何在Oracle8数据库中创建PartitionTable?

  A:使用CREATETABLE命令,并指定PartitionKey和每个Partition的分区范围,Partition名为可选项,如未指定,系统将自动产生Partition名。例如:CREATETABLEemp

  (EMPNONUMBER(5),
  ...)
  PARTITIONBYRANGE(EMPNO),
  emp_p1VALUESLESSTHAN(2000),
  emp_p2VALUESLESSTHAN(4000)
  emp_p3VALUESLESSTHAN(MAXVALUE);

  Q:PartitionTable有何限制?

  A:1)数据类型限制:

  PartitionTable不能包含LONG、LONGRAW、LOB及OBJECT类型的字段2)Cluster不能被分区3)Bitmap索引:Bitmap索引必须是LOCAL索引,不能是GLOBAL索引4)优化器:

  Oracle8中CostBased优化器支持Partitions,而RuleBased优化器对Partitions不敏感,无法通过Partitions获得性能的提高。

  5)PartitionTables不能跨多个数据库,所有的Partition必须存在于一个数据库中

  Q:如何建立一个与现存数据库相同,但不包含数据的空库?

  A:对全库作Export或Import时,使用参数ROWS=Y

  例如:expsystem/managerfull=Yrows=Nfile=full.dmp
  impsystem/managerfull=Yrows=Nfile=full.dmp

  Q:当ExportingProcedures和Packages时,是否会改变其时间标签(Timestamp)?

  A:不改变,这是为避免不必要的重编译。

  Q:Exp的参数VOLSIZE能否用于所有的平台?

  A:VOLSIZE只能用于UNIX系统,将数据exporting至外部介质上(如磁带)

  Q:如何通过SQL*PLUS往表中插入"'",如往表中插入i'm.

  A:在SQL*PLUS中,我们可以用chr(39)来表示"'",例如:

  sql>createtabletest(col1varchar2(10));
  sql>insertintotestvalues('i'||chr(39)||'m');
  sql>select*fromtest;
  col1
  -----
  i'm

  Q:在win95或windowsNT上运行oracleNet8Assistant或Net8EasyConfiguration时报错"unhandledexceptionerrorinJava.exe"

  A:oracleNet8Assistant或Net8EasyConfiguration调用了Java,而Java在win95或windowsNT上运行对系统的分辨率和颜色都有要求.应把系统的分辨率调到大于640x480,把系统的颜色调到大于256色但不能设置成truecolor.

  Q:安装oracle8forwindowsNT4.0需要NT的那种servicepack?

  A:安装oracle8forwindowsNT4.0需要NT的servicepack3.

  Qelphi3.0是否支持oracle8?

  A:Delphi3.0只有oracle7的driver,所以不支持oracle8.

  Delphi4.0.x有oracle8的driver,所以支持oracle8.

  Q:怎样在oracle7和oracle8之间export/import数据?

  A:必须先在oracle8数据库上以internal或sys用户运行catexp7.sql

  svrmgr>connectinternal
  svrmgr>@?/rdbms/admin/catexp7.sql

    黑客防线网安服务器维护方案本篇连接:http://www.rongsen.com.cn/show-11910-1.html
网站维护教程更新时间:2012-03-23 00:25:38  【打印此页】  【关闭
我要申请本站N点 | 黑客防线官网 |  
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479

footer  footer  footer  footer