表空间

Oracle逻辑存储结构

旧时模样 提交于 2020-01-08 04:52:37
一、数据块(data blocks)   数据块是 Oracle 数据库逻辑存储结构中的最小单位,也是执行数据库输入输出的最小存储单位。通常 Oracle 数据块是操作系统块的整数倍。数据块的标准大小被写入到初始化参数 DB_BLOCK_SIZE 中, oracle 允许在同一个数据库中存在不同大小的数据块,与标准块大小不同的就是非标准块。 二、数据区( extent )   数据区是由一组连续的 Oracle 数据块所构成的 Oracle 存储结构,由一个或多个数据块组成。一个或多个数据区组成一个段,当段中所有空间被使用完后, Oracle 系统将自动为该段分配一个新的数据区,可见,数据区是 Oracle 存储分配的最小单位。   使用数据区的目的是用来保存特定数据类型的数据,也是表中数据增长的基本单位。在 Oracle 数据库中,分配存储空间就是以数据区为单位的,一个 Oracle 对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。 三、段( segment )   段是由一个或多个数据区构成的,它不是存储空间的分配单位,而是一个独立的逻辑存储结构,用于存储表、索引或簇等占用空间的数据对象。一个段只属于一个特定的数据对象,每当创建一个具有独立段的数据对象时, Oracle 将为它创建一个段。 1.数据段:数据段中保存的是表中的数据记录。建表时

DBA常用SQL之表空间与数据文件

