oracle作业题及答案

2024-02-09 19:32
文章标签 oracle 答案 作业题

本文主要是介绍oracle作业题及答案,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

答案

1 oracle由instance和database组成,instance由sga后台进程组成,database的实质是文件,请列举出至少三种文件:datafiles数据文件,control files控制文件,redo log files联机日志文件,archived logfiles归档日志,password files密码文件,parameter files 参数文件等

请至少列举出三种ORACLE的进程:pmonsmon dbwr lgwr ckpt arch

 

2 shared_pool由libary cache库缓存data dictionary cache数据字典缓存组成,存储的内容分别是sql pl/sql执行计划数据库对象的定义,用于语法语义的检查

 

3 Database Buffer Cache数据缓冲区分成default池,keep池和recycle,其中default用LRU算法在空间紧张的情况下把数据临时换出内存,下面的操作

altertable scott.dept storage(buffer_pool keep);

 

可以scott.dept表的内容缓存在内存,提高该表的访问速度,而且该表只要数据库不重启,不会被置换出内存。

 

4 Oracle为了数据可以恢复,需要把数据缓冲区中数据的变化记录到日志中,请问由serverprocess进程把数据缓冲区中的数据变化写到redo logbuffer里面,又由lgwr进程把日志缓冲区中的日志写到redo logfiles联机日志文件里面,如果是归档模式,又由哪个进程ARCH把这些联机日志文件中的日志转储整理成为archived log files归档日志文件。

 

5备份恢复和数据的复制最好配置哪个池large pool大池

 

6  请问redo logbuffer日志缓冲区应该设置多大?以下哪个答案最接近。

A 10m    B 100m   C 1G   D 越大越好

 

7

请列举未来几十年,改变世界的六件大事(按照时间顺序):

 

8 手工建库时,要先在哪个目录下建立文件夹存放相应的数据库文件?

cd $ORACLE_BASE/oradata

 

9 如果手工建库(库名是ALICE)时,你执行了下面的查询,请问ALICE文件夹的权限对吗?如果不对,改用什么命令改正。

答案:

chmod 755 ALICE

如果组不对,不是oracle oinstall组,可以用下面命令改变:

chown -R oracle:oinstall /u01/app/oracle/oradata/ALICE

 

 

 

10请问通过设置什么参数实现ASSM管理:请分成10g和11g分别回答,并解释11g的参数和10g参数的关系,多管理了什么内容。

答案:10g sga_target 它的上限是sga_max_size

       11gmemory_target  它的上限是memory_max_target

       11g10g多管理了pga,把sgapga一同管理。

 

11如果你有余力,请参照文档在虚拟机上完成手工建库的五个步骤:1 创建文件夹 2 编写初始化参数文件 3 编写建库语句 4 跑三个脚本 5 配置默认表空间(实验题目)。

12请问初始化参数文件分成哪两种,其中哪一种是server维护的,哪一种是你自己维护的?哪一种是可以手工编辑的,哪一种的是不能手工编辑而必须用alter system set命令编辑的?哪一种是二进制文件?下面这个数据库是用哪种参数文件启动的?如果一个库的SID叫PROD,它的两种参数文件分别应该命名成什么?

答案:初始化参数文件分成pfilespfile,其中spfile是服务器维护的,pfile是你自己维护的。pfile是手工可以编辑的,而spfile是不能手工编辑而必须用alter system set命令编辑的。

spfile是二进制文件,可以通过strings命令来查看二进制文件。上面的数据库是用pfile启动的。如果一个库的SIDPROD,它的两种参数文件分别应该命名成initPROD.oraspfilePROD.ora

 

13 请问oracle软件的安装目录在什么位置?oracle的listener.ora和tnsnames.ora文件应该配置在什么位置?数据库的文件放在什么目录下?初始化参数文件默认放在什么地方?

答案:

oracle软件安装在$ORACLE_HOME下面。

 

监听和tnsnams.ora文件放在$ORACLE_HOME/network/admin

 

数据库文件放在cd$ORACLE_BASE/oradata

 

初始化参数文件放在

cd $ORACLE_HOME/dbs

 

