Oracle 12c实验3:实验步骤的SQL语句

在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;
相关推荐
踏月的造梦星球8 小时前
DMDPC 学习:架构、部署、运维与调优
运维·数据库·学习·架构
韩楚风9 小时前
【参天引擎】事务生命周期 / MVCC / Undo / ACID / 分布式事务 功能域整体解析
数据库·分布式·mysql·架构·cantian
renhongxia19 小时前
世界模型,是“空中楼阁”还是AGI的“最后一块拼图”?
运维·服务器·数据库·人工智能·算法·agi
程序员无隅9 小时前
Coding Agent 为什么压缩上下文后还能继续工作?上下文模块设计拆解
java·开发语言·数据库
愿做无知一猿10 小时前
Nacos连接MySQL异常?DataGrip竟成救星
数据库·mysql
G.O.G.O.G10 小时前
LeetCode SQL 从入门到精通(MySQL)06(上)
数据库·sql·mysql·leetcode
研究员子楚10 小时前
GEO行业发展标准体系白皮书V2.0-第10卷 · 全球篇:跨国标准协同与全球品牌语义治理框架
数据库·人工智能·microsoft·架构·geo
Omics Pro11 小时前
深度学习多组学互作:组内+组间
数据库·人工智能·深度学习·mysql·搜索引擎·自然语言处理
残*影13 小时前
如何优雅地保存MySQL数据变更历史?
数据库·mysql
乐观的Terry13 小时前
3、数据库设计与领域实体
java·数据库·spring boot·spring cloud·ai编程