数据库管理员试题.docx

上传人:b****3 文档编号:2280535 上传时间:2022-10-28 格式:DOCX 页数:26 大小:209.54KB
下载 相关 举报
数据库管理员试题.docx_第1页
第1页 / 共26页
数据库管理员试题.docx_第2页
第2页 / 共26页
数据库管理员试题.docx_第3页
第3页 / 共26页
数据库管理员试题.docx_第4页
第4页 / 共26页
数据库管理员试题.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

数据库管理员试题.docx

《数据库管理员试题.docx》由会员分享,可在线阅读,更多相关《数据库管理员试题.docx(26页珍藏版)》请在冰豆网上搜索。

数据库管理员试题.docx

数据库管理员试题

Oracle数据库管理员笔试题(基本知识)姓名:

以下是所有题目假设的环境:

OS:

RedHatLinuxAS4DataBase:

Oracle9.2.0.1如果你答案描述的环境与此环境有差别,请声明,同样有效。

任何题目都不限于形式,只要说出要点即可。

答案写在答题纸上,不要写在题目上

1.请你描述一下Oracle架构,包括SGA,相关进程,表空间,数据文件,PGA,参数文件,控制文件…等。

2.请你写出SGA中各部分或者总体对应参数文件中的什么变量?

PGA是什么作用,哪个参数控制它?

 3.请你说出Oracle数据库启动(当你startup;时)时按照先后顺序都访问了那些文件。

Oracle中数据库实例和数据库是独立实体,可以独立存在。

因此启动过程分成多个阶段:

首先在内存中构建实例,然后通过安装数据库启用到数据库的连接,最后打开数据库来使用它。

Oracle数据库有四种状态:

Shutdown:

所有数据库文件都关闭,不存在实例

Nomount:

实例在内存中创建(sga已经被创建,根据参数文件指定启动某些后台进程),但没有连接到任何数据库。

Moun:

实例定位并读取数据库控制文件。

Open:

所有的数据库文件都被定位和打开,终端用户可以使用数据库。

数据库的启动可分为三步:

①、nomount:

在这一阶段,只需要读取文件,启动数据库实例,创建后台进程。

在文件中,可以定位文件,这是参数文件,通过它可以初始化sga和启动后台进程。

并可以定位控制文件的位置。

在此阶段,可以执行的操作有:

重建控制文件,重建数据库。

②、mount:

在nomount阶段,可以通过读取控制文件来转换到mount阶段。

在数据库加载阶段(mount),所有的数据文件和联机日志文件的名称及位置都从控制文件中读取,但是并没有真正查找到这些文件,在此阶段可以执行的操作有:

数据库日志归档、数据库介质恢复、使数据文件联机或脱机、重定位数据文件和联机日志。

③、Open:

通过查找定位并打开数据文件和联机日志文件来切换到open阶段。

此时数据库可用,可以建立会话。

4.请你说出几种startup命令的选项和他们的意义。

5.如果想关闭数据库,有什么选项,各是什么意义?

6.我想知道数据库是否运行在归档模式,使用什么命令或者查什么视图?

怎样把数据库从非归档切换成归档模式?

写出命令或者步骤。

SQL>conn/assysdba

已连接。

SQL>archiveloglist;

数据库日志模式        存档模式

自动存档        启用

存档终点        D:

\oracle\ora92\RDBMS

最早的概要日志序列    0

下一个存档日志序列  10

当前日志序列        10

SQL>connbill/bill

已连接。

SQL>archiveloglist;

ORA-01031:

权限不足

SQL>

要使用sys用户

select*fromv$instance可以查看

7.如果开发组给你了一组创建表的脚本,他希望你把这些数据部署到已经建立好的一个空数据库中,写出你的规划步骤或者命令。

8.写出你知道的exp和imp命令的参数和它们的作用,尽量多写。

exp

将数据库内的各对象以二进制方式下载成dmp文件,方便数据迁移。

buffer:

下载数据缓冲区,以字节为单位,缺省依赖操作系统

consistent:

下载期间所涉及的数据保持readonly,缺省为n

direct:

使用直通方式,缺省为n

feeback:

显示处理记录条数,缺省为0,即不显示

file:

输出文件,缺省为

filesize:

输出文件大小,缺省为操作系统最大值

indexes:

是否下载索引,缺省为n,这是指索引的定义而非数据,exp不下载索引数据

log:

log文件,缺省为无,在标准输出显示

owner:

指明下载的用户名

query:

选择记录的一个子集

rows:

是否下载表记录

tables:

输出的表名列表

导出整个实例

expdbuser/oraclefile=log=full=yconsistent=ydirect=y

user应具有dba权限

导出某个用户所有对象

expdbuser/oraclefile=log=owner=dbuserbuffer=4096000feedback=10000

导出一张或几张表

expdbuser/oraclefile=log=tables=table1,table2buffer=4096000feedback=10000

导出某张表的部分数据

expdbuser/oraclefile=log=tables=table1buffer=4096000feedback=10000query=\”wherecol1=\’…\’andcol2\<…\”

