1.创建一个分区表,并插入一些数据,同时查询出每个分区的数据。

答:创建分区表如下

2.创建一个视图,并给出一个查询语句。

3.在当前用户下创建一个同义词,用于查询scott用户下的dept表,并给出一个查询语句。

报错了,原因是没有创建同义词的权限,使用sysdba授权test后即可创建同义词成功。

4.创建一个sequence,并给出一个获得sequence号的语句。

答:创建一个最小值为1,最大值为1000,每次增加1的序号,其中如果设置了CACHE值,ORACLE将在内存里预先放置一些sequence,以使存取速度更快。cache里面的取完后,oracle自动再取一组到cache。 但是,使用cache可能会跳号, 当遇到数据库突然异常down掉(shutdown abort),cache中的sequence就会丢失. 
因此,推荐在create sequence的时候使用 nocache 选项。


第一次nextval返回的是初始值,随后的nextval会自动增加你定义的increment by值,然后返回增加后的值。currval总是返回当前SEQUENCE的值,但是在第一次nextval初始化之后才能使用currval,否则会出错。一次nextval会增加一次sequence的值。

5.创建一个指向本地数据库的dblink,并通过dblink查询一个表中的数据。

答:本地数据库名为orcl,为本地数据库创建一个dblink,查询表scott.dept中的数据

6.创建一个表空间,并在这个表空间上创建一张表。

答:创建表空间scott_dataspace,在这个表空间上创建一个表t_t

7.将数据库设置为归档模式,并进行一次日志切换,观察归档文件的产生。

答:查看数据库当前的模式时否为归档模式

将数据库设置为归档模式

正常关闭数据库,关闭后,启动数据库实例到mount状态,将数据库设置为归档模式,打开数据库后,查看当前数据库的日志模式

进行日志切换,产生归档日志

查看归档日志存放路径,并找到日志

8.说说你是如何理解commit和checkpoint的。

答:checkpoint与commit的区别

commit:提交事务,将修改数据产生的日志写到磁盘上。为的是保护数据,通过将redo日志写到磁盘上来确保相应数据的修改。因为redo日志写入磁盘的速度相当快,而oracle认为,只要修改数据产生的redo已经安全的写到磁盘上了,那么相应的数据修改是否写到磁盘就不重要了。

checkpoint:将脏数据写到磁盘上,缩短数据的恢复时间,为databuffer提供空闲空间。

有以下几点需要注意:写到磁盘上的数据不一定是已经提交的,只要是修改过的,都会写到磁盘上;数据写到磁盘上之前,这部分数据对应的日志信息必须提前写到磁盘上;alter system checkpoint 将只把已经commit的数据写到磁盘上;安全关闭数据库时,所有commit的数据会写到磁盘上。

9.说说你是如何理解redo和undo的作用的。

答:redo(重做信息)是Oracle 在线(或归档)重做日志文件中记录的信息,万一出现失败时可以利用这些数据来“重放”(或重做)事务。undo(撤销信息)是Oracle 在undo 段中记录的信息,用于取消或回滚事务。

重做日志文件(redo log file)对Oracle 数据库来说至关重要。它们是数据库的事务日志。Oracle维护着两类重做日志文件:在线(online)重做日志文件和归档(archived)重做日志文件。这两类重做日志文件都用于恢复;其主要目的是,万一实例失败或介质失败,它们就能派上用场。
从概念上讲,undo 正好与redo 相对。你对数据执行修改时,数据库会生成undo 信息,这样万一你执行的事务或语句由于某种原因失败了,或者如果你用一条ROLLBACK 语句请求回滚,就可以利用这些undo信息将数据放回到修改前的样子。redo 用于在失败时重放事务(即恢复事务),undo 则用于取消一条语句或一组语句的作用。与redo 不同,undo 在数据库内部存储在一组特殊的段中,这称为undo段(undosegment)。

从概论上讲,redo与undo正好相对,当我们对数据进行修改时,会生成undo信息,以便回到更改前的状态。万一我们执行的事务或语句由于某种原因而导致失败,或者用一条rollback语句请求回滚,就可以利用这些undo信息将数据恢复到修改前的样子。redo用于在失败时重放事务(即事务恢复),确保数据不会丢失。undo则用于取消一条语句或一组语句的作用。

10.对于下面的操作,说一说redo和undo分别是在哪个阶段产生的

"update t set id=1 where id=2";

答:oracle获得该语句的执行计划之后,前往SGA区的database buffer cache区中查找存放id=1的数据块,如果没有,则将该数据块从数据文件中加载到buffer cache中。oracle将该数据块未被修改前的映像写入undo,此时产生一条undo记录,与此同时,undo段的数据块发生了改变会产生一条redo记录(任何数据块的改变都会redo),oracle会将buffer cache中id=1的数据块中id的值修改为2,此时数据块的改变会产生另一条redo记录。

