Oracle逻辑上将数据存储在表空间中,物理上将数据存储在数据文件中。
能只属于一个表空间和一个数据库
是模式对象数据的存储库
SYSTEM表空间
用数据库创建
非SYSTEM表空间
创建表空间的命令如下:
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf' SIZE 5M;
本地管理表空间:
Dictionary-managed表空间:
CREATE TABLE userdata
DATAFILE '/u01/oradata/userdata01.dbf'
SIZE 500M EXTENT MANAGENT DICTIONARY
DEFAULT STORAGE
(initial 1M NEXT 1M PCTINCREASE);
将字典管理的SYSTEM表空间迁移到本地管理:
DBMS_SPACE_ADMIN.
TABLESPACE_MIGRATE_mig_TO_LOCAL('SYSTEM');
CREATE UNDO TABLESPACE undo1
DATAFILE '/u01/oradata/undo01.dbf' SIZE 40M;
CREATE TEMPORARY TABLESPACE temp
TEMPFILE 'u01/oradata/temp01.dbf' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4M;
当SYSTEM表空间是本地管理时,在创建数据库时必须至少定义一个默认的临时表空间。本地管理的SYSTEM表空间不能用作默认临时存储。
如果SYSTEM是字典管理的,并且在创建数据库时没有定义默认的临时表空间,那么SYSTEM仍然用于默认的临时存储。然而,你会在ALERT.LOG中收到一个警告,说默认临时表空间是推荐的,并且在未来的版本中是必要的。
指定数据库范围的默认临时表空间
避免使用SYSTEM表空间存储临时数据
可以使用以下命令创建:
CREATE DATBASE
ALER DATABASE
在数据库创建过程中:
CREATE DATABASE DBA01
LOGFILE
GROUP 1 ('/SHOME/ORADATA/u01/redo01.log')SIZE 100M
GROUP 2 ('/SHOME/ORADATA/u02/redo02.log')SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
DATAFILE,/SHOME/ORADATA/u01/system01.dbf' SIZE 325M
UNDO TABLESPACE undotbs
DATAFILE9/SHOME/ORADATA/u02/undotbs01.dbf' SIZE 200
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE'/SHOME/ORADATA/u03/temp01.dbf' SIZE 4G
CHARACTER SET US7ASCII
数据库创建后:
ALTER DATAASE
DEFAULT TEMPORARY TABLESPACE default_temp2;
查找数据库查询DATABASE_PROPERTIES的默认临时表空间:
SELECT * from DATABASE_PROPERTIES;
默认临时表空间不能为:
- 在新的默认表空间可用之前删除
- 离线
- 修改为永久表空间
只读表空间
使用以下命令将表空间设置为只读模式:
ALTER TABLESPACE userdata READ ONLY;
使表空间离线:
ALTER TABLESPACE userdata OFFLINE;
使表空间在线:
ALTER TABLESPACE userdata ONLINE;
使用修改表空间命令修改存储设置:
ALTER TABLESPACE userdata MINIMUM EXTENT 2M;
ALTER TABLESPACE userdata
DEFAULT STORAGE (INITIAL 2M NEXT 2M MAXEXTENTS 999);
本地管理的表空间的存储设置不能被修改。
表空间可以通过以下方式调整大小:
1.修改数据文件的大小:
2.使用ALTER TABLESPACE添加数据文件
可以使用以下命令自动调整大小:
例子:
CREATE TABLESPACE user_data
DATAFILE
'/u01/oradata/userdata01.dbf' SIZE 200M
AUTOEXTEND ON NEXT 10m MAXSIZE 500M;
查询DBA_DATA_FILES视图,确定是否启用了AUTOEXTEND。
ALTER DATABASE
DATAFILE '/u03/oradata/userdata02.dbf'
RESIZE 200M;
ALTER TABLESPACE user_data
ADD DATAFILE '/u01/oradata/userdata03.dbf'
SIZE 200M;
ALTER TABLESPACE userdata RENAME
DATTAFILE '/u01/oradata/userdata01.dbf'
Tо '/u02/oradata/userdata01.dbf';
ALTER DATABASE RENAME
FILE '/u01/oradata/system01.dbf'
TO '/u03/oradata/system01.dbf';
不能删除表空间,如果它:
包括内容删除段。
包括内容和数据文件删除数据文件。
级联约束删除所有引用完整性约束。
DROP TABLESPACE userdata
INCLUDING CONTENTS AND DATAFILES;
获取表空间信息和数据文件信息可通过以下查询方式获取:
表空间信息:
DBA_TABLESPACES
V$TABLESPACE
数据文件信息:
DBA_DATA_FILES
V$DATAFILE
临时文件信息:
DBA_TEMP_FILES
V$TEMPFILES
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo8.com 版权所有 湘ICP备2023022238号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务