oracle:通过FTP访问ASM磁盘组(CENTOS5.4 + ORACLE11r2)

昨天晚上在自己家里的台式计算机上,安装了个测试环境

操作系统:CENTOS5.4   64位

数据库软件:ORACLE11R2(11.2.0.2)

除了使用asmcmd命令之外,还可以通过FTP的方式访问ASM磁盘组中的文件。

默认情况,这个ftp的端口是关闭的,可以通过下面的命令打开:

SQL> @?/rdbms/admin/catxdbdbca.sql 7788 8800
SQL> SET FEEDBACK 1
SQL> SET NUMWIDTH 10
SQL> SET LINESIZE 80
SQL> SET TRIMSPOOL ON
SQL> SET TAB OFF
SQL> SET PAGESIZE 100
SQL>
SQL> define ftpport  = &1
SQL> define httpport = &2
SQL> Rem Create a function to traverse the dom elements.
SQL> CREATE OR REPLACE FUNCTION traverseDom
  2            (parnode dbms_xmldom.DOMNode, pathSeg VARCHAR2)
  3            RETURN dbms_xmldom.DOMNode IS
  4  nodeList    dbms_xmldom.DOMNodeList;
  5  anElement   dbms_xmldom.DOMElement;
  6  aNode       dbms_xmldom.DOMNode;
  7  BEGIN
  8    -- Convert the passed in dom node to an element
  9    anElement := dbms_xmldom.makeElement(parnode);
 10 
 11    -- Select the path segment requested by the user
 12    nodeList  := dbms_xmldom.getChildrenByTagName(anElement, pathSeg);
 13 
 14    -- get the first node out of the list
 15    aNode := dbms_xmldom.item(nodeList, 0);
 16 
 17    -- return that node (ignore errors here).
 18    return aNode;
 19  END;
 20  /

Function created.

SQL>
SQL> declare
  2     configxml    sys.xmltype;
  3     configdomdoc dbms_xmldom.DOMDocument;
  4     textNode     dbms_xmldom.DOMNode;
  5     aNode        dbms_xmldom.DOMNode;
  6     protNode     dbms_xmldom.DOMNode;
  7     anElement    dbms_xmldom.DOMElement;
  8     listOfNodes  dbms_xmldom.DOMNodeList;
  9     aString      VARCHAR2(100);
 10  begin
 11 
 12  -- Select the resource and set it into the config
 13  select sys_nc_rowinfo$ into configxml from xdb.xdb$config ;
 14 
 15  -- Create a dom document out of the xmltype
 16  configdomdoc := dbms_xmldom.newDOMDocument(configxml);
 17 
 18  -- Get the root Element of the dom
 19  anElement := dbms_xmldom.getDocumentElement(configdomdoc);
 20 
 21  -- Convert this to a node
 22  aNode := dbms_xmldom.makeNode(anElement);
 23 
 24  -- Traverse One Element Down At A Time.
 25  aNode := traverseDom(aNode, 'sysconfig');
 26  protNode := traverseDom(aNode, 'protocolconfig');
 27 
 28  -- Set the FTP port by traversing /ftpconfig/ftp-port
 29  aNode := traverseDom(protNode, 'ftpconfig');
 30  aNode := traverseDom(aNode, 'ftp-port');
 31  textNode := dbms_xmldom.getFirstChild(aNode);
 32  dbms_xmldom.setNodeValue(textNode, &ftpport);
 33 
 34  -- Set the FTP port by traversing /ftpconfig/ftp-port
 35  aNode := traverseDom(protNode, 'httpconfig');
 36  aNode := traverseDom(aNode, 'http-port');
 37  textNode := dbms_xmldom.getFirstChild(aNode);
 38  dbms_xmldom.setNodeValue(textNode, &httpport);
 39 
 40  dbms_xdb.cfg_update(configxml);
 41  commit;
 42 
 43  end;
 44  /
old  32: dbms_xmldom.setNodeValue(textNode, &ftpport);
new  32: dbms_xmldom.setNodeValue(textNode, 7788);
old  38: dbms_xmldom.setNodeValue(textNode, &httpport);
new  38: dbms_xmldom.setNodeValue(textNode, 8800);

PL/SQL procedure successfully completed.

SQL>
SQL>
SQL> drop function traverseDom;

Function dropped.

这个个脚本需要SYS或者XDB用户来调用,后面跟的两个参数分别是FTP的端口和HTTP/WEBDAV的端口。

下面就可以通过端口7788来访问ASM磁盘组了(FTP使用7788 端口,使用数据库的SYSTEM帐号和密码就可以登录

截图如下:

8183550_201011202309001.jpg

 

也可以用WEB方式查看ASM文件系统信息(使用8800端口):

http://192.168.1.105:8800/

截图如下:

8183550_201011202316171.jpg

fj.pngFTP访问ASM.jpg

fj.pngweb访问ASM.jpg

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8183550/viewspace-678586/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/8183550/viewspace-678586/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值