oracle数据库对象使用说明
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数据库对象使用说明的更多相关文章
- Oracle 数据库对象
数据库对象是数据库的组成部分,常常用CREATE命令进行创建,可以使用ALTER命令修改,用DROP执行删除操作.前面已经接触过的数据库对象有表.用户等. 今天将学习更多的Oracle数据库对象: 同 ...
- Oracle数据库对象,同义词、序列、视图、索引
数据库对象简介 Oracle 数据库对象又称模式对象 数据库对象是逻辑结构的集合,最基本的数据库对象是表 其他数据库对象包括: 同义词是现有对象的一个别名. 简化SQL语句 隐藏对象的名称和所有者 提 ...
- Oracle数据库对象(表空间/同义词/序列/视图/索引)
数据库对象 Oracle数据库对象: 数据库对象是数据库的组成部分,常常用 CREATE 命令进行创建,可以使用 ALTER 命令修改,用 DROP 执行删除操作. 种类: (1)表空间:所有的数据对 ...
- Oracle数据库对象题库
一. 填空题 在用 create 语句创建基本表时,最初只是一个空的框架,用户可以使用insert命令把数据插入表中. 在基本表不需要时,可以使用 drop table 语句撤消.在一个基本表撤 ...
- Oracle数据库对象_同义词
同义词是一种数据库对象,它是为一个数据库对象定义的别名,使用同义词的主要目的是为了简化SQL语句的书写. 同义词的概念和类型 利用同义词可以为用户的一个对象,或者其他用户的一个对象定义别名,从而简化命 ...
- 数据库 Oracle数据库对象一
常见的数据库对象 表:基本的数据存储集合,由行和列组成 视图:从表中抽出的逻辑上相关的数据集合 序列:提供有规律的数值 索引:提高查询的效率 同义词:给对象起别名 create table语句 --c ...
- 【Oracle】实现Oracle数据库对象的一键升级
引言 公司内部的项目比较倾向于将业务逻辑放在oracle存储过程中实现,所以每次项目升级都涉及到很多的oracle表,存储过程等数据库对象的升级.然而采取的升级方式是比较"原始&qu ...
- Oracle数据库对象_视图
视图是一种非常重要的数据库对象,它的形式类似于普通表,我们可以从视图中查询数据. 实际上它是建立在表上的一种虚表,在视图中并不存储真正的数据,而是仅仅保存一条SELECT语句,对视图的访问将被转化为对 ...
- 获取oracle数据库对象定义
在oracle中,使用DBMS_METADATA包中的GET_DDL函数来获得对应对象的定义语句.GET_DDL函数的定义如下: DBMS_METADATA.GET_DDL ( object_type ...
随机推荐
- 初次使用InstallShield笔记
公司的产品需要打包发布,以前一直没打包,打包方法的学习交给了我 下面的内容是我研究过后的,通过回忆写的笔记.由于不熟悉,可能会有错误或者是笨办法,希望高手指正,感激不尽. 有些东西是什么,以及是什么意 ...
- CSS3判断手机横屏竖屏
原理: 当用户旋转屏幕的时候,会进入到你的监听方法中,然后通过window.orientation来获取当前屏幕的状态:0 - 竖屏90 - 逆时针旋转横屏-90 - 顺时针旋转横屏180 - 竖屏, ...
- apache commons工具包
javqa中,有时候,我们需要重写类的hashCode()和toString()方法,自己去实现,太麻烦. 我们可以用apache的commons工具类来实现. hashCode(): @overri ...
- 2D 《触不可及》
这是一个有着特殊意义的夜晚(2014.9.19),孙红雷的电影这场电影<触不可及>也有着不一般的涵义,于我,在万达商场,遂留此一笔,仅供回忆.
- node
docker run -d --name data -v c:/jayruanwork/app:/usr/share/app busybox || windows c:\jayruanwork\app ...
- 【61测试】【dp】【二分】【前缀和】【树剖】
不要问我为什么昨天考的今天才贴解题报告.. 第一题: 给定3个字符串,求它们的最长公共子序列. 解: 考试时知道肯定是LCS的二维再加一维,用三维,可天堂有路你不走,地狱无门你偏来...灵机一动想出来 ...
- Rhel6-vpn配置文档
系统环境: rhel6 x86_64 iptables and selinux disabled 主机: 192.168.122.160 server60.example.com 192.168.12 ...
- 启动本地Oracle
net start OracleOraDb10g_home1TNSListenernet start OracleServiceORCL第一个是监听服务第二个是数据库服务
- android使用html+javascript来制作页面
一般的android界面使用的是XML.但是XML如果要制作很高级的UI,会很复杂.如果使用HTML老进行UI设计就会简单很多. android早就提供了这样的借口. WebView.addJavas ...
- Linux学习 : 裸板调试 之 配置使用NAND FLASH
关于NAND FLASH的结构是以页为单位写,以块为单位来擦除: 1Gb 为大页 page=2048Kb BLOCK=128K 512Mb 为小页 page=512byte ...