自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

數(shù)據(jù)庫 Oracle
遷移數(shù)據(jù)文件主要有兩種方法,這兩種方法都可以遷移數(shù)據(jù)文件,但是操作上有些不同。接下來以遷移TS01表空間的數(shù)據(jù)為例,分別使用兩種不同的方法進(jìn)行操作。

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

遷移數(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í)數(shù)據(jù)庫必須處于open狀態(tài),且該方法只適用于非 system 表空間的數(shù)據(jù)文件。

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

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

首先,查看當(dāng)前數(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ù)文件存放路徑,并授予相應(yīng)的用戶權(quán)限:

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

關(guān)閉數(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ù)庫啟動(dòng)到mount狀態(tài),并對(duì)數(shù)據(jù)文件進(jìn)行重命名操作:

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),結(jié)果顯示,表空間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ù),用于驗(yàn)證數(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

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

[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ù)文件拷貝回原來的位置(這里省略了目標(biāo)位置的用戶權(quán)限設(shè)置):

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

使用alter tablespace命令rename datafile到目標(biāo)位置:

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

Tablespace altered.

將目標(biāo)表空間進(jìn)行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

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

SQL> select * from EMP;

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

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

[root@orcldb ~]# rm -rf /u02/app/oracle/oradata/orcl/ts01.dbf
責(zé)任編輯:趙寧寧 來源: IT人家
相關(guān)推薦

2020-06-15 08:03:17

大文件OOM內(nèi)存

2021-12-21 09:05:46

命令Linux敲錯(cuò)

2015-05-29 09:01:48

2024-04-15 00:08:00

MySQLInnoDB數(shù)據(jù)庫

2021-08-13 22:38:36

大數(shù)據(jù)互聯(lián)網(wǎng)技術(shù)

2023-07-29 22:02:06

MyBatis數(shù)據(jù)庫配置

2018-10-11 15:51:32

ChromeGoogle瀏覽器

2022-06-01 10:09:39

Linux網(wǎng)絡(luò)延遲

2022-09-14 08:02:25

加密算法Bcryp

2025-04-25 10:00:00

2021-06-08 07:48:26

數(shù)據(jù) Python開發(fā)

2019-09-04 10:00:07

手機(jī)人臉識(shí)別

2020-12-18 08:23:16

安卓手機(jī)系統(tǒng)谷歌

2024-01-26 07:00:11

Python工具無向圖

2015-10-22 10:38:43

Wi-Fi燃?xì)鈭?bào)警器

2022-11-07 08:58:41

搜索數(shù)據(jù)索引

2022-05-23 08:40:00

數(shù)據(jù)湖管理技術(shù)

2020-01-21 21:15:16

WiFi網(wǎng)絡(luò)WiFi6

2024-11-27 14:30:46

2024-08-26 00:01:00

前端性能優(yōu)化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)