激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

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

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

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

Oracle遷移數據文件再也不用求人了

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

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

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

Oracle遷移數據文件再也不用求人了

遷移數據文件主要有兩種方法:

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


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

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

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

首先,查看當前數據文件路徑:

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> 

在新的磁盤分區上創建新的數據文件存放路徑,并授予相應的用戶權限:

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

關閉數據庫,并拷貝文件:

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/

將數據庫啟動到mount狀態,并對數據文件進行重命名操作:

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.

打開數據庫,并查看數據文件的狀態,結果顯示,表空間TS01的數據文件已經在新的路徑下了:

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

查詢表空間中表的數據,用于驗證數據的完整性:

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

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

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

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

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

首先在EMP表中插入一條新的數據:

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> 

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

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操作,并檢查數據文件路徑:

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

驗證表空間的數據,查詢表數據沒有異常:

SQL> select * from EMP;

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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品亚洲yourport | 中文字幕天堂在线 | 伊人久操视频 | 3级毛片 | 日本成人一区二区 | 午夜精品久久久久久久99热浪潮 | 毛片a区| 国产999精品久久久久 | 久久99国产视频 | 久久91亚洲精品久久91综合 | 一区二区久久久久草草 | 暴力肉体进入hdxxxx古装 | 欧美一级毛片特黄黄 | 国产毛毛片一区二区三区四区 | 成人毛片免费看 | 国产一区二区三区在线免费观看 | 国产亚洲在 | 综合精品视频 | 久久91亚洲精品久久91综合 | 精品国产91久久久久久浪潮蜜月 | 97青青草视频 | 国产精品自在线拍 | 久久亚洲视频网 | 国产99久久 | 男女生羞羞视频网站在线观看 | 久久综合九色综合久久久精品综合 | 极品大长腿啪啪高潮露脸 | 亚洲aⅴ免费在线观看 | 成年免费视频黄网站在线观看 | 亚洲精品a在线观看 | 国产毛片网 | 蜜桃麻豆视频 | 成人一区二区三区四区 | 一级免费观看 | 国产高潮好爽好大受不了了 | 黑人操穴| 欧美日韩中文字幕在线 | 毛片视频在线免费观看 | 亚洲精品久久久久久久久久 | 免费一级肉体全黄毛片 | 斗破苍穹在线观看免费完整观看 |