一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數(shù)據(jù)庫技術|

服務器之家 - 數(shù)據(jù)庫 - Oracle - Oracle遷移數(shù)據(jù)文件再也不用求人了

Oracle遷移數(shù)據(jù)文件再也不用求人了

2023-11-28 06:00未知服務器之家 Oracle

N 多年前安裝的 oracle 數(shù)據(jù)庫,巡檢的時候發(fā)現(xiàn)磁盤滿了,檢查發(fā)現(xiàn)是數(shù)據(jù)文件占用了很大的空間,當前存放數(shù)據(jù)文件的磁盤不能再進行擴容,于是準備把業(yè)務數(shù)據(jù)文件遷移到其他磁盤分區(qū)。 遷移數(shù)據(jù)文件主要有兩種方法: alter

N 多年前安裝的 oracle 數(shù)據(jù)庫,巡檢的時候發(fā)現(xiàn)磁盤滿了,檢查發(fā)現(xiàn)是數(shù)據(jù)文件占用了很大的空間,當前存放數(shù)據(jù)文件的磁盤不能再進行擴容,于是準備把業(yè)務數(shù)據(jù)文件遷移到其他磁盤分區(qū)。

Oracle遷移數(shù)據(jù)文件再也不用求人了

遷移數(shù)據(jù)文件主要有兩種方法:

  • alter database  rename file ··· to ···
  • alter tablespace ··· rename datafile ··· to ···
  • 這兩種方法都可以遷移數(shù)據(jù)文件,但是操作上有些不同,主要體現(xiàn)在以下方面:


    方法1:數(shù)據(jù)庫必須處于mount狀態(tài),該方法適用于所有的數(shù)據(jù)文件,包括 system 數(shù)據(jù)文件;
  • 方法2:與方法1不同,此時數(shù)據(jù)庫必須處于open狀態(tài),且該方法只適用于非 system 表空間的數(shù)據(jù)文件。

接下來以遷移TS01表空間的數(shù)據(jù)為例,分別使用兩種不同的方法進行操作:

一、使用alter database  rename file ··· to ···

首先,查看當前數(shù)據(jù)文件路徑:

SQL> select FILE_NAME,TABLESPACE_NAME from dba_data_files;

FILE_NAME        TABLESPACE
-------------------------------------------------- ----------
/u01/app/oracle/oradata/orcl/system01.dbf          SYSTEM
/u01/app/oracle/oradata/orcl/sysaux01.dbf          SYSAUX
/u01/app/oracle/oradata/orcl/undotbs01.dbf         UNDOTBS1
/u01/app/oracle/oradata/orcl/users01.dbf           USERS
/u01/app/oracle/oradata/orcl/ts01.dbf              TS01

SQL> 

在新的磁盤分區(qū)上創(chuàng)建新的數(shù)據(jù)文件存放路徑,并授予相應的用戶權限:

[root@orcldb ~]# /u02/app/oracle/oradata/orcl
[root@orcldb ~]# chown -R oracle:oinstall /u02

關閉數(shù)據(jù)庫,并拷貝文件:

SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> 
SQL> host cp /u01/app/oracle/oradata/orcl/ts01.dbf /u02/app/oracle/oradata/orcl/

將數(shù)據(jù)庫啟動到mount狀態(tài),并對數(shù)據(jù)文件進行重命名操作:

SQL> startup mount
ORACLE instance started.

Total System Global Area 2147483648 bytes
Fixed Size      8622776 bytes
Variable Size   1325403464 bytes
Database Buffers   805306368 bytes
Redo Buffers      8151040 bytes
Database mounted.
SQL> 
SQL> alter database rename file '/u01/app/oracle/oradata/orcl/ts01.dbf' to '/u02/app/oracle/oradata/orcl/ts01.dbf';

Database altered.

打開數(shù)據(jù)庫,并查看數(shù)據(jù)文件的狀態(tài),結果顯示,表空間TS01的數(shù)據(jù)文件已經(jīng)在新的路徑下了:

SQL> alter database open;

Database altered.

SQL> 
SQL> select file_name,tablespace_name,status from dba_data_files;

FILE_NAME        TABLESPACE STATUS
--------------------------------------------  ---------- ---------
/u01/app/oracle/oradata/orcl/system01.dbf     SYSTEM     AVAILABLE
/u01/app/oracle/oradata/orcl/sysaux01.dbf     SYSAUX     AVAILABLE
/u01/app/oracle/oradata/orcl/undotbs01.dbf    UNDOTBS1   AVAILABLE
/u01/app/oracle/oradata/orcl/users01.dbf      USERS      AVAILABLE
/u02/app/oracle/oradata/orcl/ts01.dbf         TS01       AVAILABLE

