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

时间:2011-12-16 03:10:02  来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:tyle="TEXT-INDENT: 2em">不需要任何图表或者图形功能,你可以使用简单的由Oracelmodplsql包产生的HTML,而modplsql包可在安装Oracle8i和9i时安装。 这其中也包含着风险,因为这一程序必须由一个DBA帐号来运行,所以DBA帐号必须将使用权限赋予每一个操作计划,而操作计划必须包含在wdbsvr.app文件中。为了保护这一文件,你必须确保这一文件只能被Oracle用...
  正文:

在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;


"利用分段使用映射为数据库建立HTML"由第二电脑网原创提供,转载请注明:http://www.002pc.com/master/College/Database/Other/2009-01-07/8765.html


关键字:

关于《利用分段使用映射为数据库建立HTML》文章的评论

站内搜索: 高级搜索

热门搜索:关键字 键盘  Windows PHP CPU style 系统 Google td tr IP function