IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → Oracle 10g表空間物理位置轉(zhuǎn)移

Oracle 10g表空間物理位置轉(zhuǎn)移

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(7)

  上周五花了幾個小時,專門來了解了下ORACLE表空間轉(zhuǎn)移的知識,因為測試站點(diǎn)ORACLE所在的磁盤只剩下十幾M的空間了。于是我將表空間轉(zhuǎn)移到另外一個磁盤,過程如下:

  操作環(huán)境:

  數(shù)據(jù)庫:Oracle Database 10g Enterprise Edition Release 10.2.0.1.0

  表空間:USERS

  轉(zhuǎn)移前使用的數(shù)據(jù)庫文件:C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF

  轉(zhuǎn)移后使用的數(shù)據(jù)庫文件:D:\DB Data\Oracle\orcl\USERS01.DBF

  簡要操作步驟:

  第一步:登陸數(shù)據(jù)庫

  第二步:停止數(shù)據(jù)庫

  第三步:在open模式下啟動數(shù)據(jù)庫

  第四步:將表空間(USERS)脫機(jī)

  第五步:手工將表空間所使用的數(shù)據(jù)庫文件(C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF),

  復(fù)制到你要轉(zhuǎn)移的目錄(D:\DB Data\Oracle\orcl\USERS01.DBF),

  第六步:將表空間與新目錄下的數(shù)據(jù)庫文件關(guān)聯(lián)

  第七步:將表空間聯(lián)機(jī),提交,OK,完成。

  詳細(xì)SQL:

  第一步:

  C:\>sqlplus /nolog

  SQL> conn / as sysdba

  第二步:

  SQL> shutdown immediate

  第三步:

  SQL> startup open

  第四步:

  SQL> alter tablespace eucrmspace offline;

  第五步:

  手工拷貝數(shù)據(jù)庫文件到你想到達(dá)的目錄下。

  第六步:【操作前后可以用SQL來查詢表空間所使用的數(shù)據(jù)庫文件的變化情況:select name from v$datafile;】

  SQL> alter tablespace eucrmspace rename datafile

  'C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF'??? to? ' D:\DB Data\Oracle\orcl\USERS01.DBF';

  第七步:

  SQL> alter tablespace eucrmspace online;

  SQL>commit;

  SQL>exit;

  注意:

  1.??? 轉(zhuǎn)移表空間時,請確保不要對該表空間執(zhí)行任何寫操作(如項目程序仍在運(yùn)行),否則可能后面報錯

  我測試了下,邊轉(zhuǎn)移邊對該表空間執(zhí)行寫操作,結(jié)果在執(zhí)行第六步時,報錯了:

  ERROR 位于第 1 行:

  ORA-01113: 文件 11 需要介質(zhì)恢復(fù)

  ORA-01110: 數(shù)據(jù)文件 11: 'D:\DB Data\Oracle\orcl\USERS01.DBF '

  2.第五步(復(fù)制文件操作),必須是在第四步之后,否則第六步可能會報錯,錯誤信息同上差不多

  3.如果第六步報錯了,只能這樣恢復(fù):將現(xiàn)在使用的數(shù)據(jù)庫文件(D:\DB Data\Oracle\orcl\USERS01.DBF),重新還原成之前所使用的數(shù)據(jù)庫文件(C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF),即重新執(zhí)行第五、六、七步,只不過第五步的SQL稍微改下。

  …….

  SQL>rollback;

  SQL> alter tablespace eucrmspace rename datafile

  ' D:\DB Data\Oracle\orcl\USERS01.DBF'??? to? 'C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF';

  ……

  下面是完整的操作命令:

  C:\Documents and Settings\XXX>sqlplus /nolog

  SQL*Plus: Release 10.2.0.1.0 - Production on 星期一 11月 15 16:29:14 2010

  Copyright (c) 1982, 2005, Oracle.? All rights reserved.

  SQL> conn / as sysdba

  已連接。

  SQL> shutdown immediate

  數(shù)據(jù)庫已經(jīng)關(guān)閉。

  已經(jīng)卸載數(shù)據(jù)庫。

  ORACLE 例程已經(jīng)關(guān)閉。

  SQL> startup open

  ORACLE 例程已經(jīng)啟動。

  Total System Global Area? 612368384 bytes

  Fixed Size????? 1250428 bytes

  Variable Size? 83889028 bytes

  Database Buffers??? 520093696 bytes

  Redo Buffers??? 7135232 bytes

  數(shù)據(jù)庫裝載完畢。

  數(shù)據(jù)庫已經(jīng)打開。

  SQL> alter tablespace users offline;

  表空間已更改。

  SQL> select name from v$datafile;

  NAME

  --------------------------------------------------------------------------------

  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF

  SQL> alter tablespace USERS rename datafile 'C:\oracle\product\10.2.0\oradata\orcl\USERS01.DBF' to 'D:\DB Data\Oracle\orcl\USERS01.DBF';

  表空間已更改。

  SQL> select name from v$datafile;

  NAME

  --------------------------------------------------------------------------------

  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF

  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF

  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF

  D:\DB DATA\ORACLE\ORCL\USERS01.DBF

  SQL> alter tablespace users online;

  表空間已更改。

  SQL> commit;

  提交完成。

關(guān)鍵詞標(biāo)簽:Oracle

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法