频道直达:新闻 - 组网 - 安全 - 服务器 - 存储 - 系统 - 应用 - 开发 - 数据库 - 前沿 - 技术人 - 培训 - 求职 - 读书 - 教程 - 专题 - 产品 - 案例 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

Oracle中七个疑难问题的解决方法

作者: 佚名 出处:赛迪网 2007-12-24 17:14    砖    好    评论   进入论坛
阅读提示:本文给出了Oracle使用中七个疑难问题的解决方法,供大家参考!

问题1:假如发现表中有坏块,怎样检索其它未坏的数据?

答:首先需要找到坏块的ID(可以运行dbverify实现),假设为1234。运行下面的查询查找段名:

select segment_name, segment_type, block_id, blocks 
from dba_extents
where (1234 between block_id and (block_id + blocks - 1));

一旦找到坏段名称,若段是一个表,则最好建立一个临时表,存放好的数据。若段是索引,则删除它,再重建。

create table good_table 
as
select  from bad_table where rowid not in
( select /+index(bad_table, any_index)/ rowid
from bad_table where substr( rowid, 1, 8 ) = 1234)

问题2:如何关闭FORM调用REPORT时的小窗口?

答:在利用Oracle数据库的Develop 2000设计开发界面的过程中,当FORM调用REPORT时,会显示一个背景窗口REPORT BACKGROUD ENGINE,等待FORM对REPORT的调用,当FORM调用其它REPORT时,也使用这个后台服务器,不论调用多少个REPORT,这个后台服务器存在且只有一个。但当FORM与REPORT全部退出后,该窗口仍处于等待状态,不会关闭,这时,我们需要手工将其关闭。

我们可以使用以下参数在FORM调用REPORT时不显示这个小窗口:

Add_Parameter( pl_id, 
'ORACLE_SHUTDOWN',TEXT_Parameter, 'Yes' );

需要注意的是,该参数必须加在所有参数的前面,即它必须为第一个参数。

问题3:如何根据查询条件在REPORT中动态显示记录?

答:1、在REPORT的“数据模型”下面的“用户参数”中,创建用户自定义参数W_CLAUSE,W_CLAUSE为从FORM传递过来的查询条件,数据类型为字符型,缺省值为NULL。

2、修改查询Q_1,将SQL查询语句修改为select from dept &&w_clause。

3、在运行报表时,报表会自动将符合&&w_clause的查询条件记录显示出来。

如果从FORM传递过来的w_clause为where dept=1,本报表的SQL查询自动转换为select  from dept where dept=1,并在报表运行结果中显示符合该查询条件的记录,如果从FORM传递过来的w_cluase为where to_char(年度,'YYYY.MM')='2000.03',则在报表运行结果中自动显示2000年3月份的记录。

问题4:在Oracle数据库中,如何查看某表上的约束?

答:我们可以使用下面语句从all_constraints视图中查看某表上的约束:

SELECT constraint_name, table_name, r_owner, r_constraint_name 
FROM all_constraints
WHERE table_name = 'table_name' and owner = 'owner_name';

另一个视图ALL_CONS_COLUMNS也包括组成表上约束列的信息。

问题5:怎样将数据库从noarchivelog方式改变为archivelog方式?

答:首先打开Init.ora文件,确保存档日志目标指向一有效目录。

然后启动Server Manager。

svrmgrl〉 shutdown immediate 
svrmgrl〉 startup mount
svrmgrl〉 alter database archivelog;
svrmgrl〉 alter database open;
svrmgrl〉 archive log list;

在init.ora中设置参数archive_log_start=TRUE,它设置存档日志为自动启动。在Oracle 8i中支持多个存档日志的目标,因此参数修改为log_archive_dest[n],其中n为1到5。

问题6:在Oracle数据库中,我们如何增加表空间的大小?

答:在开发Oracle数据库中,我们有两种方法增加表空间的大小:

1、增加额外的数据文件到表空间中。

例如:

alter tablespace users add datafile 
'/u01/oradata/orcl/users02.dbf' size 25m; 

2、修改表空间当前的数据文件

例如:

alter database datafile 
'/u01/oradata/orcl/users01.dbf' resize 50M;

问题7:请问如何在REPORT中设置动态显示域?

答:在REPORT中设置动态显示域的方法如下:

1、在REPORT的“数据模型”下面的“用户参数”中,创建用户自定义参数,如RQ,RQ是从FORM传递过来的显示日期,数据类型为字符型。

2、在布局模型中,创建一个显示域F_1,在属性选项板中修改该显示域的源为用户自定义参数RQ,并且设为“不可见的”。

3、在动态预览中,创建一个文本域D_1,调整该文本域的位置和宽度,在该域的内容中输入&&F_1,则该域会动态显示用户定义参数RQ的值。

【相关文章】

【责任编辑:火凤凰 TEL:(010)68476606】

专题
微软Forefront企业安全解决方案
甲骨文Oracle 11g正式发布
Oracle数据库开发之PL/SQL基础应用
Oracle较真SAP-商业管理软件之战一触即发
Oracle数据库开发基础教程
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
·SQL Server入门到精通 (查看120205次)
·SQL Server 2008/2005全解 (查看100798次)
·Oracle数据库开发指南 (查看48189次)
·MySQL数据库备份 (查看46621次)
·Oracle SQL 内置函数大全 (查看44460次)
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。