`
yuanlg
  • 浏览: 78085 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

oracle表空间及维护(待整理到plsql库中)(转载)

阅读更多
oracle表空间及维护(待整理到plsql库中)(转载)
2009-07-27 14:06

ORACLE数据库被划分成称作为表空间的逻辑区域——形成ORACLE数据库的逻辑结构。一

个ORACLE数据库能够有一个或多个表空间,而一个表空间则对应着一个或多个物理的数据库

文件。表空间是ORACLE数据库恢复的最小单位,容纳着许多数据库实体,如表、视图、索引

、聚簇、回退段和临时段等。

每个ORACLE数据库均有SYSTEM表空间,这是数据库创建时自动创建的。SYSTEM表空间

必须总要保持联机,因为其包含着数据库运行所要求的基本信息(关于整个数据库的数据字

典、联机求助机制、所有回退段、临时段和自举段、所有的用户数据库实体、其它ORACLE

软件产品要求的表)。

一个小型应用的ORACLE数据库通常仅包括SYSTEM表空间,然而一个稍大型应用的ORACL

E数据库采用多个表空间会对数据库的使用带来更大的方便。

作用

表空间的作用能帮助DBA用户完成以下工作:

1.决定数据库实体的空间分配;

2.设置数据库用户的空间份额;

3.控制数据库部分数据的可用性;

4.分布数据于不同的设备之间以改善性能;

5.备份和恢复数据。

用户创建其数据库实体时其必须于给定的表空间中具有相应的权力,所以对一个用户来

说,其要操纵一个ORACLE数据库中的数据,应该:

1.被授予关于一个或多个表空间中的RESOURCE特权;

2.被指定缺省表空间;

3.被分配指定表空间的存储空间使用份额;

4.被指定缺省临时段表空间。

维护

表空间的维护是由ORACLE数据库系统管理员DBA通过SQL*PLUS语句实现的,其中表空间

创建与修改中的文件名是不能带路径的,因此DBA必须在ORACLE/DBS目录中操作。

1.新表空间的创建

语法格式:CREATE TABLESPACE 表空间名

DATAFILE 文件标识符[,文件标识符]...

[DEFAULT STORAGE(存储配置参数)]

[ONLINE\OFFLINE];

其中:文件标识符=’文件名’[SIZE整数[K\M][REUSE]

2.修改表空间配置

语法格式:ALTER TABLESPCE 表空间名

(ADD DATAFILE 文件标识符[,文件标识符]...

\RENAME DATAFILE ’文件名’[,’文件名’]...

TO ’文件名’[,’文件名’]...

\DEFAULT STORAGE(存储配置参数)

\ONLINE\OFFLINE[NORMAL\IMMEDIATE]

\(BEGIN\END)BACKUP);

3.取消表空间

语法格式:DROP TABLESPACE表空间名[INCLUDING CONTENTS];

4.检查表空间使用情况

(1)检查当前用户空间分配情况

SELECT tablespace_name,SUM(extents),SUM(blocks),SUM(bytes)

FROM user_segments

GROUP BY tablespace_name

(2)a.检查各用户空间分配情况

SELECT owner,tablespace_;

(2)b.检查各用户空间分配情况

SELECT owner,tablespace_name,SUM(extents),SUM(blocks),SUM(bytes)

FROM dba_segments

GROUP BY owner,tablespace_name;

(3) 检查当前用户数据库实体空间使用情况

SELECT tablespace_name,segment_name,segment_type,

COUNT(extent_id),SUM(blocks),SUM(bytes)

FROM user_extents

GROUP BY tablespace_name,segment_name,segment_type;

(4)检查各用户空间使用情况

SELECT owner,tablespace_name,COUNT(extent_id),SUM(blocks),

SUM(bytes) FROM user_extents

GROUP BY owner,tablespace_name;

(5)检查数据库空间使用情况

SELECT tablespace_name,COUNT(extent_id),SUM(blocks),SUM(bytes)

FROM user_extents

GROUP BY tablespace_name;

(6)检查当前用户自由空间情况

SELECT tablespace_name,COUNT(block_id),SUM(blocks),SUM(bytes)

FROM user_free_space

GROUP BY tablespace_name;

(7)检查数据库自由空间情况

SELECT tablespace_name,COUNT(block_id),SUM(blocks),SUM(bytes)

FROM dba_free_space

GROUP BY tablespace_name;

四、结论

表空间是ORACLE数据库系统维护的主要对象,通过本文能详细了解它的基本概念与作用

,并掌握其日常维护知识,从而保证ORACLE数据库系统的正常运行。

 

 

删除用户:

 

方法一:

 

drop user zs cascade;

连接相关对象等一并删除;

 

方法二:

 

conn /as sysdba

delete from user$ where name='dzysc';

commit;

alter system flush shared_pool;

 

oracle 删除用户命令和部分命令

 

drop user user_name cascade;

建立表空间

CREATE TABLESPACE data01

DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M

UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k

删除表空间

DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

一、建立表空间

CREATE TABLESPACE data01

DATAFILE '/oracle/oradata/db/DATA01.dbf' SIZE 500M

UNIFORM SIZE 128k; #指定区尺寸为128k,如不指定,区尺寸默认为64k

二、建立UNDO表空间

CREATE UNDO TABLESPACE UNDOTBS02

DATAFILE '/oracle/oradata/db/UNDOTBS02.dbf' SIZE 50M

#注意:在OPEN状态下某些时刻只能用一个UNDO表空间,如果要用新建的表空间,必须切换到该表空间:

ALTER SYSTEM SET undo_tablespace=UNDOTBS02;

三、建立临时表空间

CREATE TEMPORARY TABLESPACE temp_data

TEMPFILE '/oracle/oradata/db/TEMP_DATA.dbf' SIZE 50M

四、改变表空间状态

1.使表空间脱机

ALTER TABLESPACE game OFFLINE;

如果是意外删除了数据文件,则必须带有RECOVER选项

ALTER TABLESPACE game OFFLINE FOR RECOVER;

2.使表空间联机

ALTER TABLESPACE game ONLINE;

3.使数据文件脱机

ALTER DATABASE DATAFILE 3 OFFLINE;

4.使数据文件联机

ALTER DATABASE DATAFILE 3 ONLINE;

5.使表空间只读

ALTER TABLESPACE game READ ONLY;

6.使表空间可读写

ALTER TABLESPACE game READ WRITE;

五、删除表空间

DROP TABLESPACE data01 INCLUDING CONTENTS AND DATAFILES;

六、扩展表空间

首先查看表空间的名字和所属文件

select tablespace_name, file_id, file_name,

round(bytes/(1024*1024),0) total_space

from dba_data_files

order by tablespace_name;

1.增加数据文件

ALTER TABLESPACE game

ADD DATAFILE '/oracle/oradata/db/GAME02.dbf' SIZE 1000M;

2.手动增加数据文件尺寸

ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf'

RESIZE 4000M;

3.设定数据文件自动扩展

ALTER DATABASE DATAFILE '/oracle/oradata/db/GAME.dbf

AUTOEXTEND ON NEXT 100M

MAXSIZE 10000M;

设定后查看表空间信息

SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,

(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"

FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C

WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE

分享到:
评论

相关推荐

    (ORACLE)PLSql

    PLSql 很好的一个控制数据库工具(ORACLE)

    oracle查看表空间表信息

    查看表空间表信息查看表空间表信息查看表空间表信息查看表空间表信息查看表空间表信息

    oracle定时删除表空间的数据并释放表空间

    oracle定时删除表空间的数据并释放表空间

    ORACLE_PLSQL语法与维护文档汇总

    oracle_PLSQL_语法详细手册&11g;.doc ORACLE_维护手册.doc oracle+110个常用函数.doc oracle分析函数.doc Oracle数据库日常维护手册.docx PLSQL开发笔记和小结.doc 这些文档还不错,自己也想里面添加了一些语法。

    PLSQL oracle连接工具

    PLSQL oracle连接工具 PLSQL oracle连接工具 PLSQL oracle连接工具 PLSQL oracle连接工具 PLSQL oracle连接工具 PLSQL oracle连接工具 PLSQL oracle连接工具 PLSQL oracle连接工具 PLSQL oracle连接工具 PLSQL ...

    Oracle表空间查看sql使用情况

    DBA在日常工作中,最重要的一点就是查看表空间的使用情况,去了解是否有表空间满了的情况出现。 具体方法和步骤如下所示: 第一步:打开PLSQL 第二步:新建一个SQL窗口 第三步:输入代码: select a.tablespace_...

    Oracle连接工具plsql11x64位

    Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具plsql11x64位Oracle连接工具...

    不安装oracle使用plsql

    在不安装oracle客户端的前提下,是用plsql,实现方法。

    oracle PLSQL

    这个oracle的客户端PLSQL

    绿色版Oracle客户端及PLSQL

    绿色版Oracle的客户端及plsql 详细的文档使用详见:201902 Windows Sever 及Windows Server2012上Oracle11g安装及绿色版client plsql使用纪实一文

    oracle_plsql语句大全

    oracle_plsql语句大全oracle_plsql语句大全oracle_plsql语句大全

    windows下oracle客户端及PLsql安装配置(含安装包)

    windows下oracle客户端及PLsql安装配置(含11g、12c的客户端安装包,plsql安装包)

    plsql oracle登录包

    plsql oracle登录包plsql oracle登录包plsql oracle登录包plsql oracle登录包plsql oracle登录包plsql oracle登录包plsql oracle登录包plsql oracle登录包

    plsql连接oracle的包

    安装plsql_oracle的联系包(不用自己下载,别人给了一个包, 我放在:D:\IT\plsql_oracle下) --tnasname.ora:在plsql_oracle这个包里面 2,配置oracle监听,即环境变量 右击我的电脑选”属性”->“高级”->“环境...

    Oracle8i中的plsql學習(初級到中級)

    Oracle8i中的plsql學習(初級到中級)Oracle8i中的plsql學習(初級到中級)Oracle8i中的plsql學習(初級到中級)

    使用PLSQL创建Oracle数据库User用户并设置权限, 创建表

    使用PLSQL创建Oracle数据库User用户并设置权限 主要演示了如何使用 PLSQL 创建一个 User 用户, 并使之具有创建表、修改表、访问表的权限。解决了 使用自定义用户创建表时出现的 没有表空间的访问权限的问题。

    PLSql oracle管理工具

    PLSql oracle管理工具,PLSql oracle管理工具,PLSql oracle管理工具

    PLSQL Developer7(oracle数据库)

    PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) PLSQL Developer7(oracle数据库) ...

    PLSQL Developer 12(64位)中文绿色注册版免Oracle客户端

    1、点击 "启动PLSQL.exe" 即可免装oracle使用PLSQL 或者 使用qidong.bat启动 (启动PLSQL.exe是qidong.bat编译的exe,隐藏调用qidong.bat启动PLSQL,比qidong.bat好处没有黑框界面,有图标); 2、Oracle64为oracle ...

    创建表空间-PLSQL连接

    oracle数据库创建表空间-PLSQL远程连接文档

Global site tag (gtag.js) - Google Analytics