自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

 问世间情为何物?直教生死相许。天南地北双飞客,老翅几回寒暑。欢乐趣,离别苦,就中更有痴儿女。君应有语,渺万里层云,千山暮雪,只影向谁去?

  • 博客(56)
  • 资源 (3)
  • 收藏
  • 关注

原创 oracle pl/sql编译

一、

2012-04-23 06:23:45 470

原创 oracle对象类型

2012-04-23 06:23:10 344

原创 oracle幻术

一、

2012-04-23 06:22:45 353

原创 在视图上创建约束

只有逻辑约束(logical constraint)(即由用户声明而非 Oracle 强制的约束)可以在视图上定义。定义在视图上的约束不是为了保证业务规则的正确,而是为了识别多维数据(multidimensional data)。以下约束可以定义在视图上:主键约束(Primary Key constraint) 唯一约束(Unique constraint) 引用完整性约束(Referen

2012-04-23 06:22:19 1635

原创 oracle 还原点

一、关于还原点  在数据库的恢复中经常需要把数据库或者表等恢复到过去的某个点,比如recover database until scn,flashback table table_name  to scn,这时可以使用还原点。  还原点即为scn的别名,它与创建还原点时刻的scn相对应,我们在恢复操作中使用该还原点。  还原点可以用于以下操作:  1、flashabck table

2012-04-23 06:21:44 4095

转载 oracle流

对于想要集中数据审计函数以创建通用审计过程的开发者,也许就该考虑使用Oracle流。我们要一个数据审计表,保存对数据库进行的所有修改。这个数据库范围的审计表可用于多进程,它会引发一些性能问题(这已超出本书范畴),但这些问题可通过调整对象存储参数来减轻。集中式数据审计跟踪将包含一个主表和一个附表,命名为AUDIT_TRAIL_1和AUDIT_TRAIL_2。AUDIT_TRAIL_1如下:

2012-04-12 06:31:25 652

原创 闪回数据库(flashback database)

一、配置闪回数据库  1、快闪恢复区    设置db_recovery_file_dest_size    alter system set db_recovery_file_dest_size=ng   --n为数值大小,g为单位    设置db_recovery_file_dest    alter system set db_recovery_file_dest='/u0

2012-04-10 22:42:44 781

原创 可移植表空间

一、选择可移植表空间  要想移植表空间,该表空间必须是自包含的。  使用下列方法查看表空间是否为自包含  begin  dbms_tts.transpoort_set_check('TABLESPACE_NAME',true);  end;  如果没有返回错误,则表空间为自包含的。  当然如果表空间是非自包含的,也可以在导出时使用命令行参数transport_full_

2012-04-10 22:42:15 657

原创 闪回删除(flashback drop)

在oracle中删除对象时,这些对象以及他们的依赖对象并没有立即删除,而是更名之后临时呆在原地,oracle将尽可能地保存他们。直到遇见以下情况才彻底删除他们:  1、用户使用purge命令删除他们。  2、空间不足时,oracle为了回收空间自动彻底删除他们。   在以下情况,对象不经过回收站而是直接删除对象:  1、drop user username cascade  -

2012-04-10 22:41:14 661

转载 oracle增量更新备份

增量更新备份Run { Recover copy of database with tag 'Orcl'; Backup incremental level 1 for recover of copy with tag 'Orcl' database; } 第一次执行 创建镜像拷贝(失败 因为还没有 tag 'Orcl' 的备份信息 )  备份 level 1

2012-04-10 22:40:44 1440

原创 DML复合触发器

将行级和语句级触发器放在一个触发器中,即为复合触发器比如:create or replace trigger trigger_namefor insert or update on scott.deptcompound triggerv_var number(2):=1; before statement isbegindbms_output.put_line(

2012-04-10 22:40:10 1038

原创 在oracle sql语句中调用pl/sql函数应注意的问题

用户自定义的函数要想能够在sql语句中使用,必须满足下列条件:  1、函数的所有参数必须为in模式。  2、函数的参数数据类型和返回值的数据类型必须为oracle数据库可以识别的。一些专门在pl/sql中使用的数据类型时数据库不能识别的。  3、函数必须保存在数据库中,在客户端pl/sql环境中定义的函数没有办法被sql语句调用。在sql语句中使用自定义函数的限制:  1、函数

2012-04-01 21:49:00 4964

原创 有关用户外部认证的问题

一、关于普通用户的外部认证与普通用户外部认证的两个参数:os_authent_prefix和remote_os_authentos_authent_prefix设置在创建外部用户时的前缀,默认值为:ops$,即当os用户为hp时,我们可以在数据库上创建外部用户为ops$hpcreate user ops$hp identified externally;remote_os_auth

2012-04-01 21:47:46 1101

原创 数据库审计

一、审计指导方针:1、最小化审计选项,降低跟踪文件个数              2、移动审计表sys.aud$到其他表空间(默认为system表空间)              3、定期删除跟踪记录              4、避免审计跟踪记录被非法用户删除(具有delete_catalog_role角色,可删除跟踪记录)审计分类:特权用户审计          标准审计

2012-04-01 21:47:19 577

原创 包的串行化

默认情况下,包具有会话持续性(或者直到包被重新编译),包的这种特性可能会带来一些问题:  1、导致无法预料的错误,比如使用包中的游标而未关闭,这样再以后程序中打开这个游标时会出现‘游标已经打开’的错误。  2、可能占用大量内存。  使用包的串行化:把包状态的声明周期从会话减少到一个程序的调用。  如何使用包的串行化?在包规范和包体中同时使用serially_reusable。

2012-04-01 21:46:53 374

原创 创建DML触发器

创建DML触发器  create or replace trigger trigger_name  before | after                                                    --指定触发器在出发时间之前还是之后触发  insert on scott.table_name

2012-03-30 18:40:23 919

原创 pl/sql中的前置声明

前置声明  在pl/sql中必须先声明一个程序,然后才能使用这个元素。但如果程序a调用程序b,而程序b又调用程序a,那么该怎么声明呢?可以使用前置声明。也即先生命两个程序的块头部分,然后在给出模块的真正定义。前置声明可以使程序在定义之前被调用。  规则:1、不能对变量和游标进行前置声明,只针对过程和函数。        2、前置声明必须位于pl/sql块的声明部分  比如:pr

2012-03-30 17:12:39 547

原创 pl/sql模块重载

模块重载  多态:语言能够定义并且选择性的使用多个相同名称的程序中的一个的能力。  静态多态:在编译时刻决定使用哪个程序。重载即为静态多态。  动态多态:在运行时刻决定使用哪个程序。  pl/sql支持在块的声明部分,包的声明部分和包体部分,对象类型的定义中对过程和函数进行重载重载的限制:  1、重载的程序的参数中至少一个来自不同的数据类型    参数的数据类型不同但只

2012-03-30 17:12:10 803

原创 pl/sql中的局部块

局部模块局部模块:在pl/sql块(匿名或者命名块)的声明部分定义的过程或者函数。这种块只能在pl/sql块的内部被调用,不能被外部块调用。并且在定义局部块时,必须位于变量、常量、游标,异常、类型、记录等之后。比如:declare        procedure proc_name (date_in in date) is          begin

2012-03-30 17:11:50 383

原创 oracle权限

一、系统权限:  授予系统权限    要想授予其他用户或者角色系统权限,需要满足下列条件之一:    1、具有grant any privilege权限    2、用户被授予权限时带有admin option选项   grant system_privilege to user_name [with admin option]      --可以同时给用户或者角色授予多

2012-03-30 17:11:22 2975

原创 资源管理器

一、资源管理器(DRM)由三个要素组成:资源消费群(resource_consumer_group)资源计划(resource_plan)资源计划指令(resource_plan_directive) 执行与DRM有关的操作,必须具有 administer_resource_manager 系统权限。 二、未决域(pending area)DRM的三个要素都必须创建

2012-03-30 17:10:58 879

原创 函数

函数的结构:  function [schema.]function_name   [(parameter [, ...])]             --参数列表   return return_datatype            --返回数据类型   [authid {definer | current_user}] --指定使用定义者权限还是调用者权限   [dete

2012-03-30 17:09:24 314

原创 过程

一般格式  create procedure schema.proc_name  [(parameter [, ...])]             --参数列表  [authid {definer | current_user}] --指定是使用定义者权限模型还是调用者权限模型  is  [declaration]                     --声明部分

2012-03-30 17:08:55 244

原创 归档模式

一、归档模式与非归档模式  当数据库处于非归档模式,日志发生切换,需要新的日志文件时,oracle将覆盖日志文件中的内容。在数据库发生灾难时,oracle只能使用备份,无法使用归档日志和联机重做日志使数据库赴会到最新状态。  当数据库处于归档模式,oracle在覆盖日志文件中的内容之前,将日志写入归档日志中予以保存。这样在数据库发生灾难时,可以使用归档日志和联机日志吧数据库恢复到最新

2012-03-28 18:18:47 414

原创 管理用户

管理用户一、默认临时和永久表空间  可以在数据库指定默认的临时表空间和默认的永久表空间,这样在没有为用户指定默认临时表空间和默认永久表空间时,使用它们作为用户的默认临时表空间和默认永久表空间。当然也可以在创建用户时指定它们或者创建用户之后更改它们。  更改数据库默认临时表空间和默认永久表空间:  alter database default tablespace tbs_name;

2012-03-28 18:18:21 282

原创 概要文件

概要文件一、参数  1、资源参数    现在很少使用概要文件来限制用户对资源的使用,主要把概要文件用来实施密码策略。    cpu_per_call:事务内每个调用使用的cpu的时间    cpu_per_session:会话中使用的cpu的总时间    logical_reads_per_call:每个调用总的逻辑读取数    logical_reads_per_se

2012-03-28 18:17:10 540

原创 参数文件

一、服务器参数文件和初始化参数文件  1、服务器参数文件    名为:spfile$oracle_sid.ora,由数据库自行维护的二进制文件,一般不允许手工修改。    可以动态修改,并写入参数文件中,数据库重之后继续有效。    数据库默认使用服务器参数文件。  2、初始化参数文件    名为:init$oracle_sid.ora,是文本参数文件,可以手工修改。在动态

2012-03-28 18:16:21 691

原创 可恢复的空间分配

一、用户需要具有resumable权限  grant rsumable to user_name二、启用可恢复的空间分配  1、爱系统级启用:alter system set resumable_timeout=n  --当用户的操作由于空间不足时可以挂起n秒,n秒内解决问题后操作继续进行。  2、在会话级启用    alter session enable resumable

2012-03-25 15:58:48 616

原创 数据库的启动与关闭

从SQL*PLUS中启动和关闭数据库一、启动数据库  在启动数据库时,oracle在$ORACLE_HOME/dbs(linux)或者%ORACLE_HOME%/database(windows)中按照下列顺序寻找参数文件:  spfile$oracle_sid.ora  spfile.ora  init$oracle_sid.ora  如果想使用自己指定的参数文件启动数据

2012-03-25 15:58:24 466

原创 模块中的参数问题

一、定义参数  在模块头部定义参数  如:procedure proc_name(para_name in datatype [{:=value | default value}] [, ...])  1、para_name为参数名  2、in 为参数模式,参数模式有in,out,in out  3、datatype为数据类型,该数据类型不受约束,也即只有数据类型的名称,不能有

2012-03-25 15:57:48 768

原创 oracle并发控制

数据库采用锁定、时间戳、基于验证的事务调度等方法进行并发控制。  锁定是悲观方法,而时间戳方法和基于验证的事务调度是乐观的方法。  锁定比乐观的方法需要更长时间的延迟,但不终止事务。乐观方法需要终止事务。  时间戳方法为每一个事务分配时间戳,并保证事务的时间戳和事务的时间表相匹配来强制实施串行化。  验证方法维护事务的一个活动记录,在提交一个事务之前,针对所有当前活动事务的更改,验

2012-03-24 21:32:17 814

原创 闪回

闪回包括:闪回查询、闪回版本查询、闪回事务查询、闪回表、闪回删除和闪回数据库  其中前四个需要使用插销数据,这里主要先介绍着四个。  如果经常使用闪回操作,则建议使用有保证的撤销保留,要不然可能会收到‘快照太旧’的错误。一、闪回查询  查询数据在过去某个时刻或者某个SCN处的一个旧版本。  要对对象闪回查询,需要用户具有对象上的flashback权限,或者具有flashback

2012-03-23 06:28:20 388

原创 自动撤销管理(AUM)

一设置AUM  设置自动撤销管理,涉及三个参数:undo_management、undo_tablespace、undo_retention  1、undo_management  设置自动撤销管理,必须设置初始化参数undo_management=auto  alter system set undo_management=auto scope=spfile;  该参数也是必

2012-03-23 06:27:45 1680

原创

一、oracle锁的特点  1、oracle自动施加和释放锁  2、oracle默认使用行级锁  3、oracle默认把锁的信息放在数据块中  4、oracle不支持锁的升级  5、锁在事务中使用,事务结束后oracle释放锁;如果事务撤销到保存点,则保存点之后的操作持有的锁被释放。  6、任何oracle锁模式都不影响select,反之亦然。二、锁定的对象  1、

2012-03-23 06:26:50 303

原创 并发性与隔离级别

一、并发性带来的问题  1、脏读(dirty read)  2、幻读(phantom read)  3、更新丢失(lost update)  4、不可重复读(nonrepeatable read)二、隔离级别  1、串行(serializable):不会出现任何并发性问题  2、可重复读(repeatable read):可能出现幻读  3、已提交读(read co

2012-03-23 06:25:58 792

原创 commit和rollback

一、oracle事务  oracle在第一个可执行sql语句开始时,隐式地开始一个事务,遇到以下情况时结束事务:  1、commit:整个事务的所有更改永久保存  2、rollback:撤销事务所做的更改  3、DDL语句:执行DDL语句时,oracle隐式提交之前事务所做的更改。  4、程序正常结束:oracle隐式提交  5、程序失败:oracle隐式rollback

2012-03-23 06:25:19 8934

原创 oracle 角色

1.建一个角色sql>create role role1;2.授权给角色sql>grant create any table,create procedure to role1;3.授予角色给用户sql>grant role1 to user1;4.查看角色所包含的权限sql>select * from role_sys_privs;5.创建带有口令以角色(在生效带

2012-03-23 06:20:56 341

原创 约束、同义词、序列

一、约束  1、、约束分类    (1)、非空约束(not null)        在创建表时创建:column_name data_type [constraint constraint_name] not null --只能在列级指定,不能在表级。        在更改表时创建:alter table table_name modify column_name not nul

2012-03-23 06:16:52 1334

原创 索引概述

一、创建索引的原则  检索数据不超过表中数据的10%或15%时,创建索引  相对较小的表不宜创建索引  对包含在表连接操作中的列创建索引  对在where子句中频繁使用的列创建索引  对包含在order by和group by或者涉及排序的union和distinct等其他操作中的列创建索引  有长字符组成的列不宜创建索引  被频繁更改的列不宜创建索引  对表中选择

2012-03-23 03:11:09 286

原创 特殊表

一、临时表  1、特点:    不能备份临时表    oracle不会分析临时表    可以在临时表上创建索引    可以在临时表上创建约束    创建临时表之后不会立即分配段,而是在第一次写数据之后分配    临时表对所有用户共享,但每个用户只能看到自己事务或者会话的数据    可以对临时表进行insert、update、delete操作    锁的数量少

2012-03-23 02:38:18 283

oracle 10g conecpts 中文版

oracle 10g conecpts 中文版

2012-05-15

数据库系统概述

清华大学出版,大学教科书,详细为你介绍数据库的理论基础知识。

2012-04-09

oracle数据库备份方案及实现

详细介绍了oracle的备份设计、策略以及实施

2011-10-27

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除