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;
相关推荐
倔强的石头_15 小时前
kingbase备份与恢复实战(二)—— sys_dump库级逻辑备份与恢复(Windows详细步骤)
数据库
jiayou642 天前
KingbaseES 实战:深度解析数据库对象访问权限管理
数据库
李广坤3 天前
MySQL 大表字段变更实践(改名 + 改类型 + 改长度)
数据库
爱可生开源社区4 天前
2026 年,优秀的 DBA 需要具备哪些素质?
数据库·人工智能·dba
随逸1774 天前
《从零搭建NestJS项目》
数据库·typescript
加号35 天前
windows系统下mysql多源数据库同步部署
数据库·windows·mysql
シ風箏5 天前
MySQL【部署 04】Docker部署 MySQL8.0.32 版本(网盘镜像及启动命令分享)
数据库·mysql·docker
李慕婉学姐5 天前
Springboot智慧社区系统设计与开发6n99s526(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·spring boot·后端
百锦再5 天前
Django实现接口token检测的实现方案
数据库·python·django·sqlite·flask·fastapi·pip
tryCbest5 天前
数据库SQL学习
数据库·sql