Chinaunix首页 | 论坛 | 博客
  • 博客访问: 313494
  • 博文数量: 84
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 890
  • 用 户 组: 普通用户
  • 注册时间: 2011-03-13 16:46
文章分类

全部博文(84)

文章存档

2017年(2)

2016年(4)

2015年(78)

我的朋友

分类: Oracle

2015-10-19 16:49:16

(1)什么是数据库以及实例
    数据库是一个逻辑上的概念,简单的说就是相互关联的一堆数据。而对应到实际的物理概念上,就是磁盘上的一个或者一堆文件,里边包含着数据。但是光有数据不行,数据库有很多功能,比如可以接受用户连接,给用户提供数据,这样就需要有程序。所以说关闭状态的数据库,就是磁盘上的程序文件,加上数据文件。
想要使用数据库,就要把它打开,让上边说的程序运行起来。实例就是指计算机内存中处于运行状态的数据库程序,以及为这些程序分配的一些内存空间。实例是位于内存中的,只在数据库处于运行状态时才存在。实例负责实现给用户提供网络连接、读写数据文件等等各种功能。
不同的数据库产品有些不同,oracle中
一个实例只能连接一个逻辑上的数据库,甚至是不同机器上运行着的不同实例同时连接一个数据库RAC
(2)什么是数据对象

select distinct object_type from dba_objects;得到的结果就是数据库的对象; 数据库对象就是数据库中各种object,常用的有table、view、procedure(存储过程)、function(函数)、queue、scheduler(调度程序)、index、trigger(触发器)、library、package、sequence、synonym(同义词)、program等

(4)存储过程procedure
     什么是存储过程

    所谓存储过程,就是一段存储在数据库中执行某种功能的程序,其中包括一条或多条SQL语句,但是它的定义方式和PL/SQL中的块、包等有所区别。存储过 程可以通俗地理解为是存储在数据库服务器中的额封装了一段或多段SQL语句的PL/SQL代码块。在数据库中有一些是系统默认的存储过程,那么可以直接通 过存储过程的名称进行调用。另外存储过程还可以在程序语言中调用,如java、C#、VB等程序语言。
    存储过程的作用
a、简化复杂操作。存储过程可以把需要执行的多条SQL语句封装到一个独立单元中,用户只需调用这个单元就能达到目的。这样就实现了一人编写多人调用,同时缩短了平均开发周期,为公司节省了成本。
b、增加数据独立性。与视图的效果类似,利用存储过程可以把数据库基础数据和程序(或用户)隔离开来,当基础数据的结构发生变化时,可以修改存储过程,这样对于程序来说基础数据的变化是不可见的,也就不需要修改程序代码了。
c、提高安全性。使用存储过程有效地降低了错误出现的几率。如果不使用存储过程要想实现某项操作可能需要执行多条单独的SQL语句,而过多的执行步骤很可 能造成更高的出错几率。不仅如此,实际工作中开发人员的水平参差不齐,由高水平的人编写存储过程,水平较低的人员直接调用,这样就能避免很多不必要的错误 发生。此外,存储过程也可以进行权限设置。

d、提高性能。完成一项复杂的功能可能需要多条SQL语句,同时SQL每次执行都需要编译,而存储过程可以包含多条SQL语句,而且创建完成后只需要编译一次,以后就可以直接调用,从这方面来看存储过程可以提高性能。如果程序语言要实现某项比较复杂的功能,它会多次连接数据库,在使用存储过程的情况下,程序只需连接一次就能达到目的。

(3)什么是表空间

    表空间是数据库的逻辑划分,一个表空间只能属于一个数据库。所有的数据库对象都存放在指定的表空间中。但主要存放的是表, 所以称作表空间。数据库有多个表空间,数据库管理员可以指定表放到哪个表空间中;表空间就是存放表的那一个空间Oracle数据库中至少存在一个表空间,即SYSTEM的表空间。数据库管理员还可以将不同类型的数据放置到不同的表空间中,这样可以明显提高数据库输入输出性能有利于数据的备份与恢复等管理工作。因为我们数据库管理员在备份或者恢复数据的时候,可以按表空间来备份数据。
    另外,还可以对表空间进行独立备份当数据库容量比较大的时候,若一下子对整个数据库进行备份,显然会占用比较多的时间。虽然说Oracle数据库支持热备份,但是在备份期间,会占用比较多的系统资源,从而造成数据库性能的下降。
为此,当数据库容量比较大的时候,我们就需要进行设置多个表空间,然后规划各个表空间的备份时间,从而可以提高整个数据库的备份效率,降低备份对于数据库正常运行的影响。
    当表中的记录比较多的时候,对他们进行查询,速度会比较慢。第一次查询成功后,若再对其进行第二次重新排序,仍然需要这么多的时间。为此,我们在数据库设计的时候,针对这种容量比较大的表对象,往往把它放在一个独立的表空间,以提高数据库的性能。
    默认情况下,日志文件与数据文件存放在同一表空间。但是,这对于数据库安全方面来说,不是很好。所以,我们在数据库设计的过程中,往往喜欢把日志文件,特别是重要日志文件,放在一个独立的表空间中,然后把它存放在另外一块硬盘上。 如此的话,当存放数据文件的硬盘出现故障时,能够马上通过存放在另一个表空间的重做日志文件,对数据库进行修复,以减少企业因为数据丢失所带来的损失。
    建立表空间与建立用户的顺序关系
建立用户,并制定用户的默认表空间
   企业需要对用户进行磁盘限额控制的,则就需要根据用户的数量来设置表空间。当企业的数据容量比较大,而其又对数据库的性能有比较高的要求时,就需要根据不同类型的数据,设置不同的表空间,以提高其输入输出性能。
   在建立用户的时候,我们建议数据库管理员要指定用户的默认表空间。因为我们在利用CREATE语句创建数据库对象,如数据库表的时候,其默认是存储在数据库的当前默认空间。若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,显然,这不是很合理。另外要注意,不同的表空间有不同的权限控制。用户对于表空间A具有完全控制权限,可能对于表空间B就只有查询权限,所以,合理为用户配置表空间的访问权限,也是提高数据库安全性的一个方法。





(4)什么是RMAN
与exp、expdp、imp、impdp相比RMAN是物理备份
    RMAN(Recovery Manager)是一种用于备份(backup)、还原(restore)和恢复(recover)数据库的 Oracle 工具。   
    RMAN是ORACLE提供的恢复和备份工具,是随Oracle服务器软件一同安装的工具软件,它可以用来备份和恢复数据库文件、归档日志和控制文件,用来执行完全或不完全的数据库恢复。与传统工具相比,RMAN具有独特的优势:跳过未使用的数据块。当备份一个RMAN备份集时,RMAN不会备份从未被写入的数据块,而传统的方式无法获知那些是未被使用的数据块。RMAN使用Oracle特有的二进制压缩模式,与传统备份的压缩方式相比,能够最大程度地压缩数据块中的一些典型数据。
    RMAN可以用来备份和还原数据库文件、归档日志和控制文件。它也可以用来执行完全或不完全的数据库恢复。
    注意:RMAN不能用于备份初始化参数文件和口令文件。
    RMAN 的备份和恢复级别分为:数据库级别、表空间级别、文件级别。
(5)什么是逻辑导出、逻辑导入
exp
imp
expdp
impdp

(4)什么是Data Guard

阅读(1558) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~