XML Database (XDB)使我们能够使用FTP和HTML协议访问和管理ASM磁盘组中的文件,可以方便的浏览和移入和移出。
Oracle9i 支持 XML 数据库, 8080 是 Oracle XDB ( XML 数据库) Http 服务的默认端口, Oracle XDB 的Ftp 服务,默认端口是 2100 。 这2个端口与Tomcat 的端口是冲突的,所以我们在设置的时候可以改成其他端口。如:HTTP:8888, FTP: 2222。
一. 查看端口信息
在Oracle 10g默认情况下, 数据库FTP 和 HTTP的端口是关闭的。 这个我们可以通过如下两个函数来验证。
[oracle@racdb1 ~]$ sqlplus /nolog
SQL*Plus: Release 10.2.0.1.0 - Production on Sun Dec 5 11:15:06 2010
Copyright (c) 1982, 2005, Oracle. All rights reserved.
SQL> conn / as sysdba;
Connected.
SQL> select instance_name from v$instance;
INSTANCE_NAME
----------------
orcl1
SQL> select dbms_xdb.getFTPPort from dual;
GETFTPPORT
----------
0
SQL> select dbms_xdb.getHTTPPort from dual;
GETHTTPPORT
-----------
0
SQL>
二. 查看监听
先查看一下监听,等会修改之后好做个对比:
[oracle@racdb2 ~]$ lsnrctl status
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 05-DEC-2010 11:17:13
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER_RACDB2
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 05-DEC-2010 10:42:45
Uptime 0 days 0 hr. 34 min. 27 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener_racdb2.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.6.228)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.6.226)(PORT=1521)))
-- 这里只有2个
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...
Service "+ASM_XPT" has 1 instance(s).
Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Service "oltp" has 2 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Instance "orcl2", status READY, has 2 handler(s) for this service...
Service "orcl" has 2 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Instance "orcl2", status READY, has 2 handler(s) for this service...
Service "orclXDB" has 2 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Instance "orcl2", status READY, has 1 handler(s) for this service...
Service "orcl_XPT" has 2 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Instance "orcl2", status READY, has 2 handler(s) for this service...
The command completed successfully
三. 配置FTP 和 HTTP 端口
SQL> execute dbms_xdb.sethttpport(8888);
PL/SQL procedure successfully completed.
SQL> execute dbms_xdb.setftpport(2222);
PL/SQL procedure successfully completed.
SQL> commit;
Commit complete.
SQL>
查看端口信息:
SQL> select dbms_xdb.getFTPPort from dual;
GETFTPPORT
----------
2222
SQL> select dbms_xdb.getHTTPPort from dual;
GETHTTPPORT
-----------
8888
四. 再次查看监听:
[oracle@racdb2 ~]$ lsnrctl status
LSNRCTL for Linux: Version 10.2.0.1.0 - Production on 05-DEC-2010 12:08:23
Copyright (c) 1991, 2005, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 10.2.0.1.0 - Production
Start Date 05-DEC-2010 11:31:30
Uptime 0 days 0 hr. 36 min. 53 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/10.2.0/db_1/network/admin/listener.ora
Listener Log File /u01/app/oracle/product/10.2.0/db_1/network/log/listener.log
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racdb2)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racdb2)(PORT=8888))(Presentation=HTTP)(Session=RAW))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=racdb2)(PORT=2222))(Presentation=FTP)(Session=RAW))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...
Service "+ASM_XPT" has 1 instance(s).
Instance "+ASM2", status BLOCKED, has 1 handler(s) for this service...
Service "orcl" has 2 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Instance "orcl2", status READY, has 2 handler(s) for this service...
Service "orclXDB" has 2 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Instance "orcl2", status READY, has 1 handler(s) for this service...
Service "orcl_XPT" has 2 instance(s).
Instance "orcl1", status READY, has 1 handler(s) for this service...
Instance "orcl2", status READY, has 2 handler(s) for this service...
The command completed successfully
如果没有生效,可以重启数据库 或者监听
$ srvctl stop database -d orcl
$ srvctl start database -d orcl
五. 验证FTP 和 HTTP 访问ASM
5.1 FTP 访问
[root@racdb2 bin]# ftp racdb1 2222
Connected to racdb1.
220- racdb1
Unauthorised use of this FTP server is prohibited and may be subject to civil and criminal prosecution.
220 racdb1 FTP Server (Oracle XML DB/Oracle Database) ready.
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (racdb1:root): system --数据库用户名
331 pass required for SYSTEM
Password:
230 SYSTEM logged in
Remote system type is Unix.
连接成功。 注意这里用的登录名和密码是数据库的用户和密码。 并且是非sys用户。因为sys 的密码需要家 as sysdba. 这里没办法输入。
登陆后在/sys/asm下可以找到ASM磁盘组信息。ftp的基本命令都可以使用。
Linux 终端访问 FTP 及 上传下载 文件
5.2 HTTP 访问
登陆的用户名和密码也是数据库的。