14 两种参数文件用什么命令可以相互转化?

pfilie转化成spfilecreate spfile from pfile;

spfilie转化成pfilecreate pfile from spfile;

或者:

create pfile from memory;

create spfile from memory;

 

15请问oracle启动的三阶段是什么?每个阶段所了哪些事情?

nomout阶段:1读取初始化参数文件

             2产生oracle instance(产生后台进程并为sga的各个池非配内存)。

mount阶段:读取control file控制文件,获知oracle的物理结构和各种信息。

open阶段:  真正打开了数据文件和日志文件,并核对数据库的一致性。

16 请问数据库关闭的四种方式是什么?作为dba,正常关库用哪一种关闭方式?哪种关库方式最不安全,容易对数据库造成损坏。

四种关闭数据库的方式:

1shutdown normal;

2 shutdown transactional;

3 shutdown immediate;

4 shutdown abort;

其中正常关库是shutdown immediateshutdown abort容易对数据库造成损坏。

 

17 请问手工建库要跑的三个脚本的名称是什么,分别有什么用处,请标明用哪个用户跑这三个脚本。

@?/rdbms/admin/catalog.sql创建数据字典。

@?/rdbms/admin/catproc.sql创建oracle的包和存储过程。

@?/sqlplus/admin/pupbld.sql使一般用户可以登录oracle

最后一个最好以conn system/manager运行,前两个脚本用sys用户运行。

 

18 如果一个库没有defaulttablespace 默认表空间,用户创建的表会占用哪个表空间的空间?

system表空间。

 

19 请写出下列权限的值

644  -rw- r-- r--

700     r代表4 w代表2 x代表1

755     d 代表目录,从第二个开始算 三位一算

777     简单

 

20 请写出命令,把控制文件的内容dump到tracefile跟踪文件中。

alter database backupcontrolfile to trace;

 

21 请用两句话概括控制文件的作用,并用一个词概控制文件相当于数据库的什么?

1定义数据库当前物理状态(各种文件的位置)2 维护数据的一致性。

控制文件相当于数据库的记忆。

 

22用什么命令查看日志组信息和日志成员信息。

select * from v$log;

col member for a50

select * from v$logfile;

 

23如果出现故障,数据库采用归档模式最佳情况下可以恢复到什么时刻,采用非归档模式最佳情况下可以恢复到什么时刻。

归档可以恢复到最后一次提交,非归档只能恢复到最后一次备份。

 

24数据库的空闲区管理分成功数据字典管理和本地管理两种方式,请问哪种方式是用位图代替数据字典进行空闲区的管理的。假设表空间lxtbs1 的数据文件位置位于'/u01/app/oracle/oradata/PROD/disk3/lxtbs01.dbf',表空间lxtbs2的数据文件位于'/u01/app/oracle/oradata/PROD/disk4/lxtbs02.dbf',请分别写出命令,创建一个本地管理的自动增长的表空间lxtbs1 ,数据文件大小是100m。接着,创建一个本地管理的uniformsize为1m的表空间lxtbs2 ,数据文件大小是100m

答案:空闲区本地管理用位图代替数据字典进行空闲区的管理的。

create tablespace lxtbs1datafile '/u01/app/oracle/oradata/PROD/disk3/lxtbs01.dbf' size 100m extentmanagement local;

或者:

create tablespace lxtbs1datafile '/u01/app/oracle/oradata/PROD/disk3/lxtbs01.dbf' size 100m;

 

create tablespace lxtbs2datafile '/u01/app/oracle/oradata/PROD/disk4/lxtbs02.dbf' size 100m uniformsiize 1m;

 

25用户A查看lxtb1,发下该表有如下条数据:

select count(*) from lxtb1;

他把lxtb1数据全部删除,自己看到lxtb1为条:

但是修改没有提交,用户B此时查看表lxtb1,发现如下结果,

A用户提交后,B用户发现此时lxtb1的数据变成了0条。

请问该机制是由哪个表空间实现的?

答案:undo表空间。

 

26请问哪些操作会用到临时表空间,请最少列举三种。

  索引createrebuild

  Order by group by

  Distinct 操作 

  Union intersect minus

  analyze 分析表的统计信息。

 

