Oracle 表空间的日常维护与管理
Oracle 表空间的日常维护与管理
目录
1、创建数据表空间
查询有关表和视图:【使用版本Oracle 11gR2】
1.查看表空间信息
dba_tablespaces
v$tablespace
2.查看数据文件
dba_data_files
v$datafile
3.查看临时表空间
dba_temp_files
v$tempfile
当前的数据文件位置:
SQL> col file_name format a60;
SQL> select file_name from dba_data_files;
FILE_NAME
------------------------------------------------------------
+DGSYSTEM/kyeupdb/datafile/system.271.978829205
+DGSYSTEM/kyeupdb/datafile/sysaux.272.978829265
+DGSYSTEM/kyeupdb/datafile/undotbs1.273.978829323
+DGSYSTEM/kyeupdb/datafile/users.275.978829391
+DGSYSTEM/kyeupdb/datafile/ts_example.277.978855421
+DGSYSTEM/kyeupdb/datafile/kye01.dbf
6 rows selected.
- 创建单个数据文件的表空间
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
SYSAUX
UNDOTBS1
TEMP
USERS
TS_EXAMPLE
KYE_TBS01
7 rows selected.
SQL> create tablespace kye_tbs02 datafile '+DGSYSTEM/kyeupdb/datafile/kye02.dbf' size 2M
2 autoextend off
3 segment space management auto;
Tablespace created.
autoextend off —不自动扩展
segment space management auto —自动段管理 推荐
- 创建多个数据文件
SQL> CREATE TABLESPACE kye_tbs03 LOGGING DATAFILE
'+DGSYSTEM/kyeupdb/datafile/kye03_1.dbf' SIZE 2M AUTOEXTEND OFF,
'+DGSYSTEM/kyeupdb/datafile/kye03_2.dbf' SIZE 2M AUTOEXTEND OFF
EXTENT MANAGEMENT LOCAL
SEGMENT SPACE MANAGEMENT AUTO;
Tablespace created.
SQL> create tablespace kye_tbs04 logging datafile
2 '+DGSYSTEM/kyeupdb/datafile/kye04_1.dbf' size 2M autoextend on next 1M maxsize 20M,
3 '+DGSYSTEM/kyeupdb/datafile/kye04_2.dbf' size 2M autoextend on next 1M maxsize 20M
4 extent management local
5 segment space management auto;
Tablespace created.
- 创建大表空间
SQL> create bigfile tablespace kye_bigtbs1 datafile
2 '+DGSYSTEM/kyeupdb/datafile/kye_bigfile1.dbf' size 1G;
Tablespace created.
2、创建临时表空间
SQL> create temporary tablespace kye_tmptbs1
2 tempfile '+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1.dbf'
3 size 5M autoextend off;
Tablespace created.
3、创建 UNDO 表空间
SQL> create undo tablespace kye_undotbs1
2 datafile '+DGSYSTEM/kyeupdb/datafile/kye_undo1.dbf'
3 size 10m autoextend off;
Tablespace created.
4、表空间的扩展与修改大小
- 表空间的扩展
--- 查看此时创建的表空间
SQL> col name format a30;
SQL> select * from v$tablespace;
TS# NAME INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
0 SYSTEM YES NO YES
1 SYSAUX YES NO YES
2 UNDOTBS1 YES NO YES
3 TEMP NO NO YES
4 USERS YES NO YES
5 TS_EXAMPLE YES NO YES
7 KYE_TBS01 YES NO YES
8 KYE_TBS02 YES NO YES
9 KYE_TBS03 YES NO YES
10 KYE_TBS04 YES NO YES
11 KYE_BIGTBS1 YES YES YES
TS# NAME INC BIG FLA ENC
---------- ------------------------------ --- --- --- ---
12 KYE_TMPTBS1 NO NO YES
13 KYE_UNDOTBS1 YES NO YES
13 rows selected.
SQL> col file_name format a55;
SQL> select file_name from dba_data_files;
FILE_NAME
-------------------------------------------------------
+DGSYSTEM/kyeupdb/datafile/system.271.978829205
+DGSYSTEM/kyeupdb/datafile/sysaux.272.978829265
+DGSYSTEM/kyeupdb/datafile/undotbs1.273.978829323
+DGSYSTEM/kyeupdb/datafile/users.275.978829391
+DGSYSTEM/kyeupdb/datafile/ts_example.277.978855421
+DGSYSTEM/kyeupdb/datafile/kye01.dbf
+DGSYSTEM/kyeupdb/datafile/kye02.dbf
+DGSYSTEM/kyeupdb/datafile/kye03_1.dbf
+DGSYSTEM/kyeupdb/datafile/kye03_2.dbf
+DGSYSTEM/kyeupdb/datafile/kye04_1.dbf
+DGSYSTEM/kyeupdb/datafile/kye04_2.dbf
FILE_NAME
-------------------------------------------------------
+DGSYSTEM/kyeupdb/datafile/kye_bigfile1.dbf
+DGSYSTEM/kyeupdb/datafile/kye_undo1.dbf
13 rows selected.
SQL> alter tablespace kye_tbs01 add datafile '+DGSYSTEM/kyeupdb/datafile/kye01_1.dbf' size 2m autoextend off;
Tablespace altered.
SQL> alter tablespace kye_tmptbs1 add tempfile '+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1_1.dbf' size 2m autoextend off;
Tablespace altered.
- 修改大小
SQL> col name format a55;
SQL> select name,bytes/1024/1024 from v$tempfile;
NAME BYTES/1024/1024
------------------------------------------------------- ---------------
+DGSYSTEM/kyeupdb/tempfile/temp.274.978829379 1024
+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1.dbf 5
+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1_1.dbf 2
SQL> alter database tempfile '+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1.dbf' resize 6m;
Database altered.
SQL> select name,bytes/1024/1024 from v$tempfile;
NAME BYTES/1024/1024
------------------------------------------------------- ---------------
+DGSYSTEM/kyeupdb/tempfile/temp.274.978829379 1024
+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1.dbf 6
+DGSYSTEM/kyeupdb/datafile/kye_tmptbs1_1.dbf 2
5、表空间重命名
SQL> alter tablespace kye_bigtbs1 rename to kye_bigtbs;
Tablespace altered.
6、表空间的删除
drop tablespace 表空间名字;--直接删除表空间,而不删除对应的数据文件
drop tablespace 表空间名字 including contents and datafiles; --加上该选项 则连同数据文件 一起删除了(常用)
SQL> drop tablespace kye_tbs04 including contents and datafiles;
Tablespace dropped.
SQL> drop tablespace kye_bigtbs including contents and datafiles cascade constraints;
Tablespace dropped.
7、更改表空间的读写模式
SQL> alter tablespace kye_tbs03 read only;
Tablespace altered.
SQL> alter tablespace kye_tbs03 read write;
Tablespace altered.
也可以修改表:
SQL> create table kye001 (id int,name varchar2(22));
Table created.
SQL> alter table kye001 read only;
Table altered.
SQL> alter table kye001 read write;
Table altered.
8、更改表空间的在线模式
alter tablespace kye_tbs01 offline;
Tablespace altered.
SQL> alter tablespace kye_tbs01 online;
Tablespace altered.
在上面的测试中可以看出,直接可以设置表空间离线,但是在下面的操作中可以对数据文件直接设置成离线吗?
可以对数据文件进行操作:
alter database datafile 9 offline;
alter database datafile '+DGSYSTEM/kyeupdb/datafile/kye03_2.dbf' online;
alter database datafile 9 offline for drop;
在对数据文件操作的时候会出现错误:
除非启用了介质恢复, 否则不允许立即脱机.在NOARCHIVELOG模式,不可以立即离线数据文件。
分类:
oracle
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
2016-07-29 OVER(PARTITION BY)函数介绍
2016-07-29 分组求和SQL示例
2016-07-29 over partition by与group by 的区别
2016-07-29 SQL集合运算参考及案例(一):列值分组累计求和
2016-07-29 Oracle Partition By 的使用
2016-07-29 oracle 10g函数大全--分析函数
2016-07-29 OVER(PARTITION BY)函数用法