项目3 创建图书借阅网站项目表空间

3.2 任务1——Oracle数据库的体系结构

--- 3.2.1 数据字典 ---
-- 例3.1 --

select table_name,owner from dba_tables
where owner = 'SCOTT';
//通过dba_tables视图,了解scott用户的所有表的信息。

-- 例3.2 --

select db_unique_name from v$database;
//通过dba_tables视图,了解scott用户的所有表的信息。

--- 3.2.2 Oracle物理存储结构 ---
-- 例3.3 --

select file_name from dba_data_files;
//使用数据字典dba_data_files查看当前数据库的数据文件名称及路径

-- 例3.4 --

select name from v$controlfile;
//使用数据字典v$controlfile查看当前数据库的控制文件的名称与路径。

3.3 任务2——创建与管理表空间

--- 3.3.1 表空间概述 ---
-- 例3.5 --

select tablespace_name from dba_tablespaces;
//使用数据字典dba_tablespaces查看当前数据库所有表空间的名称。

--- 3.3.2 表空间的创建 ---
--- 1.创建永久表空间 ---
-- 例3.6 --

CREATE TABLESPACE booktbs
DATAFILE 'C:\booktbs.dbf' size 20M
AUTOEXTEND ON NEXT 5M
MAXSIZE 100M;
//创建一个永久本地管理表空间booktbs,数据文件设为自动增长,每次增长5MB,文件最大值为100MB。

-- 例3.7 --

CREATE TABLESPACE booktbs01
DATAFILE 'C:\booktbs01.dbf' SIZE 30M
AUTOEXTEND ON NEXT 5M
MAXSIZE 100M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;
//创建一个永久本地管理表空间booktbs01,指定其最小区间为128KB。

--- 2.创建临时表空间 ---
-- 例3.8 --

CREATE TEMPORARY TABLESPACE booktemptbs
TEMPFILE 'C:\booktemptbs.dbf'
SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 16M;
//创建一个临时表空间temptbs。

--- 3.创建撤销表空间 ---
-- 例3.9 --

CREATE UNDO TABLESPACE bookundotbs
DATAFILE 'C:\bookundotbs.dbf'
SIZE 30M;
//创建一个撤销表空间undotbs

--- 4.创建大文件表空间 ---
-- 例3.10 --

CREATE BIGFILE TABLESPACE bookbigfiletbs
DATAFILE 'C:\bookbigfiletbs.dbf'
SIZE 1G;
//创建一个大文件表空间undotbs

---- 3.3.3查看表空间 ----
-- 例3.11 --

SELECT NAME FROM V$TABLESPACE;
//查看视图V$TABLESPACE中表空间的名字。

-- 例3.12 --

SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;
//通过视图DBA_TABLESPACES查看所有表空间的名字、类型及状态信息。

---- 3.3.4修改表空间 ----
--- 1.重命名表空间 ---
-- 例3.13 --

ALTER TABLESPACE booktbs01 RENAME TO booktbs02;
//将表空间booktbs01修改为booktbs02。

--- 2.修改表空间文件 ---

ALTER DATABASE DATAFILE file_name RESIZE newsize K|M
//修改表空间文件大小

-- 例3.14 --

SELECT tablespace_name,file_name,bytes
FROM dba_data_files
WHERE tablespace_name = 'BOOKTBS02';
//通过数据字典dba_data_files查看booktbs02表空间数据文件信息。file_name字段表示数据文件的名称与路径;bytes字段表示数据文件的大小。

-- 例3.15 --

ALTER DATABASE
DATAFILE 'C:\booktbs01.dbf'
RESIZE 40M;
//修改booktbs01表空间对应数据文件的大小。

-- 例3.16 --

ALTER TABLESPACE booktbs02
ADD DATAFILE 'C:\booktbs02.dbf' SIZE 10M;
//为刚更名的表空间booktbs02中添加数据文件booktbs02.dbf,文件大小为20MB。

-- 例3.17 --

ALTER TABLESPACE booktemptbs
ADD TEMPFILE 'C:\booktemptbs01.dbf' SIZE 20M;
//在临时表空间temptbs中添加临时文件temptbs01.dbf,文件大小为20MB。

-- 例3.18 --

ALTER DATABASE
DATAFILE 'C:\booktbs02.dbf'
AUTOEXTEND ON
NEXT 5M MAXSIZE 30M;
//修改表空间booktbs02中数据文件booktbs031.dbf的自动扩展性,自动扩展,每次增长5MB,最大值为30MB。

-- 例3.19 --

ALTER TABLESPACE booktbs02
DROP DATAFILE 'C:\booktbs02.dbf';
//删除表空间booktbs02中数据文件booktbs02.dbf。

--- 3.设置联机和脱机 ---
-- 例3.20 --

ALTER TABLESPACE booktbs02 OFFLINE;
//将表空间booktbs02设置为脱机状态。
SELECT TABLESPACE_NAME,CONTENTS,STATUS FROM DBA_TABLESPACES;
//使用DBA_TABLESPACES视图查看表空间的状态,可以看到booktbs02的状态变为OFFLINE。ONLINE联机

-- 例3.21 --

ALTER TABLESPACE booktbs02 ONLINE;
//将表空间booktbs02设置为联机状态。

--- 4.修改表空间读写属性 ---
-- 例3.22 --

ALTER TABLESPACE OrclTBS02 READ ONLY;
//将表空间OrclTBS02设置为只读表空间。

-- 例3.23 --

ALTER TABLESPACE OrclTBS02 READ WRITE;
//将表空间OrclTBS02设置为可读写状态。

---- 3.3.5删除表空间 ----
-- 例3.24 --

DROP TABLESPACE booktbs02;
//删除表空间booktbs02

-- 例3.25 --

DROP TABLESPACE booktbs02 INCLUDING CONTENTS;
//删除表空间booktbs02,同时删除其中的段。

-- 例3.26 --

DROP TABLESPACE booktbs02 INCLUDING CONTENTS AND DATAFILES;
//删除表空间booktbs02,同时删除包含的段和数据文件。

---- 3.3.6设置默认表空间 ----
-- 例3.27 --

ALTER DATABASE DEFAULT TABLESPACE BOOKTBS;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE BOOKTEMPTBS;
//设置BOOKTBS为默认的永久表空间,设置BOOKTEMPTBS为默认的临时表空间。
署名-非商业性使用-禁止演绎 4.0 国际 协议(CC BY-NC-ND 4.0)
最后修改:2022 年 12 月 23 日
如果觉得我的文章对你有帮助,可以点个赞再走喔