oarcle数据库真正存放数据的是数据文件(data files),Oarcle表空间(tablespaces)实际上是一个逻辑的概念,他在物理上是并不存在的,那么把一组data files 捻在一起就成为一个表空间。
一个数据库可以包含多个表空间,一个表空间只能属于一个数据库
一个表空间包含多个数据文件,一个数据文件只能属于一个表空间
表这空间可以划分成更细的逻辑存储单元
Oracle数据库的存储结构:
从逻辑的角度来看,一个数据库(database)下面可以分多个表空间(tablespace);一个表空间下面又可以分多个段(segment);一个数据表要占一个段(segment),一个索引也要占一个段(segment )。 一个段(segment)由多个 区间(extent)组成,那么一个区间又由一组连续的数据块(data block)组成。这连续的数据块是在逻辑上是连续的,有可能在物理磁盘上是分散。
那么从物理的角度上看,一个表空间由多个数据文件组成,数据文件是实实在在存在的磁盘上的文件。这些文件是由oracle数据库操作系统的block 组成的。
Segment(段) :段是指占用数据文件空间的通称,或数据库对象使用的空间的集合;段可以有表段、索引段、回滚段、临时段和高速缓存段等。
Extent (区间):分配给对象(如表)的任何连续块叫区间;区间也叫扩展,因为当它用完已经分配的区间后,再有新的记录插入就必须在分配新的区间(即扩展一些块);一旦区间分配给某个对象(表、索引及簇),则该区间就不能再分配给其它的对象.
Oracle数据库语句大全
Oracle数据库是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。下面yjbys小编为大家分享的是Oracle数据库查询语句,希望能帮助到大家!
3. 查询表空间基本信息
9. 授予连接服务器的角色
10.授予使用表空间的角色
11.授予操作表的权限
二.SQL查询和SQL函数
1.SQl支持的命令:
字符,数值,日期,RAW,LOB
注意:一个表中最多可有一列为long型
Long列不能定义唯一约束或主键约束
long列上不能创建索引
过程或存储过程不能接受long类型的参数。
timestamp:秒值精确到小数点后6位
像一个表列,但没有存储在表中
伪列可以查询,但不能插入、更新和修改它们的值
rowid:表中行的存储地址,可唯一标示数据库中的某一行,可以使用该列快速定位表中的行。
rownum:查询返回结果集中的行的序号,可以使用它来限制查询返回的行数。
利用现有的表创建表
插入来自其他表中的记录
算术操作符:L+-*/
连接操作符:L||
示例中stu_tbl_log中的数据如下:
stu_tbl中的数据如下:
minus是获取第一张表独有的数据
intersect是获取两张表中都有的数据
union是整合两张表的数据,都有的只显示一次
union all是纯粹的两张表数据整合
单行函数:从表中查询的每一行只返回一个值,可出现在select子句,where子句中
分组函数:基于一组行来返回
三.锁和数据库对象
1.锁:数据库用来控制共享资源并发访问的机制。
锁的类型:行级锁,表级锁
行级锁:对正在被修改的行进行锁定。行级锁也被称之为排他锁。
在使用下列语句时,Oracle会自动应用行级锁:
select……for update允许用户一次锁定多条记录进行更新。
死锁:两个或两个以上的事务相互等待对方释放资源,从而形成死锁
oracle数据库对象又称模式对象
数据库对象是逻辑结构的集合,最基本的数据库对象是表
表,序列,视图,索引
用于生成唯一,连续序号的对象。
cache 1000;--指定内存中预先分配的序号
以经过定制的方式显示来自一个或多个表的数据
创建带有错误的视图:
用于提高SQL语句执行的性能
唯一索引,位图索引,组合索引,基于函数的索引,反向键索引
可用于创建存储过程,触发器,程序包,给SQL语句的执行添加程序逻辑。
支持SQL,在PL/SQL中可以使用:
SQL函数和SQL运算符
支持面向对象编程(OOP)
更佳的性能,PL/SQL经过编译执行
分为三个部分:声明部分,可执行部分和异常处理部分
--根据输入编号获取某学员的成绩--if
--根据学员姓名获取某学员的成绩--if
--引发应用程序异常
游标类型:隐式游标,显式游标,REF游标
REF游标用于处理运行时才能确定的动态SQL查询的结果
在PL/SQL中使用DML语句时自动创建隐式游标
隐式游标自动声明、打开和关闭,其名为SQL
在PL/SQL的声明部分定义查询,该查询可以返回多行
J 从游标中取回数据
声明游标完成两个任务:
将一个查询与游标关联
%found 执行最后一条fetch语句成功返回行时为true
%rowcount 返回到目前为止游标提取的行数
使用显式游标更新行
REF游标和游标变量用于处理运行时动态执行的SQL查询
创建游标变量的步骤:
J 声明REF游标类型
J 声明REF游标类型的变量
打开游标变量的语法
----声明强类型的游标
----声明弱类型的游标
子程序分为:存储过程和函数,它是命名的PL/SQL块,编译并存储在数据库中。
子程序的各个部分:声明部分,可执行部分,异常处理部分。
过程----执行某些操作
函数----执行操作并返回值
过程参数的三种模式:
In----用于接收调用的值,默认的参数模式
Out----用于向调用程序返回值
In out----用于接收调用程序的值,并向调用程序返回更新的值
将过程执行的权限授予其他用户:
函数只能接收in参数,不能接受out或in out参数,形参不能是PL/SQL类型
函数的返回类型也必须是数据库类型
J 使用SQL语句
如何启动和关闭Oracle数据库
对于一个oracle数据库新手来说,怎么样进行管理oracle数据库呢? 首先从最简单的启动和关闭数据库来说,下面简单的介绍一下Oracle数据库的启动和关闭顺序实例讲解。
一、oralce的启动顺序:
1、先启动监听程序(对应端口1521) :
--启动的是环境变量中的默认数据库实例 $ORACLE_SID
二、oracle的关闭顺序
3、关闭oracle实例:
【Oracle数据库语句大全】相关文章:
在oracle中,表空间是Oracle数据对象和数据存储的容器,是一个逻辑概念,若干操作系统文件就可以组成一个表空间。表空间统一管理空间中的数据文件,一个数据文件只能属于一个表空间;而一个数据库空间由若干个表空间组成。
在数据库系统中,存储空间是较为重要的资源,合理利用空间,不但能节省空间,还可以提高系统的效率和工作性能。
Oracle 可以存放海量数据,所有数据都在数据文件中存储。而数据文件大小受操作系统限制,并且过大的数据文件对数据的存取性能影响非常大。同时Oracle 是跨平台的数据库, Oracle 数据可以轻松的在不同平台上移植,那么如何才能提供统一存取格式的大容量呢? Oracle 采用表空间来解决。
表空间是Oracle数据对象和数据存储的容器,它只是一个逻辑概念,若干操作系统文件(文件可以不是很大)可以组成一个表空间。表空间统一管理空间中的数据文件,一个数据文件只能属于一个表空间。一个数据库空间由若干个表空间组成。如图所示:
Oracle 中所有的数据(包括系统数据),全部保存在表空间中,常见的表空间有:
存放系统数据,系统表空间在数据库创建时创建。表空间名称为SYSTEM。存放数据字典和视图以及数据库结构等重要系统数据信息,在运行时如果 SYSTEM 空间不足,对数据库影响会比较大,虽然在系统运行过程中可以通过命令扩充空间,但还是会影响数据库的性能,因此有必要在创建数据库时适当的把数据文件设置大一些。
临时表空间,安装数据库时创建,可以在运行时通过命令增大临时表空间。临时表空间的重要作用是数据排序。比如当用户执行了诸如 Order by 等命令后,服务器需要对所选取数据进行排序,如果数据很大,内存的排序区可能装不下太大数据,就需要把一些中间的排序结果写在硬盘的临时表空间中。
Oracle创建表空间语法结构如下:
tab_name:创建后表空间的名字。
size n:指定数据文件的大小。
[permanent] :表示创建的表空间的类型,permanent表示永久表空间,不填都是默认永久表空间。
案例1、根据表空间创建语法,创建一个100M大小数据文件(student.dbf)的表空间student,代码如下:
创建一个student表空间,指定了数据文件为“E:\APP\ADMIN\ORADATA\ORCL\student.DBF”,表空间是自动扩展的,每次自动扩展大小为10M,最大扩展到500M,创建的是永久表空间,用来存储student用户的数据库对象和数据,管理模式为本地管理。
以上就是oracle中什么是表空间的详细内容,更多请关注php中文网其它相关文章!