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;
相关推荐
Elastic 中国社区官方博客5 小时前
搜索倍增器:推动收入、生产力和 AI 实现规模化
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
保定公民7 小时前
达梦数据库存储过程中的数组类型详解:基础数组与记录数组的差异化应用
数据库·达梦·存储过程·达梦数据库·dm8·dm
梦Arrebol8 小时前
Redis 内容及相关实验
数据库·redis
大模型码小白8 小时前
Spring AI Tool 实现自然语言操作 MySQL 数据库详解
服务器·开发语言·数据库·人工智能·python·mysql·spring
DBA大董10 小时前
TDengine3.0 DBA常用的运维命令和SQL2
运维·数据库·时序数据库·dba·tdengine
ManageEngineITSM11 小时前
什么是CMDB?配置管理数据库的定义、作用与建设方法一文讲清
大数据·数据库·人工智能·资产管理·变更管理
IvorySQL11 小时前
PostgreSQL 日报|PG19 外键快速路径隐患已修复(8 月 23 日)
数据库·postgresql
Elastic 中国社区官方博客11 小时前
OpenTelemetry Java 扩展:无需分叉 agent 即可自定义追踪
java·大数据·运维·开发语言·数据库·人工智能·elasticsearch
01传说12 小时前
redis开机自启脚本
数据库·redis·缓存