27如图所示,表空间lxtbs1的空间即将用完,我想把它的数据文件的空间从原来的50m扩大,并最大扩大到100m,该如何书写命令达到这样的目的。

答案:

alter database datafile 5autoextend on next 10m maxsize 100m;

 

28 A用户执行了如下的操作:

然后执行:

alter tablespace bigtbs add datafile '/u01/app/oracle/oradata/PROD/disk3/bigtbs02.dbf'size 50m;但是他发现语句报错了,请问最有可能的错误原始是什么?

答案:因为上述的表空间是bigfile表空间,该表空间只能有一个数据文件,不能添加数据文件。

 

29 数据库名为PROD的库默认块大小是8k用户执行下面的操作报错:

create tablespace lxtbs11 datafile'/u01/app/oracle/oradata/PROD/disk3/lxtbs111.dbf' size 50m blocksize 2k;

请问最可能的导致报错的原因是什么?

答案:因为数据库默认块大小不是2k,所以要给2k的表空间分配专门的缓冲区。

alter system set db_2k_cache_size=40m;

 

30如下图所示:请问假如pctfree和pctused这两个参数如果设置的不合适,会引发哪两种现象。这两种现象往往分别是由哪些dml操作引起的。

 

答案:pctfree太小会引起行迁移row migratepctused太大会引起row chain

row migrate往往是由update操作引起的,row chain是由insert操作引起的。

 

 

31请问段空间手动管理和自动管理分别是用哪种机制管理空闲块的?

段空间手工管理是用free list

段空间自动管理是用bitmap位图。

 

32请简述delete和truncate操作的区别:

(1)delete语句会产生undo数据,用于事务的回滚,因此速度很,并且不立即释放空间,delete不会降低高水位线全表扫描查询很慢。delete可以删除部分数据。

(2)truncate几乎不会产生undo数据,因此不能做事务回滚,速度,立即释放空间,

truncate 降低了高水位线全表扫描的查询很快。truncate会删除所有数据或某分区的数据。

 

33某用户执行delete from A;

commit;

如何用delete语句降低表A高水位线,请给出两种方法?

答案:

方法一:

alter table A move;

方法二:

alter table A enable rowmovement;

alter table A shrinkspace;

 

34请简述undo的四大作用。

1回滚事务:rollback

2读一致性

3实例的恢复:instancerecovery

4倒叙查询flashback query。

 

35请问delete,insert,update三种dml语句分别生成的undo数据内容是什么,哪种dml语句生成的undo数据最多?

insert  产生的undo:rowid

delete  产生的undo :整行数据

update 产生的undo:修改字段的新旧值。

其中delete生成的undo数据最多。

 

36 rowid有多少位,分别表示的含义是什么?

答案:rowid18位。按照顺序代表的含义分别是:

6位对象号  3位文件号  6位块号  3位行号。

 

37如下图所示:scott用户的emp表存放在users表空间,emp表上面有一个索引PK_EMP也存放在users表空间,请问如何把scott用户的emp表迁移到lxtbs表空间并把emp表上面的索引迁移到indx表空间。

selecttable_name,tablespace_name,blocks from dba_tables where  table_name='EMP' and owner='SCOTT';

 

selectindex_name,table_name,tablespace_name from dba_indexes where owner='SCOTT';

 

答案

alter table scott.emp move tablespace lxtbs;

alter index scott.PK_EMP rebuild tablespace indx;

 

 

38如果一个表删除时报错,如下图所示:

droptable dept;

如果想删除该表应该怎样做,如果想删掉该表的主键列deptno该怎样做,请写出命令?

答案:

如果删表:drop table dept cascade constraints;

如果删主键列:alter table dept drop column deptno cascadeconstraints ;

 

 

39位图索引和b-tree索引适用的场景分别是什么?

位图索引适合于:

数据的基数比较小重复值较多update很少的表,适合于olap系统。

b-tree索引适合于:

数据的基数比较大重复值较少update较多的表,适合于oltp系统。

 

40 请写出冷备份脚本,其中备份的位置是'/home/oracle/prod_bak/cold_bak'。

