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

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

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

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: nxgx在线观看国产中文 | 免费的强动漫人物的 | 国产精品中文字幕 | 91制片厂免费观看 | 国产亚洲精品91 | 四虎在线精品免费高清在线 | 国产永久免费视频m3u8 | 午夜DV内射一区区 | 国产偷窥女洗浴在线观看亚洲 | 欧美日韩精品一区二区三区视频播放 | 久久热这里面只有精品 | 和两个男人玩3p好爽视频 | 日本男女视频 | 羞羞影院午夜男女爽爽影院网站 | 女人被男人躁得好爽免费视频 | 免费国产一级 | 亚洲成年男人的天堂网 | 国产成人愉拍精品 | 嫩草影院永久入口在线观看 | 2020精品极品国产色在线观看 | 国产精品二区高清在线 | 奇米影视一区 | 不良研究所地址一 | 精品一区二区91 | 国产91精品久久久久久久 | 国产欧美va欧美va香蕉在线观 | 欧美极品brazzers 高清 | 亚洲国产精品综合久久一线 | 天美传媒果冻传媒星空传媒 | va在线视频 | 成人亚洲欧美日韩在线观看 | 西施打开双腿下面好紧 | 91tv在线| 亚洲高清免费在线观看 | 亚洲人成在线观看一区二区 | 手机在线伦理片 | 国产资源视频在线观看 | 性一交一乱一伧老太 | 趴好撅高打屁股sp调教h | 婷婷久久综合九色综合九七 | 青春草在线观看精品免费视频 |