本文共 3079 字,大约阅读时间需要 10 分钟。
昨天晚上在自己家里的台式计算机上,安装了个测试环境
操作系统:CENTOS5.4 64位
数据库软件:ORACLE11R2(11.2.0.2)
除了使用asmcmd命令之外,还可以通过FTP的方式访问ASM磁盘组中的文件。
默认情况,这个ftp的端口是关闭的,可以通过下面的命令打开:
SQL> @?/rdbms/admin/catxdbdbca.sql 7788 8800
SQL> SET FEEDBACK 1SQL> SET NUMWIDTH 10SQL> SET LINESIZE 80SQL> SET TRIMSPOOL ONSQL> SET TAB OFFSQL> SET PAGESIZE 100SQL> SQL> define ftpport = &1SQL> define httpport = &2SQL> 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帐号和密码就可以登录)
截图如下:
也可以用WEB方式查看ASM文件系统信息(使用8800端口):
截图如下:
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8183550/viewspace-678586/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8183550/viewspace-678586/