Oracle 数据文件及其管理

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

1. 创建数据文件

  • 向 ORCL 数据库的 USERS 表空间中添加一个大小为 10M 的数据文件
SQL> ALTER TABLESPACE USERS ADD DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\USERS02.DBF' SIZE 10M;
  • 向 ORCL 数据库的 TEMP 表空间中添加一个大小为 5M 的数据文件
SQL> ALTER TABLESPACE TEMP ADD DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\TEMP02.DBF' SIZE 5M;

2. 修改数据文件的大小

  • 为 ORCL 数据库的 USERS 表空间添加一个自动增长的数据文件
SQL> ALTER TABLESPACE USERS ADD DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\USERS03.DBF' SIZE 10M AUTOEXTEND ON NEXT 512K MAXSIZE 50M;
  • 修改 ORCL 数据库 USERS 表空间的数据文件 USERS02.DBF 为自动增长方式
SQL> ALTER DATABASE DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\USERS02.DBF' AUTOEXTEND ON NEXT 512K MAXSIZE UNLIMITED;
  • 取消 ORCL 数据库 USERS 表空间的数据文件 USERS02.DBF 的自动增长方式
SQL> ALTER DATABASE DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\USERS02.DBF' AUTOEXTEND OFF;
  • 将 ORCL 数据库 USERS 表空间的数据文件 user02.DBF 大小设置为 8MB
SQL> ALTER DATABASE DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\USERS02.DBF' RESIZE 8M;

3. 改变数据文件的可用性

  • 在数据库归档模式下,将 ORCL 数据库 USERS 表空间的数据库文件 USERS02.DBF 脱机
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP MOUNT
SQL> ALTER DATABASE ARCHIVELOG;
SQL> ALTER DATABASE DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\USERS02.DBF' OFFLINE;
  • 将 ORCL 数据库 USERS 表空间的数据文件 USERS02.DBF 联机
SQL> ALTER DATABASE DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\USERS02.DBF' ONLINE;

在归档模式下,将数据文件联机之前需要进行恢复操作。可以使用 RECOVER DATAFILE 语句进行

SQL> RECOVER DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\USERS02.DBF';
  • 在归档模式下,将 USERS 表空间中所有的数据文件脱机,但 USERS 表空间不脱机,然后再将 USERS 表空间中所有的数据文件联机
SQL> ALTER TABLESPACE USERS DATAFILE OFFLINE;
SQL> RECOVER TABLESPACE USERS;
SQL> ALTER TABLESPACE USERS DATAFILE ONLINE;

4. 改变数据文件的名称或位置

改变同一表空间的数据文件名称和位置

  • 更改 ORCL 数据库 USERS 表空间的 USERS02.DBF 和 USERS03.DBF 文件名为 USERS002.DBF 和 USERS003.DBF
SQL> ALTER TABLESPACE USERS OFFLINE;
SQL> ALTER TABLESPACE USERS RENAME DATAFILE
    'D:\APP\ORACLE\ORADATA\ORCL\USERS02.DBF',
    'D:\APP\ORACLE\ORADATA\ORCL\USERS03.DBF' TO
    'D:\APP\ORACLE\ORADATA\ORCL\USERS002.DBF',
    'D:\APP\ORACLE\ORADATA\ORCL\USERS003.DBF';
SQL> ALTER TABLESPACE USERS ONLINE;

改变属于多个表空间的数据文件

  • 更改属于 ORCL 数据库 USERS 表空间的 USERS002.DBF 的文件位置和修改 TOOLS 表空间中的 TOOLS01.DBF 文件名
-- 关闭数据库
SQL> SHUTDOWN IMMEDIATE
SQL> STARTUP MOUNT
SQL> ALTER DATABASE RENAME FILE
    'D:\APP\ORACLE\ORADATA\ORCL\USERS002.DBF',
    'D:\APP\ORACLE\ORADATA\ORCL\tools01.DBF' TO
    'D:\APP\ORACLE\ORADATA\ORCL\USERS02.DBF',
    'D:\APP\ORACLE\ORADATA\ORCL\tools01.DBF';
-- 开启数据库
SQL> ALTER DATABASE OPEN

5. 删除数据文件

  • 删除 USERS 表空间中的数据文件 USERS03.DBF 和删除 TEMP 临时表空间中的临时数据文件 TEMP03.DBF
-- 删除 USERS 表空间中的数据文件 USERS03.DBF
SQL> ALTER TABLESPACE USERS DROP DATAFILE 'D:\APP\ORACLE\ORADATA\ORCL\USERS03.DBF';
-- 删除 TEMP 临时表空间中的临时数据文件 TEMP03.DBF
SQL> ALTER TABLESPACE TEMP DROP TEMPFILE 'D:\APP\ORACLE\ORADATA\ORCL\TEMP03.DBF';
  • 查询数据文件信息

DBA_DATA_FILES 包含数据库中所有数据文件的信息
DBA_TEMP_FILES 包含数据库中所有临时数据文件的信息
V$DATAFILE 包含从控制文件中获取的数据文件信息
V$TEMPFILE 包含所有临时文件的基本信息

转载于:https://my.oschina.net/u/3746547/blog/2051554

你可能感兴趣的:(Oracle 数据文件及其管理)