在Oracle SQL Developer执行SQL语句
1、创建永久性表空间BOOKTBS1(区自动扩展、段自动管理)
CREATE TABLESPACE BOOKTBS1
DATAFILE 'D:\ORACLE\DATA\BOOKTBS1.dbf' -- 替换为实际存储路径
SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED
EXTENT MANAGEMENT LOCAL AUTOALLOCATE
SEGMENT SPACE MANAGEMENT AUTO;
2、创建永久性表空间BOOKTBS2(区定制分配、段手动管理)
CREATE TABLESPACE BOOKTBS2
DATAFILE 'D:\ORACLE\DATA\BOOKTBS2.dbf' -- 替换为实际存储路径
SIZE 100M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 1M -- 区每次分配1MB
SEGMENT SPACE MANAGEMENT MANUAL;
3、创建临时表空间TEMP02
CREATE TEMPORARY TABLESPACE TEMP02
TEMPFILE 'D:\ORACLE\DATA\TEMP02.dbf' -- 替换为实际存储路径
SIZE 50M
AUTOEXTEND ON NEXT 5M MAXSIZE 200M;
4、将临时表空间TEMP和TEMP02加入临时表空间组TEMPGROUP
-- 假设原有临时表空间TEMP,先将其加入组
ALTER TABLESPACE TEMP TABLESPACE GROUP TEMPGROUP;
-- 将新创建的TEMP02加入组
ALTER TABLESPACE TEMP02 TABLESPACE GROUP TEMPGROUP;
5、创建撤销表空间UNDO002并设为当前撤销表空间
CREATE UNDO TABLESPACE UNDO002
DATAFILE 'D:\ORACLE\DATA\UNDO002.dbf' -- 替换为实际存储路径
SIZE 100M
AUTOEXTEND ON NEXT 10M MAXSIZE UNLIMITED;
-- 设置为当前数据库的撤销表空间
ALTER SYSTEM SET undo_tablespace = 'UNDO002' SCOPE = BOTH;
6、为BOOKTBS1添加 50MB 数据文件
ALTER TABLESPACE BOOKTBS1
ADD DATAFILE 'D:\ORACLE\DATA\BOOKTBS1_2.dbf' -- 替换为实际存储路径
SIZE 50M;
7、修改BOOKTBS2数据文件为自动扩展(每次 5MB,最大 100MB)
ALTER DATABASE DATAFILE 'D:\ORACLE\DATA\BOOKTBS2.dbf' -- 替换为步骤2中实际路径
AUTOEXTEND ON NEXT 5M MAXSIZE 100M;
8、创建表test并插入记录(存储于BOOKTBS1)
CREATE TABLE test (
ID NUMBER PRIMARY KEY,
name CHAR(20)
) TABLESPACE BOOKTBS1;
INSERT INTO test VALUES (1, 'FIRST ROW');
COMMIT;
9、将BOOKTBS1设为脱机状态并测试
-- 设置脱机
ALTER TABLESPACE BOOKTBS1 OFFLINE;
-- 测试(尝试插入数据,会报错)
INSERT INTO test VALUES (2, 'SECOND ROW');
-- 执行后会提示表空间脱机无法操作
10、将BOOKTBS1设为联机状态并测试
-- 设置联机
ALTER TABLESPACE BOOKTBS1 ONLINE;
-- 测试(插入数据成功)
INSERT INTO test VALUES (2, 'SECOND ROW');
COMMIT;
11、将BOOKTBS1设为只读状态并测试写操作
-- 设置只读
ALTER TABLESPACE BOOKTBS1 READ ONLY;
-- 测试写操作(尝试插入数据,会报错)
INSERT INTO test VALUES (3, 'THIRD ROW');
-- 执行后会提示只读表空间无法写入
12、将BOOKTBS1设为读写状态并测试读写
-- 设置读写
ALTER TABLESPACE BOOKTBS1 READ WRITE;
-- 测试写操作(插入数据成功)
INSERT INTO test VALUES (3, 'THIRD ROW');
COMMIT;
-- 测试读操作(查询数据成功)
SELECT * FROM test;
13、设置默认表空间和默认临时表空间组
-- 设置默认表空间
ALTER DATABASE DEFAULT TABLESPACE BOOKTBS1;
-- 设置默认临时表空间组
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMPGROUP;
14、备份表空间USERS、BOOKTBS1、BOOKTBS3(假设BOOKTBS3已存在)
-- 备份表空间(需在RMAN工具中执行)
-- win+R输入cmd
-- C:\Users\admin>rman target /
结果:rman target /
-- RMAN>backup tablespace USERS,BOOKTBS1,BOOKTBS3;
结果:backup tablespace USERS,BOOKTBS1,BOOKTBS3;
15、查询所有表空间及其状态信息
SELECT tablespace_name, status, contents, logging
FROM dba_tablespaces;
16、查询所有表空间及其数据文件信息
SELECT t.tablespace_name, d.file_name, d.bytes/1024/1024 "Size(MB)", d.autoextensible
FROM dba_tablespaces t, dba_data_files d
WHERE t.tablespace_name = d.tablespace_name;
17、删除表空间BOOKTBS2及其所有内容和数据文件
DROP TABLESPACE BOOKTBS2 INCLUDING CONTENTS AND DATAFILES;