oracle数据库(一)

一.oracle函数依赖和范式理论

1.函数依赖

1)非平凡依赖:在关系R(U)中,对于U的子集X和Y,如果X->Y,Y不属于X的子集,则称X->Y是非平凡依赖。

2)平凡依赖:反之就是平凡依赖。

3)完全函数依赖:如果X->Y,对于任意X的子集X‘存在X‘-\>Y,则称X->Y为完全函数依赖。

4)部分函数依赖:如果X->Y,对于任意X的子集X‘不存在X‘-\>Y,则称X->Y为完全函数依赖。

5)传递函数依赖:如果X->Y,Y->Z,且Y-\>X,Z不属于X,则称Z传递函数依赖于X。

2.范式理论

第一范式:如果关系模式R的每一个关系r的属性都是不可分割的,R就是第一范式的模式。

第二范式:R已经是第一范式,关系r的的每个非主属性完全依赖候选键,则称R为第二范式。

第三范式:R已经是第二范式,关系r的非主属性对任何候选键都不存在传递函数依赖,则称R为第三范式。

二.oracle数据库体系结构

1.存储结构

存储结构分为物理存储结构和逻辑存储结构。

物理存储结构有数据文件、日志文件、控制文件等,数据文件存储数据库的数据和索引等,日志文件记录数据库数据或者数据库结构被修改的信息,控制文件用来存储数据文件和日志文件的信息,是一个很小的二进制文件,用来描述和维护数据库的物理结构。

逻辑存储结构有表空间、段、区、数据块。

2.oracle内存结构

内存结构分为系统全局区(SGA)和程序全局区(PGA),系统全局去又称共享区,,可供系统中多个进程共享,由共享池、java池、大型池、数据缓存区和日志缓存区构成,共享池存放着最近的PL/SQL语句、SQL语句和字典,java池用于支持java语言的运行,比如用java语言写一个存储过程,Oracle的虚拟机会调用java池处理java存储过程,大型池存放数据的备份,数据缓冲区存储从磁盘读取的数据,日志缓冲区存储数据库被修改的信息。

程序全局区是系统分配给一个进程的私有内存区,用于存储变量和数组等。

3.oracle进程结构

Oracle启动后,会启动多个oracle后台进程,用来执行不同的任务,常用的进程有DBWn进程,数据库写入进程,LGWR进程,日志写入进程,CKPT进程,检查点进程,SMON进程,系统监控进程,PMON进程,进程监控进程,ARCn进程,归档进程,RECO进程,恢复进程。

4.数据字典

数据字典式存储在数据库中所有对象信息的知识库,可以通过数据字典获对象信息和安全信息。

常用字典:dba_tables、dba_views。

三.SQLplus常用命令

describe查看表的结构:

desc scott.emp 用来查询scott用户的emp表结构

LIST:缓冲区的所有行。

SAVE:将缓冲区的内容保存到文件。SAVE scott_emp.sql

START:读取并运行文件内容。 START scott_emp.sql

四.对表空间的管理

4.1创建表空间

creat tablespace myspace

datafile ‘C:\...\...‘

size 5M

autoextend on next 5M

maxsize 20M;

4.2表空间的状态属性

1.online

2.offline

3.only read

4.read write

原文地址:https://www.cnblogs.com/zzuli/p/9440445.html

时间: 2024-10-07 05:30:48

oracle数据库(一)的相关文章

win7 64位系统 PB连接oracle数据库出现“oracle library oci.dll could not be loaded”问题的解决方法