答案:

set echo off trimspool off heading off feedback offverify off time off

set pagesize 0 linesize 200

define bakdir='/home/oracle/prod_bak/cold_bak'

define bakscp='/home/oracle/prod_bak/cold_cmd.sql'

spool &bakscp

 select 'host cp'||name||' &bakdir ' from v$datafile order by 1;

 select 'host cp'||name||' &bakdir ' from v$controlfile order by 1;

spool off

shutdown immediate

@&bakscp

startup

 

 

这篇关于oracle作业题及答案的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/695102

相关文章

poj 3104 二分答案

题意: n件湿度为num的衣服,每秒钟自己可以蒸发掉1个湿度。 然而如果使用了暖炉,每秒可以烧掉k个湿度,但不计算蒸发了。 现在问这么多的衣服,怎么烧事件最短。 解析: 二分答案咯。 代码: #include <iostream>#include <cstdio>#include <cstdlib>#include <algorithm>#include <c

Oracle type (自定义类型的使用)

oracle - type   type定义: oracle中自定义数据类型 oracle中有基本的数据类型,如number,varchar2,date,numeric,float....但有时候我们需要特殊的格式, 如将name定义为(firstname,lastname)的形式,我们想把这个作为一个表的一列看待,这时候就要我们自己定义一个数据类型 格式 :create or repla

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Oracle Start With关键字

Oracle Start With关键字 前言 旨在记录一些Oracle使用中遇到的各种各样的问题. 同时希望能帮到和我遇到同样问题的人. Start With (树查询) 问题描述: 在数据库中, 有一种比较常见得 设计模式, 层级结构 设计模式, 具体到 Oracle table中, 字段特点如下: ID, DSC, PID; 三个字段, 分别表示 当前标识的 ID(主键), DSC 当

oracle分页和mysql分页

mysql 分页 --查前5 数据select * from table_name limit 0,5 select * from table_name limit 5 --limit关键字的用法:LIMIT [offset,] rows--offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。   oracle 分页 --查前1-9

java线程深度解析(一)——java new 接口?匿名内部类给你答案

http://blog.csdn.net/daybreak1209/article/details/51305477 一、内部类 1、内部类初识 一般,一个类里主要包含类的方法和属性,但在Java中还提出在类中继续定义类(内部类)的概念。 内部类的定义:类的内部定义类 先来看一个实例 [html]  view plain copy pu

【附答案】C/C++ 最常见50道面试题

文章目录 面试题 1:深入探讨变量的声明与定义的区别面试题 2:编写比较“零值”的`if`语句面试题 3:深入理解`sizeof`与`strlen`的差异面试题 4:解析C与C++中`static`关键字的不同用途面试题 5:比较C语言的`malloc`与C++的`new`面试题 6:实现一个“标准”的`MIN`宏面试题 7:指针是否可以是`volatile`面试题 8:探讨`a`和`&a`

ORACLE语法-包(package)、存储过程(procedure)、游标(cursor)以及java对Result结果集的处理

陈科肇 示例: 包规范 CREATE OR REPLACE PACKAGE PACK_WMS_YX IS-- Author : CKZ-- Created : 2015/8/28 9:52:29-- Purpose : 同步数据-- Public type declarations,游标 退休订单TYPE retCursor IS REF CURSOR;-- RETURN vi_co_co

Oracle主键和外键详解及实用技巧

在 Oracle 数据库中,主键(Primary Key)和外键(Foreign Key)用于维护数据库表之间的数据完整性。 1. 主键(Primary Key) 主键是一列或多列,能够唯一标识表中的每一行。表中只能有一个主键,并且主键列不能为空(即 NOT NULL)。 特性: 唯一性:主键中的每一个值都是唯一的,不能重复。非空性:主键列不能包含 NULL 值。索引:Oracle 自动为

分享MSSQL、MySql、Oracle的大数据批量导入方法及编程手法细节

1:MSSQL SQL语法篇: BULK INSERT      [ database_name . [ schema_name ] . | schema_name . ] [ table_name | view_name ]         FROM 'data_file'        [ WITH       (      [ [ , ] BATCHSIZE = batch_siz