• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

利用分段使用映射为数据库建立HTML

发布: 2007-7-04 17:55 | 作者: admin | 来源:  网友评论 | 查看: 9次 | 进入软件测试论坛讨论

领测软件测试网

Oracle数据库中,管理tablespaces通常很难实现从SQL查询得到数据的可视化。一种实现tablespaces可视化且更加容易管理的方法是建立类似于碎片重组功能(defragmentation utilities)的分段使用映射(block usage maps)。

不需要任何图表或者图形功能,你可以使用简单的由Oracelmodplsql包产生的HTML,而modplsql包可在安装Oracle8i和9i时安装。

这其中也包含着风险,因为这一程序必须由一个DBA帐号来运行,所以DBA帐号必须将使用权限赋予每一个操作计划,而操作计划必须包含在wdbsvr.app文件中。为了保护这一文件,你必须确保这一文件只能被Oracle用户和DBA组查阅。如果你愿意把这一程序编写成一个JSP页或者servlet,你也应该非常小心,以防止外部能够使用DBA帐号。

DBA视不能在一个PL/SQL查询,所以你必须将PL/SQL安装为SYS,然后将使用权限分配给允许运行PL/SQL的帐号:

     connect sys/<password>   @blkmap.sql   grant execute on blkmap to system;   connect system/<password>   create synonym blkmap for sys.blkmap;
  

在这个例子中,我们建立一个名为blkmap包,这一blkmap包具有两个入口点。其中一个是显示tablespaces列表的一个菜单,另一个是实际使用的tablespace分段映射:

         create or replace package blkma      as   procedure ts_menu;   procedure ts_map(p_name varchar2);      end blkmap;      /      show errors;
 

Tablespace菜单的代码可以是一个与分段映射(block map)页关联的tablespaces列表:

     procedure ts_menu   is   begin     htp.p('<html>');     htp.p('<body bgcolor="white">');     htp.p('<h2>Tablespaces</h2>');     htp.p('<ul>');     for ts in (select tablespace_name from dba_tablespaces) loop       htp.p('<li><a href="blkmap.ts_map?p_id='||ts.tablespace_name||'">'         ||ts.tablespace_name||'</a></li>');     end loop;     htp.p('</ul>');     htp.p('</body>');     htp.p('</html>');   end ts_menu;
  

对于tablespace映射,可以生成一个tablespace名称,并请求包含tablespace的每一文件的分段映射。

     procedure ts_map(p_name varchar2)   is   begin     page_open;          -- open the page     htp.p('Tablespace: '||p_name);     htp.p('<hr />');     for file in     (       select file_id        from dba_data_files        where tablespace_name = p_name        order by file_id     )     loop       filemap(file.file_id);  -- generate a block map for the file       htp.p('<hr />');     end loop;     info_form;          -- generate a form for segment info     legend;           -- generate a legend for color mappings     page_close;         -- close the page   end ts_map;

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网