查詢表空間中表的數(shù)據(jù),用于驗證數(shù)據(jù)的完整性:

SQL> select owner,table_name,tablespace_name from dba_tables where tablespace_name='TS01';

OWNER  TABLE_NAME TABLESPACE
------ ---------- ----------
HARRY  EMP        TS01

SQL> 
SQL> SELECT * FROM HARRY.EMP;

 ID        USERNAME                  AGE
---------- ------------------ ----------
         1 張三                       22

結果顯示數(shù)據(jù)完好沒有丟失,接下來可以在系統(tǒng)中刪掉原來的文件從而釋放存儲空間:

[root@orcldb ~]# rm -rf /u01/app/oracle/oradata/orcl/ts01.dbf

二、使用alter tablespace ··· rename datafile ··· to ···

還是以TS01表空的數(shù)據(jù)為例,再把數(shù)據(jù)遷移回原來的路徑。

首先在EMP表中插入一條新的數(shù)據(jù):

SQL> insert into EMP values (2,'李四',20);

1 row created.

SQL> select * from EMP;

        ID USERNAME                                AGE
---------- -------------------------------- ----------
         1 張三                                     22
         2 李四                                     20

將TS01表空間offline:

SQL> alter tablespace TS01 offline normal;
Tablespace altered.
SQL> 

將表空間的數(shù)據(jù)文件拷貝回原來的位置(這里省略了目標位置的用戶權限設置):

SQL> host cp /u02/app/oracle/oradata/orcl/ts01.dbf /u01/app/oracle/oradata/orcl/;

使用alter tablespace命令rename datafile到目標位置:

SQL> alter tablespace TS01 rename datafile '/u02/app/oracle/oradata/orcl/ts01.dbf' to '/u01/app/oracle/oradata/orcl/ts01.dbf';

Tablespace altered.

將目標表空間進行online操作,并檢查數(shù)據(jù)文件路徑:

SQL>  alter tablespace TS01 online;

Tablespace altered.

SQL> select FILE_NAME,TABLESPACE_NAME from dba_data_files;

FILE_NAME          TABLESPACE
--------------------------------------------- ----------
/u01/app/oracle/oradata/orcl/system01.dbf     SYSTEM
/u01/app/oracle/oradata/orcl/sysaux01.dbf     SYSAUX
/u01/app/oracle/oradata/orcl/undotbs01.dbf    UNDOTBS1
/u01/app/oracle/oradata/orcl/users01.dbf      USERS
/u01/app/oracle/oradata/orcl/ts01.dbf         TS01

驗證表空間的數(shù)據(jù),查詢表數(shù)據(jù)沒有異常:

SQL> select * from EMP;

        ID USERNAME                                AGE
---------- -------------------------------- ----------
         1 張三                                     22
         2 李四                                     20

最后在系統(tǒng)中刪掉原來的文件從而釋放存儲空間:

[root@orcldb ~]# rm -rf /u02/app/oracle/oradata/orcl/ts01.dbf

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产suv精品一区二区四区三区 | 国产a不卡片精品免费观看 国产aaa伦理片 | www.国产在线观看 | 缴情五月天| www.青草视频 | 日韩黄色录像 | 视频在线精品 | 91热爆在线 | 四虎影视黄色 | 色综合久久天天综合观看 | 久久国产乱子伦精品免费不卡 | a级片在线观看免费 | 亚洲精品tv久久久久久久久久 | 国产精品色图 | 千金肉奴隶免费观看 | 国产免费视 | 1024亚洲天堂 | 免费全看男女拍拍拍的视频 | 欧美zoosex| 男gay网站视频免费观看 | 小舞丝袜调教喷水沦为肉奴 | 成人丁香婷婷 | 非洲黑人又大粗gay 非洲黑人bbwbbwbbw | 欧美kkk4444在线观看 | 国产高清视频一区二区 | 欧美一区二区三区免费不卡 | 成人免费一区二区三区在线观看 | 成人免费视频一区二区 | 4455永久在线观免费看片 | 外国xxx| 亚洲国产精品嫩草影院永久 | 欧美日韩一本 | 女子监狱第二季在线观看免费完整版 | 百合互慰吃奶互揉漫画 | 亚洲毛片网 | 成人女人天堂午夜视频 | 99精品国产成人一区二区 | 午夜在线播放免费人成无 | 免费观看视频网站 | 日本高h | 国产日本久久久久久久久婷婷 |