1、在源数据库(AIX53, ORACLE10202)上备份出要导出的表空间
show">MARKETING@retail>show user;
USER is "MARKETING"
select">MARKETING@retail>select file_name from dba_data_files where tablespace_name='MARKETING_TPLAN';
FILE_NAME
--------------------------------------------------------------------------------------------------------------------------------
/oradata/market/marketing_tplan01.dbf
/oradata/market/marketing_tplan02.dbf
/oradata/market/marketing_tplan03.dbf
create">MARKETING@retail>create tablespace transp_ts datafile '/oradata/market/transp_ts01.dbf' size 100m;
Tablespace created.
create">MARKETING@retail>create tablespace transp_ts_idx datafile '/oradata/market/transp_ts_idx01.dbf' size 50m;
Tablespace created.
create">MARKETING@retail>create table custcardall_test tablespace transp_ts as select * from custcardall;
Table created.
create">MARKETING@retail>create index pk_custcardall_test on custcardall_test(monthdate,custid) tablespace transp_ts_idx;
Index created.
2
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2005.
login: oracle
oracle's Password:
*******************************************************************************
* *
* *
* Welcome to AIX Version 5.3! *
* *
* *
* Please see the README file in /usr/lpp/bos for information pertinent to *
* this release of the AIX Operating System. *
* *
* *
*******************************************************************************
Last unsuccessful login: 公元2006年08月24日 星期四 09时05分32秒 on /dev/pts/0 from 172.16.2.213
Last login: 公元2006年09月07日 星期四 09时50分59秒 on 172_16_1_169_0 from 172.16.1.169:0
[YOU HAVE NEW MAIL]
$ exp tablespaces=transp_ts transport_tablespace=y file=/oralog/transp_ts.dmp log=/oralog/transp_ts.log
Export: Release 10.2.0.2.0 - Production on Thu Sep 7 17:15:53 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Username: / as sysdba
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
Note: table data (rows) will not be exported
About to export transportable tablespace metadata...
EXP-00008: ORACLE error 29335 encountered
ORA-29335: tablespace 'TRANSP_TS' is not read only
ORA-06512: at "SYS.DBMS_PLUGTS", line 507
ORA-06512: at line 1
EXP-00000: Export terminated unsuccessfully
$
3、
alter">MARKETING@retail>alter tablespace transp_ts read only;
Tablespace altered.
4、
$ exp tablespaces=transp_ts transport_tablespace=y file=/oralog/transp_ts.dmp log=/oralog/transp_s.log
Export: Release 10.2.0.2.0 - Production on Thu Sep 7 17:18:00 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Username: / as sysdba
EXP-00004: invalid username or password
Username: / as sysdba
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
Note: table data (rows) will not be exported -- 这里提示数据并未导出,但实际上,数据被导出。
About to export transportable tablespace metadata...
For tablespace TRANSP_TS ...
. exporting cluster definitions
. exporting table definitions
. . exporting table CUSTCARDALL_TEST
. exporting referential integrity constraints
. exporting triggers
. end transportable tablespace metadata export
Export terminated successfully without warnings.
$
2、由于源数据库是AIX系统,而目标数据库是WINDOWS,他们的字节顺序不一样。
col">BI_DATA2@bi>col platform_name for a40
SELECT">BI_DATA2@bi>SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
PLATFORM_NAME ENDIAN_FORMAT
---------------------------------------- --------------
Microsoft Windows 64-bit for AMD Little
connect">BI_DATA2@bi>connect marketing@retail
Enter password: *********
Connected.
col">MARKETING@retail>col platform_name for a40
SELECT">MARKETING@retail>SELECT d.PLATFORM_NAME, ENDIAN_FORMAT
2 FROM V$TRANSPORTABLE_PLATFORM tp, V$DATABASE d
3 WHERE tp.PLATFORM_NAME = d.PLATFORM_NAME;
PLATFORM_NAME ENDIAN_FORMAT
---------------------------------------- --------------
AIX-Based Systems (64-bit) Big
这样,要实现表空间传输,必须转换数据文件中的字节顺序:
rman target /
convert tablespace transp_ts to platform 'Microsoft Windows 64-bit for AMD' format='/oralog/transp_ts_%N_%f';
AIX Version 5
(C) Copyrights by IBM and by others 1982, 2005.
login: oracle
oracle's Password:
*******************************************************************************
* *
* *
* Welcome to AIX Version 5.3! *
* *
* *
* Please see the README file in /usr/lpp/bos for information pertinent to *
* this release of the AIX Operating System. *
* *
* *
*******************************************************************************
Last unsuccessful login: 公元2006年08月24日 星期四 09时05分32秒 on /dev/pts/0 from 172.16.2.213
Last login: 公元2006年09月07日 星期四 17时15分38秒 on /dev/pts/2 from 172.16.2.213
$ rman target /
Recovery Manager: Release 10.2.0.2.0 - Production on Thu Sep 7 18:03:51 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: MARKET (DBID=4073719654)
RMAN> convert tablespace transp_ts to platform 'Microsoft Windows 64-bit for AMD' format='/oralog/
transp_ts_%N_%f';
Starting backup at 2006-09-07 18:04:47
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=910 devtype=DISK
channel ORA_DISK_1: starting datafile conversion
input datafile fno=00109 name=/oradata/market/transp_ts01.dbf
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03009: failure of backup command on ORA_DISK_1 channel at 09/07/2006 18:04:51
ORA-19504: failed to create file "/oralog/transp_ts_TRANSP_TS_109"
ORA-27038: created file already exists
Additional information: 1
RMAN> host;
$ ls -lt
总计 59928
-rw-r--r-- 1 oracle system 22322 9月04 11时13 smit.log
-rw------- 1 oracle system 50375 8月23 11时14 mbox
drwxr-xr-x 3 oracle oinstall 256 8月18 10时34 tmp
-rw-r--r-- 1 oracle oinstall 21347 8月07 09时37 psvg1
-rw-r--r-- 1 oracle oinstall 21980 8月07 09时18 psvg
-rw-r--r-- 1 oracle oinstall 0 8月01 17时41 ttt
drwxr-xr-x 2 oracle system 4096 8月01 14时01 rman
-rw-r--r-- 1 oracle oinstall 25120633 7月28 09时41 core
-rw-r--r-- 1 oracle oinstall 41090 7月28 09时34 vmstat.txt
-rw-r--r-- 1 oracle system 5033 7月12 08时58 smit.script
-rw-r--r-- 1 oracle system 5695 7月12 08时58 smit.transaction
-rw-r--r-- 1 oracle oinstall 2907 7月02 06时16 sqlnet.log
-rw-r--r-- 1 oracle oinstall 98 6月06 10时13 log2.log
-rw-r----- 1 oracle oinstall 5327060 6月06 10时10 55.sql
drwx--x--x 2 oracle system 256 5月28 12时47 Mail
drwxr-xr-x 3 oracle system 256 5月28 12时42 oradata
drwxr-x--- 3 oracle system 256 5月28 12时42 admin
drwxr-x--- 3 oracle system 256 5月28 12时42 product
drwxr-x--- 66 oracle system 4096 5月28 12时42 OraHome_1
drwxr-x--- 3 oracle system 256 5月28 12时42 oracle
drwxr-xr-x 7 oracle system 4096 5月28 12时39 oraInventory
drwxr-xr-x 2 oracle system 4096 5月28 12时39 TT_DB
-rwxr--r-- 1 oracle system 175 5月28 12时39 startdb
-rwxr--r-- 1 oracle system 115 5月28 12时39 stopdb
-rwx--x--x 1 oracle system 21 5月28 12时39 today.sh
-rw-r--r-- 1 oracle system 109 5月28 12时39 topas.error
-rw-r--r-- 1 oracle system 816 5月28 12时39 upgrade_to_10202_run_root.sh.log
drwxr-xr-x 2 oracle system 256 5月28 12时38 lost+found
$ cd /oralog
$ ls -lt
总计 411424
drwxr-xr-x 2 oracle oinstall 4096 9月07 17时34 rmanspctlback
-rw-r--r-- 1 oracle oinstall 619 9月07 17时19 transp_s.log
-rw-r--r-- 1 oracle oinstall 8192 9月07 17时19 transp_ts.dmp
-rw-r--r-- 1 oracle oinstall 659 9月07 17时18 transp_t.log
-rw-r--r-- 1 oracle oinstall 514 9月07 17时16 transp_ts.log
drwxr-xr-x 2 oracle oinstall 4096 9月07 06时50 currrmanback
drwxr-xr-x 2 oracle oinstall 20480 9月07 06时14 rmanbacktrace
-rw-r----- 1 oracle oinstall 209723392 9月06 17时17 transp_ts_TRANSP_TS_109
-rw-r--r-- 1 oracle oinstall 8192 9月06 17时05 exp_transp_ts.dmp
drwxr-xr-x 3 oracle oinstall 4096 8月14 10时06 expdp
drwxr-xr-x 2 oracle oinstall 256 6月30 06时36 prevrmanback
-rw-r--r-- 1 oracle oinstall 243834 6月26 14时11 rman_debug.log
drwxr-xr-x 6 oracle oinstall 4096 5月10 09时07 bak
-rw-r--r-- 1 oracle oinstall 610024 4月14 19时42 upgrade.log
drwxr-xr-x 3 oracle oinstall 256 3月06 2006 log
drwxrwxr-x 2 oracle oinstall 256 3月02 2006 lost+found
$ rm transp_ts_TRANSP_TS_109
$ ls -lt
总计 1808
drwxr-xr-x 2 oracle oinstall 4096 9月07 17时34 rmanspctlback
-rw-r--r-- 1 oracle oinstall 619 9月07 17时19 transp_s.log
-rw-r--r-- 1 oracle oinstall 8192 9月07 17时19 transp_ts.dmp
-rw-r--r-- 1 oracle oinstall 659 9月07 17时18 transp_t.log
-rw-r--r-- 1 oracle oinstall 514 9月07 17时16 transp_ts.log
drwxr-xr-x 2 oracle oinstall 4096 9月07 06时50 currrmanback
drwxr-xr-x 2 oracle oinstall 20480 9月07 06时14 rmanbacktrace
-rw-r--r-- 1 oracle oinstall 8192 9月06 17时05 exp_transp_ts.dmp
drwxr-xr-x 3 oracle oinstall 4096 8月14 10时06 expdp
drwxr-xr-x 2 oracle oinstall 256 6月30 06时36 prevrmanback
-rw-r--r-- 1 oracle oinstall 243834 6月26 14时11 rman_debug.log
drwxr-xr-x 6 oracle oinstall 4096 5月10 09时07 bak
-rw-r--r-- 1 oracle oinstall 610024 4月14 19时42 upgrade.log
drwxr-xr-x 3 oracle oinstall 256 3月06 2006 log
drwxrwxr-x 2 oracle oinstall 256 3月02 2006 lost+found
$ exit
host command complete
RMAN> convert tablespace transp_ts to platform 'Microsoft Windows 64-bit for AMD' format='/oralog/
transp_ts_%N_%f';
Starting backup at 2006-09-07 18:05:47
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile conversion
input datafile fno=00109 name=/oradata/market/transp_ts01.dbf
converted datafile=/oralog/transp_ts_TRANSP_TS_109
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:07
Finished backup at 2006-09-07 18:05:55
RMAN>
3、将exp出来的dmp文件,rman转换后生成的文件传输到目标数据库。
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
C:Oracleproduct10.2.0db_1BIN>cd D:rmanbackupexpdpdataexpdpbackup
C:Oracleproduct10.2.0db_1BIN>d:
D:rmanbackupexpdpdataexpdpbackup>ftp 172.16.100.29
Connected to 172.16.100.29.
220 IBM3 FTP server (Version 4.2 Thu Jul 21 05:28:02 CDT 2005) ready.
User (172.16.100.29:(none)): oracle
331 Password required for oracle.
Password:
230-Last unsuccessful login: 公元2006年08月24日 星期四 09时05分32秒 on /dev/pts/0 from 172.16.2.
213
230-Last login: 公元2006年09月07日 星期四 18时10分43秒 on ftp from ::ffff:172.16.0.52
230 User oracle logged in.
ftp> cd /oralog
250 CWD command successful.
ftp> ls -lt
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 206624
-rw-r--r-- 1 oracle oinstall 619 9月07 18时09 transp_s.log
-rw-r--r-- 1 oracle oinstall 8192 9月07 18时09 transp_ts.dmp
-rw-r----- 1 oracle oinstall 104865792 9月07 18时05 transp_ts_TRANSP_TS_109
drwxr-xr-x 2 oracle oinstall 4096 9月07 17时34 rmanspctlback
-rw-r--r-- 1 oracle oinstall 659 9月07 17时18 transp_t.log
-rw-r--r-- 1 oracle oinstall 514 9月07 17时16 transp_ts.log
drwxr-xr-x 2 oracle oinstall 4096 9月07 06时50 currrmanback
drwxr-xr-x 2 oracle oinstall 20480 9月07 06时14 rmanbacktrace
-rw-r--r-- 1 oracle oinstall 8192 9月06 17时05 exp_transp_ts.dmp
drwxr-xr-x 3 oracle oinstall 4096 8月14 10时06 expdp
drwxr-xr-x 2 oracle oinstall 256 6月30 06时36 prevrmanback
-rw-r--r-- 1 oracle oinstall 243834 6月26 14时11 rman_debug.log
drwxr-xr-x 6 oracle oinstall 4096 5月10 09时07 bak
-rw-r--r-- 1 oracle oinstall 610024 4月14 19时42 upgrade.log
drwxr-xr-x 3 oracle oinstall 256 3月06 2006 log
drwxrwxr-x 2 oracle oinstall 256 3月02 2006 lost+found
226 Transfer complete.
ftp: 1160 bytes received in 0.08Seconds 14.87Kbytes/sec.
ftp> bin -- 记住使用二进制方式传送
200 Type set to I.
ftp> get transp_ts.dmp
200 PORT command successful.
150 Opening data connection for transp_ts.dmp (8192 bytes).
226 Transfer complete.
ftp: 8192 bytes received in 0.00Seconds 8192000.00Kbytes/sec.
ftp> get transp_ts.log
200 PORT command successful.
150 Opening data connection for transp_ts.log (514 bytes).
226 Transfer complete.
ftp: 514 bytes received in 0.03Seconds 16.58Kbytes/sec.
ftp>
C:Oracleproduct10.2.0db_1BIN>cd D:rmanbackupexpdpdataexpdpbackup
C:Oracleproduct10.2.0db_1BIN>d:
D:rmanbackupexpdpdataexpdpbackup>ftp 172.16.100.29
Connected to 172.16.100.29.
220 IBM3 FTP server (Version 4.2 Thu Jul 21 05:28:02 CDT 2005) ready.
User (172.16.100.29:(none)): oracle
331 Password required for oracle.
Password:
230-Last unsuccessful login: 公元2006年08月24日 星期四 09时05分32秒 on /dev/pts/0 from 172.16.2.
213
230-Last login: 公元2006年09月07日 星期四 18时18分31秒 on ftp from ::ffff:172.16.0.52
230 User oracle logged in.
ftp> cd /oralog
250 CWD command successful.
ftp> ls -lt
200 PORT command successful.
150 Opening data connection for /bin/ls.
total 206624
-rw-r--r-- 1 oracle oinstall 619 9月07 18时09 transp_s.log
-rw-r--r-- 1 oracle oinstall 8192 9月07 18时09 transp_ts.dmp
-rw-r----- 1 oracle oinstall 104865792 9月07 18时05 transp_ts_TRANSP_TS_109
drwxr-xr-x 2 oracle oinstall 4096 9月07 17时34 rmanspctlback
-rw-r--r-- 1 oracle oinstall 659 9月07 17时18 transp_t.log
-rw-r--r-- 1 oracle oinstall 514 9月07 17时16 transp_ts.log
drwxr-xr-x 2 oracle oinstall 4096 9月07 06时50 currrmanback
drwxr-xr-x 2 oracle oinstall 20480 9月07 06时14 rmanbacktrace
-rw-r--r-- 1 oracle oinstall 8192 9月06 17时05 exp_transp_ts.dmp
drwxr-xr-x 3 oracle oinstall 4096 8月14 10时06 expdp
drwxr-xr-x 2 oracle oinstall 256 6月30 06时36 prevrmanback
-rw-r--r-- 1 oracle oinstall 243834 6月26 14时11 rman_debug.log
drwxr-xr-x 6 oracle oinstall 4096 5月10 09时07 bak
-rw-r--r-- 1 oracle oinstall 610024 4月14 19时42 upgrade.log
drwxr-xr-x 3 oracle oinstall 256 3月06 2006 log
drwxrwxr-x 2 oracle oinstall 256 3月02 2006 lost+found
226 Transfer complete.
ftp: 1160 bytes received in 0.03Seconds 36.25Kbytes/sec.
ftp> bin
200 Type set to I.
ftp> get transp_ts_TRANSP_TS_109
200 PORT command successful.
150 Opening data connection for transp_ts_TRANSP_TS_109 (104865792 bytes).
226 Transfer complete.
ftp: 104865792 bytes received in 0.94Seconds 111797.22Kbytes/sec.
ftp> quit
221 Goodbye.
D:rmanbackupexpdpdataexpdpbackup>
4、在目标数据库上,转换表空间文件。
Microsoft Windows [Version 5.2.3790]
(C) Copyright 1985-2003 Microsoft Corp.
C:Oracleproduct10.2.0db_1BIN>rman target /
Recovery Manager: Release 10.2.0.2.0 - Production on Thu Sep 7 18:23:13 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
connected to target database: NCBI (DBID=4003700673)
RMAN> convert datafile 'D:rmanbackupexpdpdataexpdpbackuptransp_ts_TRANSP_TS_109'
2> db_file_name_convert 'D:rmanbackupexpdpdataexpdpbackuptransp_ts_TRANSP_TS_109',
3> 'D:oradatancbitransp_ts01.dbf';
Starting backup at 2006-09-07 18:23:24
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=20 devtype=DISK
channel ORA_DISK_1: starting datafile conversion
input filename=D:RMANBACKUPEXPDPDATAEXPDPBACKUPTRANSP_TS_TRANSP_TS_109
converted datafile=D:ORADATANCBITRANSP_TS01.DBF
channel ORA_DISK_1: datafile conversion complete, elapsed time: 00:00:08
Finished backup at 2006-09-07 18:23:34
RMAN> exit
Recovery Manager complete.
5、导入表空间。
C:Oracleproduct10.2.0db_1BIN>imp tablespaces=transp_ts transport_tablespace=y file=D:rmanbac
kupexpdpdataexpdpbackuptransp_ts.dmp log=D:rmanbackupexpdpdataexpdpbackuptransp_ts.log data
files='D:oradatancbiTRANSP_TS01.DBF'
Import: Release 10.2.0.2.0 - Production on Thu Sep 7 18:25:07 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Username: / as sysdba
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export file created by EXPORT:V10.02.01 via conventional path
About to import transportable tablespace(s) metadata...
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. importing SYS's objects into SYS
. importing SYS's objects into SYS
. importing MARKETING's objects into MARKETING
. . importing table "CUSTCARDALL_TEST"
. importing SYS's objects into SYS
Import terminated successfully without warnings.
C:Oracleproduct10.2.0db_1BIN>
到数据库里查,发现对象已经导入。
select">NCBI@NCBI>select owner from dba_tables where table_name='CUSTCARDALL_TEST';
OWNER
------------------------------
MARKETING
再测试
drop">NCBI@NCBI>drop user marketing cascade;
User dropped.
drop">NCBI@NCBI>drop tablespace transp_ts;
Tablespace dropped.
C:Oracleproduct10.2.0db_1BIN>imp tablespaces=transp_ts transport_tablespace=y file=D:rmanbac
kupexpdpdataexpdpbackuptransp_ts.dmp log=D:rmanbackupexpdpdataexpdpbackuptransp_ts.log data
files='D:oradatancbiTRANSP_TS01.DBF'
Import: Release 10.2.0.2.0 - Production on Thu Sep 7 18:27:46 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Username: / as sysdba
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export file created by EXPORT:V10.02.01 via conventional path
About to import transportable tablespace(s) metadata...
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. importing SYS's objects into SYS
. importing SYS's objects into SYS
IMP-00017: following statement failed with ORACLE error 29342:
"BEGIN sys.dbms_plugts.checkUser('MARKETING'); END;"
IMP-00003: ORACLE error 29342 encountered
ORA-29342: user MARKETING does not exist in the database
ORA-06512: at "SYS.DBMS_PLUGTS", line 1895
ORA-06512: at line 1
IMP-00000: Import terminated unsuccessfully
create">NCBI@NCBI>create user marketing identified by "1";
User created.
C:Oracleproduct10.2.0db_1BIN>imp tablespaces=transp_ts transport_tablespace=y file=D:rmanbac
kupexpdpdataexpdpbackuptransp_ts.dmp log=D:rmanbackupexpdpdataexpdpbackuptransp_ts.log data
files='D:oradatancbiTRANSP_TS01.DBF'
Import: Release 10.2.0.2.0 - Production on Thu Sep 7 18:29:42 2006
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Username: / as sysdba
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
Export file created by EXPORT:V10.02.01 via conventional path
About to import transportable tablespace(s) metadata...
import done in ZHS16GBK character set and AL16UTF16 NCHAR character set
. importing SYS's objects into SYS
. importing SYS's objects into SYS
. importing MARKETING's objects into MARKETING
. . importing table "CUSTCARDALL_TEST"
. importing SYS's objects into SYS
Import terminated successfully without warnings.
C:Oracleproduct10.2.0db_1BIN>
6、查看表空间上的对象。
select">NCBI@NCBI>select * from dba_ts_quotas where username='MARKETING';
no rows selected
select">NCBI@NCBI>select owner, segment_name from dba_segments where tablespace_name='TRANSP_TS';
OWNER SEGMENT_NAME
-------------------- ------------------------------------------------------------------
MARKETING CUSTCARDALL_TEST
select">NCBI@NCBI>select tablespace_name, plugged_in from dba_tablespaces where tablespace_name
2 in ('TRANSP_TS','USERS');
TABLESPACE_NAME PLU
------------------------------ ---
TRANSP_TS YES
USERS NO
alter">NCBI@bi>alter tablespace transp_ts read write;
Tablespace altered.
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/1112/viewspace-103723/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/1112/viewspace-103723/