不可用于嵌套表

以多个固定大小文件方式导出某张表

expdbuser/oraclefile=,,,…filesize=1000mtables=empbuffer=4096000feedback=10000

这种做法通常用在:

表数据量较大,单个dump文件可能会超出文件系统的限制

直通路径方式

direct=y,取代buffer选项,query选项不可用

有利于提高下载速度

consistent选项

自export启动后,consistent=y冻结来自其它会话的对export操作的数据对象的更新,这样可以保证dump结果的一致性。

但这个过程不能太长,以免回滚段和联机日志消耗完

imp

将exp下载的dmp文件上载到数据库内。

buffer:

上载数据缓冲区,以字节为单位,缺省依赖操作系统

commit:

上载数据缓冲区中的记录上载后是否执行提交

feeback:

显示处理记录条数,缺省为0,即不显示

file:

输入文件,缺省为

filesize:

输入文件大小,缺省为操作系统最大值

fromuser:

指明来源用户方

ignore:

是否忽略对象创建错误,缺省为n,在上载前对象已被建立往往是一个正常现象,所以此选项建议设为y

indexes:

是否上载索引,缺省为n,这是指索引的定义而非数据,如果上载时索引已建立,此选项即使为n也无效,imp自动更新索引数据

log:

log文件,缺省为无,在标准输出显示

rows:

是否上载表记录

tables:

输入的表名列表

touser:

指明目的用户方

导入整个实例

impdbuser/oraclefile=log=full=ybuffer=4096000commit=yignore=yfeedback=10000

导入某个用户所有对象

impdbuser/oraclefile=log=fromuser=dbusertouser=dbuser2buffer=2048000commit=yignore=yfeedback=10000

导入一张或几张表

impdbuser2/oraclefile=log=tables=table1,table2fromuser=dbusertouser=dbuser2buffer=2048000commit=yignore=yfeedback=10000

以多个固定大小文件方式导入某张表

impdbuser/oraclefile=\,,,…\)filesize=1000mtables=empfromuser=dbusertouser=dbuser2buffer=4096000commit=yignore=yfeedback=10000

9.我想知道目前数据库的会话情况,还想知道数据库里有哪些表空间和数据文件,以及有哪些用户被创建在数据库中,还想知道这个用户已经创建了哪些对象。

应该查询哪些视图?

下面的SQL语句列出当前数据库建立的会话情况:

selectsid,serial#,username,program,machine,status

fromv$session;

输出的结果:

SIDSERIAL#USERNAMEPROGRAMMACHINESTATUS

-------------------------------------------------------

11WORK3ACTIVE

21WORK3ACTIVE

31WORK3ACTIVE

41WORK3ACTIVE

53WORK3ACTIVE

61WORK3ACTIVE

71WORK3ACTIVE

827SYSWORKGROUP\WORK3ACTIVE

115DBSNMPWORKGROUP\WORK3INACTIVE

其中SID会话(session)的ID号;

SERIAL#会话的序列号,和SID一起用来唯一标识一个会话;

USERNAME建立该会话的用户名;

PROGRAM这个会话是用什么工具连接到数据库的;

STATUS当前这个会话的状态,ACTIVE表示会话正在执行某些任务,INACTIVE表示当前会话没有执行任何操作;

假如DBA要手工断开某个会话,则执行:

altersystemkillsession'SID,SERIAL#';

注意:

在上面的示例中,SID为1到7(USERNAME列为空)的会话,它是数据库的后台进程,请大家不要对这些会话进行任何操作。

一、查看Oracle数据库中表空间信息的方法

1、查看Oracle数据库中表空间信息的工具方法:

使用oracleenterprisemanagerconsole工具,这是oracle的客户端工具,当安装oracle服务器或客户端时会自动安装此工具,在windows操作系统上完成oracle安装后,通过下面的方法登录该工具:

开始菜单——程序——Oracle-OraHome92——EnterpriseManagerConsole(单击)——oracleenterprisemanagerconsole登录——选择‘独立启动’单选框——‘确定’——‘oracleenterprisemanagerconsole,独立’——选择要登录的‘实例名’——弹出‘数据库连接信息’——输入’用户名/口令’(一般使用sys用户),’连接身份’选择选择SYSDBA——‘确定’,这时已经成功登录该工具,选择‘存储’——表空间,会看到如下的界面,该界面显示了表空间名称,表空间类型,区管理类型,以”兆”为单位的表空间大小,已使用的表空间大小及表空间利用率。

                                                    图1表空间大小及使用率

2、查看Oracle数据库中表空间信息的命令方法:

通过查询数据库系统中的数据字典表(datadictionarytables)获取表空间的相关信息,首先使用客户端工具连接到数据库,这些工具可以是SQLPLUS字符工具、TOAD、PL/SQL等,连接到数据库后执行如下的查询语句:

 

select

表空间名称,

类型,

区管理,

1024/1024表空间大小M,

已使用M,

substr(利用率

from

(select  tablespace_namea1,sum(nvl(bytes,0))a2fromdba_free_spacegr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 国外设计风格

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1