本篇文章為大家展示了怎么理解Oracle可傳輸表空間,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
我們一直強(qiáng)調(diào)成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作對(duì)于企業(yè)的重要性,如果您也覺(jué)得重要,那么就需要我們慎重對(duì)待,選擇一個(gè)安全靠譜的網(wǎng)站建設(shè)公司,企業(yè)網(wǎng)站我們建議是要么不做,要么就做好,讓網(wǎng)站能真正成為企業(yè)發(fā)展過(guò)程中的有力推手。專(zhuān)業(yè)網(wǎng)站制作公司不一定是大公司,創(chuàng)新互聯(lián)作為專(zhuān)業(yè)的網(wǎng)絡(luò)公司選擇我們就是放心。
最后我們聊聊關(guān)于ASM下的TTS使用。應(yīng)該說(shuō),ASM是Oracle在存儲(chǔ)層面的重要組件,也是在軟件層面實(shí)現(xiàn)冗余和平衡IO的關(guān)鍵解決方案。對(duì)11gR2 RAC而言,ASM是取代裸設(shè)備的重要組件。
應(yīng)用ASM的一個(gè)重要特點(diǎn)是:文件不再歸屬OS文件系統(tǒng)管理范疇,而是歸屬Oracle ASM Instance管理。數(shù)據(jù)文件的冗余、IO分散、負(fù)載均衡乃至操作都是通過(guò)Database Server Instance和ASM Intance協(xié)調(diào)完成。我們從操作系統(tǒng)中是不能涉及到的。如果要使用TTS,我們需要怎么處理呢?
8、ASM端配置使用
我們本次遷移的目標(biāo)是進(jìn)行Linux平臺(tái)之間的遷移,一端Source是ASM存儲(chǔ),而另一端是使用傳統(tǒng)的文件系統(tǒng)存儲(chǔ)。
首先是Source環(huán)境配置信息。
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
SQL> select name, platform_name from v$database;
NAME PLATFORM_NAME
--------- --------------------------------------------------------------------------------
ORA11GAS Linux IA (32-bit)
SQL> select file_name, tablespace_name from dba_data_files where tablespace_name='TTS_SIMPLE';
FILE_NAME TABLESPACE_NAME
-------------------------------------------------------------------------------- ------------------------------
+DATA/ora11gasm/datafile/tts_simple.267.799910245 TTS_SIMPLE
數(shù)據(jù)文件保存在ASM存儲(chǔ)的+DATA Disk Group中。為了進(jìn)行試驗(yàn),在表空間中創(chuàng)建一些對(duì)象。
SQL> create user tts_simple identified by tts_simple default tablespace tts_simple;
User created
SQL> grant resource, connect to tts_simple;
Grant succeeded
SQL> conn tts_simple/tts_simple@ora11gasm
Connected to Oracle Database 11g Enterprise Edition Release 11.2.0.3.0
Connected as tts_simple
SQL> create table t as select * from all_objects;
Table created
SQL> select count(*) from t;
COUNT(*)
----------
56289
Self Contained檢查。
SQL> exec dbms_tts.transport_set_check('tts_simple',true);
PL/SQL procedure successfully completed
SQL> select * from transport_set_violations;
VIOLATIONS
---------------------------------------------------------------------------
SQL> alter tablespace tts_simple read only;
Tablespace altered
使用expdp導(dǎo)出元數(shù)據(jù),首先需要?jiǎng)?chuàng)建directory對(duì)象。
[root@bspdev /]# ls -l | grep ttstest
drwxr-xr-x 2 oracle oinstall 4096 Nov 21 05:24 ttstest
[root@bspdev /]#
SQL> create directory ttsdmp as '/ttstest';
Directory created
導(dǎo)出元數(shù)據(jù)dmp包。
[oracle@bspdev ttstest]$ expdp userid=\'/ as sysdba\' transport_tablespaces=tts_simple dumpfile=tts_simple.dmp directory=ttsdmp transport_full_check=y
Export: Release 11.2.0.3.0 - Production on Wed Nov 21 05:31:04 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - Production
With the Partitioning, Automatic Storage Management, OLAP, Data Mining
and Real Application Testing options
Starting "SYS"."SYS_EXPORT_TRANSPORTABLE_01": userid="/******** AS SYSDBA" transport_tablespaces=tts_simple dumpfile=tts_simple.dmp directory=ttsdmp transport_full_check=y
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Master table "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully loaded/unloaded
******************************************************************************
Dump file set for SYS.SYS_EXPORT_TRANSPORTABLE_01 is:
/ttstest/tts_simple.dmp
******************************************************************************
Datafiles required for transportable tablespace TTS_SIMPLE:
+DATA/ora11gasm/datafile/tts_simple.267.799910245
Job "SYS"."SYS_EXPORT_TRANSPORTABLE_01" successfully completed at 05:31:49
下面是一個(gè)實(shí)驗(yàn)的關(guān)鍵步驟,就是拷貝出數(shù)據(jù)文件。在傳統(tǒng)的文件系統(tǒng)中,我們可以直接使用FTP/SFTP將數(shù)據(jù)文件拷貝到目標(biāo)Target端。但是在ASM情況下,我們操作系統(tǒng)的命令是不管用的。
問(wèn)題的核心問(wèn)題就是,如何從ASM Diskgroup中將數(shù)據(jù)文件拷貝到文件系統(tǒng)中。目前我們有兩種方法:
ü 一種是傳統(tǒng)的做法,就是利用RMAN的backup as copy方式,將數(shù)據(jù)文件原封不動(dòng)的拷貝到文件系統(tǒng)中;
ü 在11g中,ASM命令行工具asmcmd提供了cp命令,支持ASM和文件系統(tǒng)之間的拷貝操作;
我們實(shí)驗(yàn)選擇RMAN方法。
[oracle@bspdev ttstest]$ rman nocatalog
Recovery Manager: Release 11.2.0.3.0 - Production on Wed Nov 21 05:32:23 2012
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
RMAN> connect target /
connected to target database: ORA11GAS (DBID=2390045008)
using target database control file instead of recovery catalog
RMAN> backup as copy tablespace tts_simple format '/ttstest/%U';
Starting backup at 21-NOV-12
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00006 name=+DATA/ora11gasm/datafile/tts_simple.267.799910245
output file name=/ttstest/data_D-ORA11GAS_I-2390045008_TS-TTS_SIMPLE_FNO-6_0bnqrccg tag=TAG20121121T055216 RECID=3 STAMP=799912337
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
Finished backup at 21-NOV-12
Starting Control File and SPFILE Autobackup at 21-NOV-12
piece handle=+RECO/ora11gasm/autobackup/2012_11_21/s_799912339.273.799912341 comment=NONE
Finished Control File and SPFILE Autobackup at 21-NOV-12
RMAN>
我們就可以在文件系統(tǒng)中找到備份文件。
[oracle@bspdev ttstest]$ ls -l
total 10376
-rw-r----- 1 oracle asmadmin 10493952 Nov 21 05:52 data_D-ORA11GAS_I-2390045008_TS-TTS_SIMPLE_FNO-6_0bnqrccg
-rw-r--r-- 1 oracle asmadmin 1201 Nov 21 05:31 export.log
-rw-r----- 1 oracle asmadmin 106496 Nov 21 05:31 tts_simple.dmp
[oracle@bspdev ttstest]$
使用mv命令進(jìn)行重命名。
[oracle@bspdev ttstest]$ mv data_D-ORA11GAS_I-2390045008_TS-TTS_SIMPLE_FNO-6_0bnqrccg tts_simple01.dbf
[oracle@bspdev ttstest]$ ls -l
total 10376
-rw-r--r-- 1 oracle asmadmin 1201 Nov 21 05:31 export.log
-rw-r----- 1 oracle asmadmin 10493952 Nov 21 05:52 tts_simple01.dbf
-rw-r----- 1 oracle asmadmin 106496 Nov 21 05:31 tts_simple.dmp
[oracle@bspdev ttstest]$
9、目標(biāo)環(huán)境還原
我們選擇將TTS還原到非ASM的Linux平臺(tái)上。首選需要使用FTP/SFTP將dmp元數(shù)據(jù)和數(shù)據(jù)文件拷貝到Target環(huán)境上。
[root@bspdev ~]# cd /
[root@bspdev /]# mkdir ttstest
[root@bspdev /]# chown oracle:oinstall ttstest/
[root@bspdev /]# su - oracle
[oracle@bspdev ~]$ cd /ttstest/
[oracle@bspdev ttstest]$ ls -l
total 0
[oracle@bspdev ttstest]$ pwd
/ttstest
[oracle@bspdev ttstest]$
--拷貝結(jié)束
[oracle@bspdev ttstest]$ ls -l
total 10376
-rw-r--r-- 1 oracle oinstall 1201 Nov 21 06:14 export.log
-rw-r--r-- 1 oracle oinstall 10493952 Nov 21 06:14 tts_simple01.dbf
-rw-r--r-- 1 oracle oinstall 106496 Nov 21 06:14 tts_simple.dmp
將數(shù)據(jù)文件歸位,并且創(chuàng)建directory對(duì)象,用于進(jìn)行Metadata還原。
[oracle@bspdev ttstest]$ cp tts_simple01.dbf /u01/oradata/WILSON/datafile/
[oracle@bspdev ttstest]$ cd /u01/oradata/WILSON/datafile/
[oracle@bspdev datafile]$ ls -l
total 1930836
-rw-r----- 1 oracle oinstall 104865792 Nov 21 06:11 o1_mf_example_7xt46m9x_.dbf
(篇幅原因,省略部分……)
-rw-r----- 1 oracle oinstall 110108672 Nov 21 06:17 o1_mf_undotbs1_7xt3yzl5_.dbf
-rw-r----- 1 oracle oinstall 15736832 Nov 21 06:11 o1_mf_users_805nxydh_.dbf
-rw-r--r-- 1 oracle oinstall 10493952 Nov 21 06:17 tts_simple01.dbf
[oracle@bspdev datafile]$ pwd
/u01/oradata/WILSON/datafile
--Sqlplus命令
SQL> create directory ttsdmp as '/ttstest';
Directory created
SQL> create user tts_simple identified by tts_simple;
User created
SQL> grant connect, resource to tts_simple;
Grant succeeded
還原元數(shù)據(jù)信息。
[oracle@bspdev ttstest]$ impdp userid=\'/ as sysdba\' directory=ttsdmp dumpfile=tts_simple.dmp transport_datafiles='/u01/oradata/WILSON/datafile/tts_simple01.dbf'
Import: Release 11.2.0.1.0 - Production on Wed Nov 21 06:22:43 2012
Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Master table "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully loaded/unloaded
Starting "SYS"."SYS_IMPORT_TRANSPORTABLE_01": userid="/******** AS SYSDBA" directory=ttsdmp dumpfile=tts_simple.dmp transport_datafiles=/u01/oradata/WILSON/datafile/tts_simple01.dbf
Processing object type TRANSPORTABLE_EXPORT/PLUGTS_BLK
Processing object type TRANSPORTABLE_EXPORT/TABLE
Processing object type TRANSPORTABLE_EXPORT/POST_INSTANCE/PLUGTS_BLK
Job "SYS"."SYS_IMPORT_TRANSPORTABLE_01" successfully completed at 06:23:01
SQL> select file_name, tablespace_name from dba_data_files where tablespace_name like 'TTS%';
FILE_NAME TABLESPACE_NAME
-------------------------------------------------------------------------------- ------------------------------
/u01/oradata/WILSON/datafile/tts_simple01.dbf TTS_SIMPLE
SQL> alter tablespace tts_simple read write;
Tablespace altered
SQL> select count(*) from tts_simple.t;
COUNT(*)
----------
56289
10、More Complex Cases
上面的系列,我們已經(jīng)介紹了使用TTS的一些基本場(chǎng)景和處理方法。當(dāng)然,在實(shí)際工作中可以會(huì)遇到更加復(fù)雜的場(chǎng)景。比如,從RAC環(huán)境下將一個(gè)ASM保存的表空間遷移到異平臺(tái)中一個(gè)ASM的服務(wù)器上。
在官方的解決方案中,有幾個(gè)需要注意的細(xì)節(jié)。
首先就是元數(shù)據(jù)導(dǎo)出,使用expdp導(dǎo)出的時(shí)候,我們創(chuàng)建的directory可以是ASM磁盤(pán)組目錄。但是,Expdp的日志卻只能存放在文件系統(tǒng)中,所以需要額外的directory對(duì)象。
其次就是傳輸。Oracle推薦使用dbms_file_transfer.put_file方法將文件從一個(gè)ASM傳出到另一個(gè)ASM或者文件系統(tǒng)。
如果是進(jìn)行平臺(tái)轉(zhuǎn)換,要注意不要使用dbms_file_transfer進(jìn)行傳輸。因?yàn)槟壳暗腛racle版本中,這個(gè)包方法還不能支持平臺(tái)間文件的傳輸。
TTS為稱(chēng)為最快的數(shù)據(jù)遷移方法,因?yàn)槲覀儾恍枰獙?duì)數(shù)據(jù)進(jìn)行轉(zhuǎn)換,只需要消耗網(wǎng)絡(luò)傳輸文件的時(shí)間。但是,TTS針對(duì)那些很空的表空間來(lái)說(shuō),不是一件好方法。例如,一個(gè)表空間包括兩個(gè)文件,占到2G空間,但是內(nèi)部的有效數(shù)據(jù)只有10M。消耗2G網(wǎng)絡(luò)流量顯然不是好方法。
上述內(nèi)容就是怎么理解Oracle可傳輸表空間,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)頁(yè)題目:怎么理解Oracle可傳輸表空間
瀏覽路徑:http://muchs.cn/article30/geohpo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、靜態(tài)網(wǎng)站、網(wǎng)站建設(shè)、定制開(kāi)發(fā)、做網(wǎng)站、營(yíng)銷(xiāo)型網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)