51CTO博客开发
ROWID是重要的伪列,代表行在磁盘上的物理位置;ROWID可以与表中其他列一起查询的数据类型,是数据库中每行的唯一标识符,并不显式的作为一个列存储值;虽然ROWID不直接给出一行的物理地址,但可以定位行;为访问表中的行提供了最快的方法; ROWID有两种:扩展的ROWID和受限的ROWID 1、扩展的ROWID需要10个字节的存储空间,并使用18个字符来显示;
1、还原段用于进程更改数据库中数据时保存旧值;还原段的标头包含一个事务处理表,存储有关使用这个还原段的当前事务处理的信息; 2、还原段的用途: 1)事务处理回退:当事务处理修改表中的数据时,将被修改的列的旧映像存储到还原段中;如果该事务回退,则将还原段中的值写回该行来恢复原始值; 2)事务处理恢复:如果例程在事务处理正在进行时失败,ORACLE服务器在需要数据库再次打开时还原
1、表空间的类型:SYSTEM型和非SYSTEM型 SYSTEM表空间:随数据库创建,包含数据字典、system还原段; 非SYSTEM表空间:用户分开存储段,易于空间管理,控制分配给用户的空间量; 2、表空间的创建: 表空间创建的命令为CREATE TABLESPACE,创建时要定义数据文件的位置、大小和数量;数据文件的大小可以在创建表空间后再扩充;
1、重做日志文件的作用:用于记录数据所作的所有更改,提供恢复机制; 2、重做日志文件的结构: 一组相同的联机重做日志文件副本称为联机重做日志文件组,LGWR后台进程向组内所有的联机重做日志文件并发写入相同信息;为保证数据库的正常操作,ORACLE服务器需要至少2个联机重做日志文件组。组内每个联机重做日志文件被称为成员,有相同的日志序列号和大小;联机重做文件最小为50KB; &
控制文件是小型二进制文件,定义物理数据库的当前状态,并维护数据库的完整性; 控制文件中包含:数据库名和标识符、创建数据库的时间戳、表空间的名称、数据文件和重做日志文件的名称和位置、当前重做日志的序列号、检查点信息、还原段的开始和结尾、重做日志归档信息、备份信息; 为确保控制文件的安全性,需要对控制文件进行多元备份管理,多元备份要求控制文件存放在不同的磁盘上; 1、使用SPFI
告警日志: 存储位置由background_dump_dest参数决定;是普通的文本文件;在NOMOUNT阶段会打开,如果文件不在,则在NOMOUNT阶段由ORACLE自动创建;告警日志中的过时信息,ORACLE不会自动删除,须由DBA用文本编辑工具打开告警日志文件,手动删除,如需备份,直接复制即可。ORACLE只会想其中写一些关于运行状态的信息,不对其进行任何管理操作;但在故障排除时,首先应查
数据库启动有三个阶段:NOMOUNT、MOUNT、OPEN 1、NOMOUNT阶段: 根据参数文件的设置启动实例,分配内存、启动后台进程,数据库尚未挂载,绝大部分的视图、表无法读取。START NOMOUNT后,如果想让数据库继续启动,无法再使用START UP命令,而是:ALTER DATABASE MOUNT; 2、MOUNT阶段: 根据参数文件中指定的控制文件的位置和名字,打开并读取
数据库启动时,oracle要根据参数文件中的参数来配置数据库;oracle一共有两种参数文件:PFILE和SPFILE。 参数文件的默认位置是在$oracle_homt/dbs中,有时在$oracle_home/database中; 1、PFILE是文本格式,可以直接用文本编辑工具打开并修改;通常PFILE的格式是initSID.ora,SID为数据库的别名,在创建数据库时指定;  
创建数据库时,除数据库文件外,同时也创建了其他几种结构: 一、数据字典:是一组只读的表或视图;对数据库中对象的说明,包括两种对象类型,包括基表和数据字典视图;基表是存储数据库信息的底层表;基表是在任何 Oracle 数据库中首先创建的对象。在使用 CREATE DATABASE 创建数据库时,只要 Oracle 服务器运行 sql.bsq 脚本,就会自动创建这些对象;数据字典视图是基表的汇总,数
ORACLE数据库的逻辑结构(磁盘空间结构)由表空间、段、区、块组成。如图: 1、数据块:最小的I/O单位;数据块的大小由DB_BLOCK_SIZE参数决定,其大小应该是操作系统块大小的倍数; 2、区:若干个连续的块; 3、段:一个或多个区;表则是存贮在段中的数据; 4、表空间:一个或多个数据文件的集合;一个段只能属于一个表空间,但可以跨越同一表空间下的多个数据文件;一个表空间下可以
ORACLE数据库包含以下三种进程: 1、用户进程:请求与ORACLE服务器交互的程序; 2、服务器进程:与ORACLE例程连接,用户建立会话是启动,直接与ORACLE服务器交互的程序; 3、后台进程:在ORACLE例程启动时启动,直接与ORACLE服务器交互,执行维护并加强物理结构和内存结构之间的关系;必选的后台进程包括: &nbs
一、ORACLE数据库的物理结构:三种文件 数据文件、控制文件、重做日志文件 二、ORACLE数据库的内存结构:两个内存区 1、系统全局区(SGA):在ORACLE例程启动时分配,是例程的基本组件;包括:共享池、数据库缓冲区高速缓存、重做日志缓冲区、(大型共享池、JAVA池) SGA是动态的,大小由SGA_MAX_SIZE参数决定,是连续的虚拟内存分配,以粒组为单位进行分配
ORACLE服务器是一个数据库管理系统,包括ORACLE例程和ORACLE数据库; ORACLE例程是一种访问ORACLE数据库的方式,始终打开一个,由内存结构和后台进程组成; ORACLE数据库是一个被统一处理的数据集合,分成三类文件:数据文件、控制文件、重做日志文件; 连接到ORALCE例程包括:建立连接和创建会话
语法:CREATE SEQUENCE SEQUENCE_NAME INCREMENT BY N (步长,缺省增量为1;负数为降序) START WITH N(起始序列,缺省增量为1) &
1、视图是基于表或另一视图的逻辑表,一个视图并不包含自己的数据;视图基于其上的表称为基表;视图在数据字典中作为SELECT语句存储; 2、视图的优势:选择性显示表中的列,限制数据访问;视图构成简单的查询以获得复杂查询的结果;对特别的用户和应用程序提供数据独立性; 3、视图的分类: 1)简单视图:数据仅来自于一个表且不包含函数或数据分组,而且能通过视图执行所允许的任何操作; 2)复杂视图:数
包括:表、视图、索引、序列、同义词; 1、表:至多可有1000列; 2、表的分类: 1)用户表:由用户创建和维护的表; 2)数据字典:由ORACLE服务器创建和维护的表,属于SYS,普通用户无法直接访问。数据字典表时ORACLE运行的基础;用户一般访问数据字典视图,其中信息的格式易于理解; 数据字典视图有4种: &nbs
1、子查询必须放在圆括号内; 2、子查询的分类: 单行子查询:从内SELECT语句只返回一行的查询; 多行子查询:从内SELECT语句返回多行的查询; 多列子查询:从内SELECTY语句中返回多列(单行、多行)的查询;
笛卡尔积 当一个连接条件无效或者被遗漏时,其结果是一个笛卡尔积,所有行的组合都被显示; 笛卡尔积的结果对于大多数的查询来说都是不需要的。 表连接的原则 相同列名出现在多个表中,列名前面必须前缀表名,另外,在SELECT语句中,列名前缀表名使语义更加清楚,也加快数据库的访问。 连接N个表,至少需要N-1个连接条件(表中如有连接主键除外) 连接的类型 1、等值连接EQUJOI
1、CASE表达式 IF-THEN-ELSE逻辑,所有的表达式必须是相同的数据类型; CASE SEARCH EXPRESSION_R WHEN EXPRESSION_R1 THEN RESULT1 WHEN EXPRESSION_R2 THEN RESULT2 ... WHEN EXPRESSION_RN THEN RESULTN ELSE DEFAULT_RESULT END
分为单行函数和多行函数。 1、单行函数:仅对单个行进行运算,可接受多个参数并返回一个值,可以修改数据类型,可以嵌套,参数可以是一个列或者是一个表达式,可以用在SELECT,WHERE和ORDER BY子句中。 语法:FUNCTION_NAME[(ARG1,ARG2...)] 单行函数的类型如下: 1)字符函数:接受字符输入,可以返回字符或者数字值; 字符函数包括大小写处理
当我们不知道要搜索的确切的值,可以用LIKE条件来匹配一个字符模板的行,可以用%和_来构造搜索串。搜索条件既可以包含文字也可以包含数字,%表示0个或多个字符,而_表示一个字符。 如果要搜索实际的%和_符号,可通过ESCAPE标识符。例如: SELECT EMPLOYEE_ID,LASTNAME,JOB_ID FROM EMPLOYEES WHERE JOB_ID LIKE '%SA\_AN
1、定义空值: NULL条件包含IS NULL和IS NOT NULL,不能用=,因为NULL不能等于或者不等于任何值。 任何类型数据的列都可以包含空,但某些约束,如PRIMARY KEY、NOT NULL都防止列中使用空;对空值进行加减乘除操作后,返回的值依然是空或者未知,对空值进行连接字符串的操作时,返回的是被连接的字符串。 2
1、有以下几种命令: 环境:影响会话期间SQL语句的总体行为; 格式化:格式化查询结果; 文件处理:保存语句到脚本文件中,从脚本文件中运行语句; 执行:从浏览器发送SQL语句到oracle服务器; 编辑:在编辑窗口中修改SQL语句; 交互:允许你创建或传递变量到SQL语句,打印变量值和打印信息到屏幕上; 其他:各种连接数据库、操作iSQL*Plus环境和显示字段定义的命令 &nbs
1、连字运算符:连接列和列、算术表达式、常数值来创建一个字符表达式,用||表示,连字运算符两边的列被合成一个单个的输出列。 2、文字字符串:包含在SELECT列表的一个数字、一个字符串或者是一个日期,每个返回行打印一次,日期和字符必须放在‘’中,数字不需要。
SQL语句共分为3类:数据操纵语言(DML)、数据定义语言(DDL)、数据控制语言(DCL)。 1、DML:INSERT、UPDATE、SELECT、DELETE 2、DDL:用来创建数据库中的对象,包括表、视图、索引、同义词、聚簇(TABLE/VIEW/INDEX/SYN/CLUSTER) 3、DCL:用来授予或回收访问数据库的某种权限,控制
布尔运算符: 1、AND:在WHERE子句中连接连个或多个条件,AND两边的条件必须都为TRUE时,指定条件的行才会显示。 2、OR:OR两边的条件有一个为TRUE时,这些行就可以显示。 3、NOT: 注:运算符两边的组合条件可分别用()括起来 条件运算符: 1、IN:是设置成员测试运算符,用于测试一个数值是否属于IN之后
子句: 1、GROUP BY子句:将集中所有的行在一起 2、HAVING子句:可根据你指定的条件来选择行,应该在GROUP BY子句之后使用 3、ORDER BY子句:可选子句,可以根据你指定ORDER BY的列按照上升ASC(缺省)或下降DESC的顺序来显示查询结果;如果要多列排序的话,列与列之间要加上“,”;对于空值,升序排序时显示在最后,
MIN:返回一个给定列中最小的数值 MAX:返回一个给定列中最大的数值 SUM:返回一个给定列中所有数值的总和 AVR:返回一个给定列中所有数值的平均值 COUNT:返回一个给定列中所有数值的个数 COUNT(*):返回一个表中的行数 组函数只会出现在SELECT语句和GROUP BY、HAVING子句中,用GROUP BY将行划分成较小的组,再通过组函数返回每个组的汇
select 用于查询数据库并检索匹配你指定条件的选择数据。有5个主要的子句,其中from是唯一必须的字句。 1、所有SQL语句在结尾处都要使用“;”,表示SQL语句已经结束并准备被解释。 2、数据库表格和表格中列的名称须以字母开头,后面可用字母、数字、下划线,长度不超过30个字符,不能使用SQL语句中的保留关键字。 3、SQ
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号