oracle数据库对象使用说明的更多相关文章

  1. Oracle 数据库对象

    数据库对象是数据库的组成部分,常常用CREATE命令进行创建,可以使用ALTER命令修改,用DROP执行删除操作.前面已经接触过的数据库对象有表.用户等. 今天将学习更多的Oracle数据库对象: 同 ...

  2. Oracle数据库对象,同义词、序列、视图、索引

    数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...

  3. Oracle数据库对象(表空间/同义词/序列/视图/索引)

    数据库对象 Oracle数据库对象: 数据库对象是数据库的组成部分,常常用 CREATE 命令进行创建,可以使用 ALTER 命令修改,用 DROP 执行删除操作. 种类: (1)表空间:所有的数据对 ...

  4. Oracle数据库对象题库

    一.    填空题 在用 create 语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中. 在基本表不需要时,可以使用 drop table 语句撤消.在一个基本表撤 ...

  5. Oracle数据库对象_同义词

    同义词是一种数据库对象,它是为一个数据库对象定义的别名,使用同义词的主要目的是为了简化SQL语句的书写. 同义词的概念和类型 利用同义词可以为用户的一个对象,或者其他用户的一个对象定义别名,从而简化命 ...

  6. 数据库 Oracle数据库对象一

    常见的数据库对象 表:基本的数据存储集合,由行和列组成 视图:从表中抽出的逻辑上相关的数据集合 序列:提供有规律的数值 索引:提高查询的效率 同义词:给对象起别名 create table语句 --c ...

  7. 【Oracle】实现Oracle数据库对象的一键升级

    引言     公司内部的项目比较倾向于将业务逻辑放在oracle存储过程中实现,所以每次项目升级都涉及到很多的oracle表,存储过程等数据库对象的升级.然而采取的升级方式是比较"原始&qu ...

  8. Oracle数据库对象_视图

    视图是一种非常重要的数据库对象,它的形式类似于普通表,我们可以从视图中查询数据. 实际上它是建立在表上的一种虚表,在视图中并不存储真正的数据,而是仅仅保存一条SELECT语句,对视图的访问将被转化为对 ...

  9. 获取oracle数据库对象定义

    在oracle中,使用DBMS_METADATA包中的GET_DDL函数来获得对应对象的定义语句.GET_DDL函数的定义如下: DBMS_METADATA.GET_DDL ( object_type ...

随机推荐

  1. iOS开发UI篇—简单介绍静态单元格的使用

    iOS开发UI篇—简单介绍静态单元格的使用 一.实现效果与说明 说明:观察上面的展示效果,可以发现整个界面是由一个tableview来展示的,上面的数据都是固定的,且几乎不会改变. 要完成上面的效果, ...

  2. PHP数据库登陆注册简单做法

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  3. apache commons工具包

    javqa中,有时候,我们需要重写类的hashCode()和toString()方法,自己去实现,太麻烦. 我们可以用apache的commons工具类来实现. hashCode(): @overri ...

  4. 当BPM业务流程管理遇上制造业

    2015年5月,K2正式与赛科利签约,准备上线核心采购类流程,包括PR.PO.Payment.供应商管理等. 上海赛科利汽车模具技术应用有限公司隶属于上汽集团,现有员工2300余人.为解决汽车“安全” ...

  5. linux C++ 共享库导出类

    1.共享库的对外接口函数的声明必须加上extern “C”. 2.使用共享库对话接口函数生成的对象指针时在该对象未被释放之前不能关闭共享库句柄,否则会出现segmentation fault错误. 以 ...

  6. 关于一些学习html和css的笔记

    一.Html简介 全写: HyperText Mark-up Language  译名: 超文本标识语言  简释:一种为普通文件中某些字句加上标示的语言,其目的在于运用标签(tag)使文件 达到预期的 ...

  7. JavaScript基础--DOM对象加强篇(十四)

    1.document 对象 定义:document对象代表的整个html文档,因此可以去访问到文档中的各个对象(元素)document重要的函数 1.1 write 向文档输出文本或js代码 1.2 ...

  8. Umap2:开源USB host安全评估工具

    Umap2是一款由NCC Group和Cisco SAS小组开发的.基于python的USB host安全评估工具. 它拥有第一版所支持的所有功能: umap2emulate:USB设备枚举 umap ...

  9. c/c++ 函数指针 指针函数 数组的引用 指针数组 数组指针

    1.指针数组数组指针 引用数组 数组的引用 int *a[10] 指针数组 每一个元素都是一个指针 Int (*a)[10] 数组指针 P指向一个含有10个元素的数组 Int (&a)[10] ...

  10. Android ViewPager Fragment使用懒加载提升性能

     Android ViewPager Fragment使用懒加载提升性能 Fragment在如今的Android开发中越来越普遍,但是当ViewPager结合Fragment时候,由于Androi ...