今天与大家分享一个自己的学习笔记,希望能给遇到同样问题的人带来帮助. 不知道大家在win7 64位系统下用 PB连接oracle数据库时,是否遇到过“oracle library oci.dll could not be loaded”问题. 今天,在win7 64位系统下用 PB连接oracle数据库时,一直出现上述错误,在百度上找了很久,都没有找到一个完整的解决方案,咨询了很多人,(他们都说是我的PB和oracle没装好,但我装的时候没出现任何问题,一切都很顺利,而且PB和oracle都能正

Oracle数据库——触发器的创建与应用

一.涉及内容 1.理解触发器的概念.作用和类型. 2.练习触发器的创建和使用. 二.具体操作 (实验) 1.利用触发器对在scott.emp表上执行的DML操作进行安全性检查,只有scott用户登录数据库后才能向该表中执行DML操作.(第1题中,user是系统函数,返回当前用户.字符串中使用两个单引号表示一个单引号.) 要求:分别以system用户和scott用户对emp 表执行DML操作,试验触发器的运行效果. (1)在scott用户下创建触发器 语句: create or replace t

使用PL/SQL连接oracle数据库,并将数据进行导出备份和导入恢复

这种操作百度一搜一大片,今天整理以前做的项目时自己备份了一下数据库,试着将数据进行导出备份和导入恢复了一下:下面是操作过程: 1 开启服务 2 配置监听 找到下面文件: 记事本打开 在导航器的下拉菜单中选择:将数据库添加到树, 然后点击确定 然后使用PL/SQL就可以登录了: 3 建立新表空间和新用户 使用system用户登录:执行如下sql语句建立表空间和新用户,以及给用户授权 建立表空间 Create tablespace myyyjc datafile 'D:\app\Administra

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性

利用SHELL脚本来验证Oracle数据库RMAN备份集的有效性 作者:赵全文  网名:guestart 我们生产环境的Oracle数据库都做了RMAN备份,是采用了一周的RMAN备份保留策略:除了使用RMAN备份以外,我们还使用了爱数(Eisoo)备份软件来进行备份,可以说是做到了有备无患.可是,如果有一天,Oracle数据库由于主机层面硬件原因或是数据库层面的原因不能对外提供高可用服务的时候,假设数据丢了一大部分,我们只有用RMAN备份来进行恢复,再如果发现,RMAN备份失效了,那就往地缝里

PL/SQLDeveloper导入导出Oracle数据库方法

前一篇博客介绍了Navicat工具备份Oracle的方法,这篇博客介绍一下使用PL/SQL Developer工具导入导出Oracle数据库的方法. PL/SQL Developer是Oracle数据库用于导入导出数据库的主要工具之一,本文主要介绍利用PL/SQL导入导出Oracle数据库的过程. 1.Oracle数据库导出步骤 1.1 Tools→Export User Objects...选项,导出.sql文件. 说明:此步骤导出的是建表语句(包括存储结构). 1.2 Tools→Expor

Linux环境下Oracle数据库启动停止命令

切换root至oracle数据库账号 su – oracle 查看数据库服务状态: ps -ef |grep oracle netstat –an|grep 1521 查看数据库监听状态: [[email protected] ~]$ lsnrctl status LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 25-NOV-2016 03:36:45 Copyright (c) 1991, 2009, Oracle. All righ

Oracle数据库中文乱码问题

最近碰到Oracle乱码问题,刚开始甚是头疼,以前在合肥出差的时候,这种问题也碰到过,当时直接抛给了“乌压压一片”(一个搞数据的同事儿),这次没办法躲过,只好硬着头皮上.虽然我这次碰到的是Oracle乱码问题中的一个,但是我决定将这个乱码问题整理清楚(不整清楚,就觉得身边有个定时炸弹,怕下次整数据库的时候会突然又爆炸). 解决这个问题的关键在于理解字符集的概念,所以在正文开始之前,有必要先提一下字符集的相关知识!(这部分知识,对于解决j2ee中文参数传递过程中出现的乱码,也非常具有参考意义) 一

Oracle数据库语句大全

转自:http://blog.sina.com.cn/s/blog_b5d14e2a0101c56z.html ORACLE支持五种类型的完整性约束 NOT NULL (非空)--防止NULL值进入指定的列,在单列基础上定义,默认情况下,ORACLE允许在任何列中有NULL值. CHECK (检查)--检查在约束中指定的条件是否得到了满足. UNIQUE (唯一)--保证在指定的列中没有重复值.在该表中每一个值或者每一组值都将是唯一的. PRIMARY KEY (主键)--用来唯一的标识出表的每

Oracle数据库恢复案例

当我们在使用Oracle数据库时,突然断电,造成很多问题,致使旧数据丢失,影响了数据的正确性,破坏了数据库.此时,用户急切需求恢复数据.本文以此为例,讲述数据库数据恢复. 一.案例描述: 数据库因突然断电,数据库启库报system01.dbf需要更多的恢复来保持一致性,数据库无法打开:数据库没有备份,归档日志也不连续.客户提供了数据库的在线文件,急需恢复zxfg用户下的数据.   二.恢复流程:  1 数据库的故障检测 2 尝试挂起数据库并修复数据库 3解析数据文件 4 验证数据 5导出数据与交

重启oracle数据库的一次操作命令和alter日志。

今天重启oracle数据库的命令和alter日志: [email protected]:~> sqlplus '/as sysdba' SQL*Plus: Release 11.2.0.3.0 Production on Wed Jan 27 18:49:13 2016 Copyright (c) 1982, 2011, Oracle. All rights reserved. Connected to:Oracle Database 11g Enterprise Edition Release