資料庫和表空間資料移動
跨平臺可傳輸表空間
在資料倉儲之間簡單的資料分佈
允許資料庫從一個平臺到另一個平臺的遷移
最小相容水平
源資料庫和目標資料庫必須相容到10.0.0或者更高
資料檔案頭是platform-aware
在Oracle中有不同的endian的區別,不同的平臺有不同的endian,究竟什麼是endian,在網上找到關於Big-endian和Little-endian的區別,其實Big-endian和Little-endian就是位元組排序。
Big-Endian 和 Little-Endian 位元組排序
必須注意的是:表中一個Word的長度是16位,一個Byte的長度是8位。如果一個數超過一個Word的長度,必須先按Word分成若干部分,然後每一部分(即每個Word內部)按Big-Endian或者Little-Endian的不同操作來處理位元組。一個例子:如果我們將0x1234abcd寫入到以0x0000開始的記憶體中,則結果為 |
疑問:為什麼要以一個Word為基礎單位來分割而不是一個DoubleWord或者Byte?究竟就是這麼定義的還是跟具體的CPU有關,跟具體的模式(比如說16位模式、32位模式、64位模式的LE和BE定義會不同)有關?我實在是不清楚,望知道的大俠不吝指點,也希望有這方面資料(文章、程式碼)的朋友貼一些上來。 網友“問題男”回覆: 目前的儲存器,多以byte為訪問的最小單元,於是endian的問題應運而生了,當一個邏輯上的整理必須分割為物理上的若干單元時就存在了先放誰後放誰的問題 存在“如果說"跟word或者說字長根本就沒關係",假設有一資料檔案裡面有N多數順序排布,如果想以Little-Endian format讀入記憶體某區域,那麼應該怎麼讀?怎麼排?”這樣的問題是由於對於endian的實質理解的偏差,endian指的是當物理上的最小單元比邏輯上的最小單元小時,邏輯到物理的單元排布關係。這裡的“有一資料檔案裡面有N多數順序排布”,這個“有一資料”顯然不是邏輯上的最小單元,而其中的“N多數”的一個才是邏輯最小單元,於是可應用樓主表格中的原則排列,而“N多數”之間的順序則是由這“N多數”的宿主決定的,比如是你寫的程式,這個順序由你決定 剛才談到了,endian指的是當物理上的最小單元比邏輯上的最小單元小時,邏輯到物理的單元排布關係。我們們接觸到的物理單元最小都是byte,在通訊領域中,這裡往往是bit,不過原理也是類似的。 實踐可以給你更多的經驗,比如在一個嵌入式系統的通訊協議中,從底層射頻驅動到上層的協議棧全部需要實現,那麼很可能遇到多個endian的問題,底層的bit序、協議層的byte序、應用層的byte序,這些都是不同的概念 網友“rovershen ”回覆: 沒記錯的話,除了moto的68K系列和dec的sparc是big endian外,常見的cpu都是little endian。ARM同時支援big和little,實際應用中通常使用little endian。我所說的指標轉換,實際上指編譯器的隱式處理。 假設有個32位的整數,地址是0x10000000,現在要將它作為16位整數處理,忽略高位,如果是little endian,則直接從0x10000000取得,而如果是big endian,則要從0x10000002取得。 網友“穿越無邊”回覆: 這兩個術語來自於 Jonathan Swift 的《《格利佛遊記》其中交戰的兩個派別無法就應該從哪一端--小端還是大端--開啟一個半熟的雞蛋達成一致。:) 在那個時代,Swift是在諷刺英國和法國之間的持續衝突,Danny Cohen,一位網路協議的早期開創者,第一次使用這兩個術語來指代位元組順序,後來這個術語被廣泛接納了 摘自《深入理解計算機系統》 很好的一本書:) |
“endian”這個詞出自《格列佛遊記》。小人國的內戰就源於吃雞蛋時是究竟從大頭(Big-Endian)敲開還是從小頭(Little-Endian)敲開,由此曾發生過六次叛亂,其中一個皇帝送了命,另一個丟了王位。 我們一般將endian翻譯成“位元組序”,將big endian和little endian稱作“大尾”和“小尾”。 |
可以透過查詢檢視v$transportable_platform來確定當前資料庫的endian。例如在Windows平臺上可以看到他的時litter。
SQL> SELECT tp.endian_format 2 FROM v$transportable_platform tp, 3 v$database d 4 WHERE tp.platform_name = d.platform_name 5 SQL> / ENDIAN_FORMAT -------------- Little |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/222350/viewspace-907890/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- PostgreSQL:表空間-->資料庫-->表SQL資料庫
- 達夢(DM)資料庫的表空間建立和遷移維護資料庫
- 達夢資料庫系統表空間資料檔案遷移過程資料庫
- PostgreSQL在不同的表空間移動資料檔案SQL
- oracle建立臨時表空間和資料表空間以及刪除Oracle
- [轉帖]達夢資料庫-統計資料表資料量及空間表大小資料庫
- 表空間和資料檔案的管理
- DB2建立資料庫,建立表空間DB2資料庫
- 清理oracle資料庫空間Oracle資料庫
- 用傳輸表空間跨平臺遷移資料
- GBase8s 檢視資料庫表空間資訊資料庫
- 達夢資料庫表空間等空間大小查詢方法總結資料庫
- oracle 表移動表空間Oracle
- Oracle表移動表空間Oracle
- OracleDatabase——資料庫表空間dmp匯出與匯入OracleDatabase資料庫
- 乾貨分享|優炫資料庫管理之表空間資料庫
- 2.5.9 在資料庫建立期間支援大檔案表空間資料庫
- phpMyAdmin管理資料庫和資料表PHP資料庫
- 【資料庫資料恢復】SQL Server資料庫磁碟空間不足的資料恢復案例資料庫資料恢復SQLServer
- Oracle案例11——Oracle表空間資料庫檔案收縮Oracle資料庫
- 表空間與資料檔案的offline和online操作
- 如何獲取 PostgreSQL 資料庫中的表大小、資料庫大小、索引大小、模式大小、表空間大小、列大小SQL資料庫索引模式
- SciPy 空間資料
- 【資料遷移】XTTS跨平臺傳輸表空間v4TTS
- PostgreSQL-表空間、資料庫、使用者之間的關係(七)SQL資料庫
- SQLServer行版本資訊吃資料庫tempdb空間SQLServer資料庫
- Oracle undo 表空間資料檔案丟失強制啟動資料庫(沒有未提交的事務)Oracle資料庫
- 達夢資料庫表空間管理方法及實戰演示資料庫
- (Les16 執行資料庫恢復)-表空間恢復資料庫
- 資料技術大融合,HSTAP資料庫有多少想象空間?資料庫
- oracle dg庫資料檔案空間不足Oracle
- Oracle資料庫閃回區空間不足Oracle資料庫
- 移動分割槽表和分割槽索引的表空間索引
- oracle 普通表空間資料檔案壞塊Oracle
- MYSQL造資料佔用臨時表空間MySql
- 表空間(資料檔案shrink)收縮示例
- 時間和空間的完美統一!阿里雲時空資料庫正式商業化阿里資料庫
- Oracle資料庫遷移 - 異構傳輸表空間TTS HP-UX遷移至Redhat Linux 7.7Oracle資料庫TTSRedhatLinux
- GeoRapter工具將shapefile資料匯入到Oracle空間資料庫中APTOracle資料庫