AAAA级上海IT培训学校
十年上海计算机培训
为国家培养了十五万计算机人才
咨询热线:021-65148825 021-65148870              
首页 | 企业定向培训 | 软件开发培训 | 网络工程师培训 | 图形设计培训 | IBM软件工程师 | 所有课程 | 认证考试 | 学员就业 | 交流学习论坛
课程搜索:
 首页 | SUN JAVA  |  微软 .NET  |  Oracel gi/10g  |  软件开发课程  |  软件开发技术资料  |  软件开发新闻  
软件开发培训课程
JAVA-SUN27
C/C++语言开发与
C#.NETWEB开
商务网站建设与开发
商务网站建设与开发
JAVA-SUN27
JAVA-SUN27
C/C++语言开发与
C#.NETWEB开
Oracle10g
QQ及时沟通联系
 
软件开发培训技术资料 您现在的位置:首页 > 软件开发培训 > Oracle中七个疑难问题的解决方法  
Oracle中七个疑难问题的解决方法
发表于2009-6-10 9:47:00 点击率:377人次
核心提示:问题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:假如发现表中有坏块,怎样检索其它未坏的数据?
答:首先需要找到坏块的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的值。
上一篇:不懂C++,就像编程门外汉
下一篇:Java开发环境的过去、现在和将来
下篇提示: 1995年3月23日,San Jose Mercury News登出一篇题为“Why Sun thinks Hot Java will give you a lift”的文章,在那篇文章里预言Java技术将是下一个重大事件,这个预言现在看来并不仅仅是商家的宣传伎俩,虽然文章是当时Sun的公关经理 Lisa Poulson安排撰写的。从世人知道Java那一刻起到现在,算起来已经过去整整...
关于我们  | 联系我们 | 网站地图 | 友情链接
电话:021-65148825 021-65148870
地址:大连路1548号莱克商务大厦210室(上海教育电视台对面,地铁8号线2号口)
版权所有:上海IT培训学校阜和教育 沪ICP备05047994