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;
相关推荐
摇滚侠10 分钟前
JDBC 基础到高级一套通关!基础篇 00-15
java·开发语言·数据库
Amnesia0_012 分钟前
MYSQL操作
数据库·mysql
兆。14 分钟前
LangChain实验跟踪集成指南:面向ML研究员
数据库·langchain
zhojiew15 分钟前
DuckLake湖仓数据格式常用操作实践以及和Iceberg的对比
数据库
万粉变现经纪人17 分钟前
2026最新CSDN博客质量分v6.0深度解读:从评分机制到80+实战提分指南
数据库·人工智能·深度学习·csdn·csdn博客·csdn博客质量分6.0·博客质量分
曹牧36 分钟前
Oracle:嵌套子查询
数据库·oracle
王莎莎-MinerU36 分钟前
Agent 时代,科学数据 API 需要重新设计
大数据·前端·数据库·人工智能·个人开发
jghhh0136 分钟前
MATLAB蒙特卡罗方法求解伊辛模型
数据库·人工智能·matlab
程序猿乐锅37 分钟前
【MySQL | 第五篇】 MySQL 性能分析:如何查询慢 SQL
java·sql·mysql
一个天蝎座 白勺 程序猿39 分钟前
时序大模型云服务快速上手:定义与核心能力
数据库·iotdb·云服务·timechoai