六月ゝ 毕业季﹏ 提交于 2020-01-07 16:23:55
select t.tablespace_name, round(sum(bytes / (1024 * 1024)), 0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 1.查看表空间的名称及大小 select a.tablespace_name, a.bytes / 1024 / 1024 "Sum MB", (a.bytes - b.bytes) / 1024 / 1024 "used MB", b.bytes / 1024 / 1024 "free MB", round(((a.bytes - b.bytes) / a.bytes) * 100, 2) "percent_used" from (select tablespace_name, sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name, sum(bytes) bytes, max(bytes) largest from dba_free_space group by tablespace_name)

oracle数据库连接非常慢,sqlplus很快,用客户端就很慢,十几秒才好

倾然丶 夕夏残阳落幕 提交于 2020-01-07 14:11:35
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> oracle数据库连接非常慢,sqlplus很快,用客户端就很慢,十几秒才好。然后服务器内存一下就飙升到了90%,最开始以为是表空间占满了,数据库连接数占满了。折腾了半天,重启,还是很慢。应用连接数据库,都启动不了。发现了问题! 在客户端连接服务器的时候,点击“登录”,需要10秒多钟才可以连接到数据库,连接后操作一切正常。 在客户端用tnsping服务器,如下: C:\Documents and Settings\Administrator>tnsping ORA11G 很长时间没有反应 原因在于:!!!! 这个文件 listener.log 过大导致oracle像是假死了。listener.org路径:$ORACLE_HOME\diag\tnslsnr\机器名\listener\trace 删除掉重建一个同名文件就好。 然后tnsping ORA11G.很快就OK了。 来源: oschina 链接: https://my.oschina.net/u/204616/blog/599363

oracle来了哦rfrf

北城以北 提交于 2020-01-07 11:54:50
阅读CREATE TABLE语句: CREATE TABLE Customer# 1 ( cust-1 NUMBER(9), 3 saless$NUMBE(9) 2date DATE DEFAULT SYSDATE) 哪一行语句会引发错误? A. 1 B. 2 C. 3 D. 4 删除序列EMP-ID-SEQ应使用哪个语句 A. DELETE SEQUENCE emp_id_seq; B. DROP SEQUENCE emp_id_seg C. ALTER SEQUENCE emp_id_seq D. REMOVE SEQUENCE emp_id-seq; 关于多行子查询最好的描述是哪个? A. 只返回一条记录的子查询 B. 返回一条或多条记录的子查询 C. 只返回一个列值的子查询 D. 返回一个或多个列值的子查询 下面关于外键约束的描述哪一个是正确的? A. 外键值不能为空 B. 外键值必须唯一 C. 外键值在父表中必须存在 D. 外键值必须要么为空值,要么在父表中必须存在 AVG, SUM, VARIANCE,和STDDEV函数可用于以下何种数据类型? A. 仅数值类型 B. 仅整数 C. 何数据类型 D. 除数值类型之外的类型 哪种类型的约束要求列值唯一旦非空? A. FOREIGN KEY B. PRIMARY KEY C. UNIQUE D. CHЕCK

oracle查询表空间的空间占用情况

人盡茶涼 提交于 2020-01-06 21:51:18
select a.tablespace_name,a.bytes bytes_used,b.largest,round(((a.bytes - b.bytes)/a.bytes)*100,2) percent_used from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name order by ((a.bytes - b.bytes) / a.bytes) desc 查询所有表空间的总容量、已经使用、剩余、已经使用的百分比! select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB", round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent

Oracle 数据泵expdq,impdq

匆匆过客 提交于 2020-01-06 16:57:55
使用数据泵技术实现逻辑备份 数据泵概述 数据泵(DATA PUMP)是一种在数据库之间、数据库与操作系统之间,高速传输数据的技术(10g推出)。 逻辑备份概述 逻辑备份是对数据库对象(如用户、表、存储过程等)利用EXPORT等工具进行导出 物理备份对比 物理备份是转储ORACLE物理文件(如数据文件、控制文件、归档日志文件等) 物理备份旨在完全恢复整个数据库,要求完全相同的备份环境和恢复环境 逻辑备份旨在备份数据本身,可移植性强,但是备份和恢复速度低下,大型业务系统一般不用 操作步骤 1.创建目录对象(在哪导入,导出到哪) CREATE DIRECTORY 目录名(dump_dir) as '绝对路径'; 2.dump_dir目录授予 GRANT read,write on directory 目录名 to 导入导出用户; SELECT * FROM DBA_DIRECTORIES; 查询所有已创建的目录 DROP directory 目录名; 删除目录 3.expdq导出(EXPDP和IMPDP是Oracle服务端的工具,退出sqlplus) 第一种:全量导出数据库: expdp 用户名/密码@orcl dumpfile=导出文件名.dmp directory=目录名 full=y logfile=日志名.log;(与dmp一个目录) 第二种:按用户导出: expdp 用户名

orcale入门基础

江枫思渺然 提交于 2020-01-06 15:30:43
好长时间没写博客了,莫名其妙的就堕落了一波,从今天开始要加油了!!!!! –创建表空间 create tablespace demo --表空间名 datafile 'c:\demo.dbf' --将表空间创建到此地址(注意表空间后缀名为.dbf) size 100 m --表空间初始大小为100m autoextend on --如果表空间被填满允许自动增长 next 10 m ; --表空间每次自动增长的容量 –删除表空间 drop tablespace demo ; –创建用户 create user msg --用户名 identified by msg --用户密码 default tablespace demo ; --此用户绑定的表空间 –给用户授权 –oracle数据库中常用角色 connect–连接角色,基本角色 resource–开发者角色 dba–超级管理员角色 --给msg用户授予dba角色 grant dba to msg ; –用户切换 --切换到msg用户下 conn msg / msg —创建一个person表 create table person ( pid number ( 20 ) , pname varchar2 ( 10 ) ) ; —对表的操作 ---添加一列 alter table person add ( gender number

oracle undo表空间爆满处理

▼魔方 西西 提交于 2020-01-05 22:46:15
undo 表空间使用案例分析(UNDOTBS1使用率100%,enq:US-contention,释放undo) 转载 2013年02月20日 16:04:29 12007 问题描述: 近几天发现Oracle10.2.0.4数据库undo tablespace表空间使用率很高(最高时达到100%),报警系统频繁报障undo tablespace表空间使用率过高。 TABLESPACE_NAME TOTAL USED FREE PUSED PFREE UNDOTBS1 6141 % % 查询所有表空间使用情况(今天发现自己创建的表空间在使用完的情况,这个查询语句或者其它查询语句查不出已经使用完的表空间,只能自己删除掉一些使用该表空间的用户,以便释放自己创建的表空间) SELECT UPPER(F.TABLESPACE_NAME) "表空间名",   D.TOT_GROOTTE_MB "表空间大小(M)",   D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",   TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB 100,2),'990.99') || '%' "使用比",   F.TOTAL_BYTES "空闲空间(M)",   F.MAX_BYTES

Oracle管理表空间和数据文件详解

坚强是说给别人听的谎言 提交于 2020-01-05 11:55:10
介绍 表空间是数据库的逻辑组成部分 从物理上将:数据库数据存放在数据文件中 从逻辑上将:数据库则是存放在表空间中 表空间由一个或是多个数据文件组成 数据库的逻辑结构 介绍: Oracle中逻辑结构包括表空间、段、区、块 说明: 数据库由表空间构成 而表空间又是由段构成 而段又是由区构成 而区又是由Oracle块构成 这样的一种结果,可以提高数据库的效率 表空间 介绍: 表空间用于从逻辑上组织数据库的数据 数据库逻辑上是由一个或是多个表空间组成的 表空间的作用: 1、控制数据库占用的磁盘空间 2、dba可以将不同数据类型部署到不同的位置。这样有利于提高i/o性能,同时利于备份和恢复等管理操作 建立表空间 建立表空间是使用create tablespace命令完成的,要注意时,一般情况下,建立表空间是特权用户或是dba来执行的,如果用其它用户来创建表空间,则用户必须要具有create tablespace的系统权限 建立数据表空间 在建立数据库后,为便于管理表,最好建立自己的表空间 create tablespace 表空间名 datafile '数据文件路径' size 数据文件的大小 uniform size 区的大小; create tablespace tangtao001 datafile 'd:\t001.dbf' size 20m uniform size 128k;

oracle查询表空间的空间占用情况

↘锁芯ラ 提交于 2020-01-05 00:33:27
select a.tablespace_name,a.bytes bytes_used,b.largest,round(((a.bytes - b.bytes)/a.bytes)*100,2) percent_used from (select tablespace_name,sum(bytes) bytes from dba_data_files group by tablespace_name) a, (select tablespace_name,sum(bytes) bytes,max(bytes) largest from dba_free_space group by tablespace_name) b where a.tablespace_name=b.tablespace_name order by ((a.bytes - b.bytes) / a.bytes) desc 查询所有表空间的总容量、已经使用、剩余、已经使用的百分比! select a.tablespace_name,a.bytes/1024/1024 "Sum MB",(a.bytes-b.bytes)/1024/1024 "used MB",b.bytes/1024/1024 "free MB", round(((a.bytes-b.bytes)/a.bytes)*100,2) "percent