【Oracle】表空间管理
--表空间管理为主、附带 权限管理、数据字典 /* 表空间是逻辑结构,数据文件是物理结构 一个表空间对应多个段segment 段可以对应多个数据文件、跨磁盘 一个段对应多个盘区 extent 一个盘区只能位于一个数据文件上 一个盘区对应多个 数据块 block */ --通过数据字典查询 表空间 select * from dba_data_files; --可以看出 一个表空间对应多个数据文件 /* 默认表空间 example 存放各种样例 sysaux system的辅助空间。主要用于存储数据字典之外的其他数据对象,这样可以减少system表空间的负荷 system 存放数据字典,包括表、视图、存储过程的定义等 temp 存放sql语句处理的表和索引的信息。数据排序就用这个表空间 undotbs1 存放撤销数据的表空间 users 通常用于存放 应用系统所使用的数据库对象 SYSTEM 表空间 进行数据库操作所必须要求的表空间 包含数据字典的信息、存储过程和数据库触发子的定义 包括系统回滚段 可以存储用户数据,但最好不要存储用户数据 非SYSTEM 表空间 可以包括回滚段、临时段、应用数据、应用索引和用户空间 提供了一种更加灵活的数据库管理基础 */ ) from dba_segments group by owner; --创建表空间语法 create tablespace <tablespace name> data files 数据文件名以及大小 storage 设置表空间的存储参数 (存储子句) bring online after creation 表空间在线 leave offline after creation 表空间离线 --查看表空间信息 select * from dba_tablespaces; --查看数据文件的信息 select file_name,tablespace_name from dba_data_files; --创建表空间 例句 create tablespace user_space datafile 'D:\app\Administrator\oradata\bonc\DB_TEST.DBF' size 30M default storage ( initial 10k next 50k minextents maxextents pctincrease ) online; --创建临时表空间 例句 CREATE TEMPORARY TABLESPACE DB_TEMP TEMPFILE 'D:\app\gloryzheng\oradata\dbz\DB_TEMP.DBF' SIZE 320M AUTOEXTEND ON NEXT 320M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL; --删除表空间 drop tablespace user_space including contents cascade constraints; --使表空间在线 set tablespace users online; --修改表空间 alter tablespace user_space add datafile 'D:\app\Administrator\oradata\bonc\DB_TEST2.DBF' rename datafile 'D:\app\Administrator\oradata\bonc\DB_TEST.DBF' to 'D:\app\Administrator\oradata\bonc\DB_TEST1.DBF' default storage online offline normal temporary immediate; begin backup end; --删除用户并级联删除 drop user tourdb cascade; --为tourdb 创建表空间 CREATE TABLESPACE DB_ZHENG LOGGING DATAFILE 'D:\app\Administrator\oradata\orcl\DB_ZHENG.DBF' SIZE 320M AUTOEXTEND ON NEXT 320M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL; --创建用户并指定表空间 CREATE USER tourdb IDENTIFIED BY ch7YH3vd ACCOUNT UNLOCK DEFAULT TABLESPACE DB_DATA TEMPORARY TABLESPACE DB_TEMP; --修改密码 alert user scott identified by tiger; --增加表空间的配额 alter user gloryzheng quota unlimited on DB_ZHENG; alter user gloryzheng quota 10m on db_zheng; --查看当前用户的权限 select * from user_sys_privs where privilege like '%grant%'; --查看所有用户的权限 select * from user_tab_privs where owner like'%gloryzheng%'; --查看字符集 select * from v$nls_parameters t where t.PARAMETER ='NLS_LANGUAGE' or t.PARAMETER ='NLS_CHARACTERSET'; --数据库服务器字符集 select * from nls_database_parameters; --客户端字符集 select * from nls_instance_parameters; --session字符集 select * from nls_session_parameters; --在环境变量中 新建 系统变量 变量名:NLS_LANG 变量值 为服务器字符集中 NLS_LANGUAGE的值+.+NL_CHARACTERSET的值 即可解决字符集问题 --授权用户 对表操作 --会话权限 grant create session to gloryzheng, tour,tourdb,bkepler; --授权查询任何表 grant select any table to gloryzheng, tour,tourdb,bkepler; --授权查询任何字典 grant select any dictionary to gloryzheng, tour,tourdb,bkepler; --创建表权限 grant create any table to gloryzheng, tour,tourdb,bkepler; --删除表权限 grant drop any table to gloryzheng, tour,tourdb,bkepler; --授予插入表的权限 grant insert any table to gloryzheng, tour,tourdb,bkepler; --授予创建存储过程的权限 grant create procedure to gloryzheng; --授予dba角色 grant dba to gloryzheng,tour,tourdb,bkepler; --回收dba角色 revoke dba from gloryzheng, tour,tourdb,bkepler; --删除角色 drop role xxx --查看用户相关 数据字典 select table_name from user_tables; 或 select *from tab;--查看用户所拥有的表 select view_name from user_views; --查看用户所拥有的视图 select trigger_name from user_triggers;--查看用户所拥有的触发器 select sequence_name from user_sequence;--查看用户拥有的序列 select index_name from user_indexs;--查看用户拥有的索引 select *from session_privs;--查看用户所拥有的权限 conn scott/tiger;--切换用户 conn scott/tiger as sysdba;--将用户赋予某种角色登录 conn system/unis; select username from dba_users;--查看所有用户 --登录SQL Plus sqlplus 用户名/密码@db1 as sysdba; --导出用户文件 用户名/密码为登录现有数据库所用 /db1 file=d:/scott.dmp --如果导出表时 用户是dba角色 那么导入表时 用户也应该是dba角色 用户名、密码为目标数据库所有 imp 用户名/密码@SID (目标数据库名) file=dmp文件路径 fromuser=导出用户名 touser=导入用户名 --查询表空间使用情况 SELECT Upper(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", To_char(, ), '990.99') || '%' "使用比", F.TOTAL_BYTES "空闲空间(M)", F.MAX_BYTES "最大块(M)" FROM (SELECT TABLESPACE_NAME, ), ) TOTAL_BYTES, ), ) MAX_BYTES FROM SYS.DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F, (SELECT DD.TABLESPACE_NAME, ), ) TOT_GROOTTE_MB FROM SYS.DBA_DATA_FILES DD GROUP BY DD.TABLESPACE_NAME) D WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME ; --查询表空间的free space , ) AS MB,sum(blocks) AS blocks from dba_free_space group BY tablespace_name; --查询表空间的总容量 as MB from dba_data_files group by tablespace_name; --查询表空间使用率 --例句1 SELECT total.tablespace_name, ) AS Total_MB, ) AS Used_MB, , ) || '%' AS Used_Pct FROM (SELECT tablespace_name, AS MB FROM dba_free_space GROUP BY tablespace_name) free, (SELECT tablespace_name, AS MB FROM dba_data_files GROUP BY tablespace_name) total WHERE free.tablespace_name = total.tablespace_name; --例句2 SELECT a.tablespace_name "表空间名", total "表空间大小", free "表空间剩余大小", ( total - free ) "表空间使用大小", ) "使用率 %" FROM (SELECT tablespace_name, Sum(bytes) free FROM DBA_FREE_SPACE GROUP BY tablespace_name) a, (SELECT tablespace_name, Sum(bytes) total FROM DBA_DATA_FILES GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name; --例句3 SELECT TABLESPACE_NAME "TABLESPACE", To_char(, ), '99990.00') || '' "TOTAL", To_char(, ), '99990.00') || 'G' "FREE", To_char(, ), '99990.00') || 'G' "USED", To_char( , '99990.00') || '%' "PERCENT" FROM (SELECT A.TABLESPACE_NAME TABLESPACE_NAME, )) BYTES, )) FREE, )) USED FROM (SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) BYTES FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) A, (SELECT TABLESPACE_NAME TABLESPACE_NAME, Sum(BYTES) FREE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) B WHERE A.TABLESPACE_NAME = B.TABLESPACE_NAME); --WHERE TABLESPACE_NAME LIKE 'CDR%' --这一句用于指定表空间名称 * USED / BYTES) DESC; --例句4 select tablespace_name, max_gb, used_gb, * used_gb / max_gb) pct_used from (select a.tablespace_name tablespace_name, )) , ), ) used_gb, , ), ) max_gb from (select f.tablespace_name, sum(f.bytes) bytes_alloc, sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) maxbytes from dba_data_files f group by tablespace_name) a, (select f.tablespace_name, sum(f.bytes) bytes_free from dba_free_space f group by tablespace_name) b where a.tablespace_name = b.tablespace_name(+) union all select h.tablespace_name tablespace_name, )) , ), ) used_gb, round(sum(decode(f.autoextensible, 'YES', f.maxbytes, 'NO', f.bytes)) , ), ) max_gb from v$temp_space_header h, v$temp_extent_pool p, dba_temp_files f where p.file_id(+) = h.file_id and p.tablespace_name(+) = h.tablespace_name and f.file_id = h.file_id and f.tablespace_name = h.tablespace_name group by h.tablespace_name) ;
【Oracle】表空间管理的更多相关文章
- ORACLE表空间管理维护
1:表空间概念 在ORACLE数据库中,所有数据从逻辑结构上看都是存放在表空间当中,当然表空间下还有段.区.块等逻辑结构.从物理结构上看是放在数据文件中.一个表空间可由多个数据文件组成. 如下图所示, ...
- Oracle表空间管理
oracle表空间相关常用命令小结: 1.ALTER DATABASE SET DEFAULT BIGFILE TABLESPACE; //修改表空间数据文件类型 2.ALT ...
- oracle 表空间管理
1.创建表空间 03:01:55 sys@ORADB11G> create tablespace TSPITR datafile '/u01/app/oracle/oradata/TSPITR0 ...
- ArcSDE for Oracle表空间管理——暂时(TEMP)表空间
Oracle暂时表空间主要用来做查询和存放一些缓冲区数据.暂时表空间消耗的主要原因是须要对查询的中间结果进行排序. 重新启动数据库能够释放暂时表空间,假设不能重新启动实例,而一直保持问题sql语句的运 ...
- ORACLE表空间管理方式segment和extent
A permanent tablespace contains persistent schema objects. Objects in permanent tablespaces are stor ...
- oracle 表空间管理相关(原创)
通过以下几步基本可以查看表空间情况以及处理表空间不足问题. ASM相关 查看asm空间 select group_number,name,total_mb,free_mb from v$asm_dis ...
- Oracle表空间管理相关
以下以我自己的测试环境举例: 1.表空间的 block_size 为 8192字节,即8KBytes.从数据字典中查到 max_size 为 2147483645,即约为15.9TBytes. 2.在 ...
- Oracle undo 表空间管理 (摘DAVID)
Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ...
- Oracle 表空间的日常维护与管理
目录 Oracle 表空间的日常维护与管理 1.创建数据表空间 2.创建临时表空间 3.创建 UNDO 表空间 4.表空间的扩展与修改大小 5.表空间重命名 6.表空间的删除 7.更改表空间的读写模式 ...
- Oracle表空间概述及其基本管理
最近在工作中遇到有同事对Oracle表空间的理解有问题,所以写了这篇文章.我会从概念,管理及特别需要关注的点等几个维度对表空间进行一些介绍.本文以介绍表空间为主,涉及到的其他概念不展开描述.有问题的地 ...
随机推荐
- Linux常用命令及shell技巧
这里列出一些个人在工作中常使用的各种linux命令,每一个不详细讲参数,只写经常用的参数.希望快速获得在linux命令行工作的能力的朋友可以看看.本人一直觉的,不使用linux 图形界面,以xshel ...
- 【转载】CANoe 入门 Step by step系列(二)CAPL编程
来源:http://www.cnblogs.com/dongdonghuihui/archive/2012/09/26/2704619.html CAPL就是Communication Applica ...
- shell基本语法
一.变量 1.变量的命名规则:以字母或下划线开头,后面跟数字,字母或下划线,最好不要随便命名,要做到看见变量名能猜出其含义 2.变量赋值: x=100 echo $x 删除变量:unset x 3.定 ...
- 老生常谈之SQL Server (行转列,列转行)
Open the first article 在本文章中主要介绍以下内容: 1.静态行转列 2.静态列转行 3.动态行转列 4.动态列转行 1.静态行转列 --静态的行转列 --新建一个科目成绩表 - ...
- [IB]PeopleSoft异步详细信息中状态“已完成”但订阅合同状态“新建”问题
最近遇到一个IB异步程序状态不一致问题,异步详细信息中上面的状态是“DONE”但是订阅合同中还是“新建”状态.在域状态中清除域状态也不管用. 重启app server也不好使.最后执行了appmsgp ...
- unable to create …
问题描述: 在新建Android Application时会出现unable to create the selected property page 解决方法: 将用户PATH路径中的jdk路径放到 ...
- Zabbix监控nginx性能
编辑nginx的配置文件nging #配置ngx_status location /nginx_status{ stub_status on; access_log off; } #重启nginx # ...
- swift UITextField光标聚焦以及光标颜色修改
光标聚焦闪烁: nick_textField.becomeFirstResponder() 光标颜色修改 nick_textField.tintColor = UIColor.red 备份:http: ...
- 关于dfs+剪枝第一篇:hdu1010
最近进入了dfs关于剪枝方面的学习,遇到的第一道题就是hdu的1010.一道很基础的剪枝..可我不幸地wa了很多次(待会再解释wa的原因吧QAQ),首先我们来看一下题目. Problem Descri ...
- Exceptionless 本地部署踩坑记录
仅已此文记录 Exceptionless 本地部署所遇到的问题 1.安装ElasticSearch文本 执行elasticsearch目录中的elasticsearch.bat 没有执行成功. 使用命 ...