有趣的DBA面试题

来源:互联网 发布:java面试宝典2017 编辑:程序博客网 时间:2024/05/01 18:18

注: 以下的查寻语句和命令不是唯一的,只要能得到所要的结果既可。
你被某大公司聘为ORACLE DBA。当你第一天上班时,你的前任早以离开公司多日。他没有留下任何有用的文档。而你是该公司唯一的IT人员,此时你对公司的ORACLE数据库一无所知。你需要想办法得到如下的信息(请给出SQL命令或步骤):
以下每题10分,满分100。50分为及格。

1. 你需要知道该ORACLE数据库的名字和创建日期。

select * from v$database;


2. 你需要知道该ORACLE的实例名,主机名,版本号等。

select * from v$instance;


3. 你需要知道该ORACLE数据库是否运行在归档模式下?

archive log list


4. 你需要知道该ORACLE数据库有几个控制文件和它们的配制。如果配制不合理请写出重新配制的步骤。

select * from v$controlfile a;


5. 你需要知道该ORACLE数据库有几个redo log groups和 redo log members。

select * from v$logfile a;


6. 你需要知道它们的配制是否合理。如果配制不合理请写出重新配制的步骤。

.(1)控制文件最好放置两个盘上,
alter system set control_files
shutdown immediate;
更改位置,或拷贝添加新控制文件,
startup;
(2)日志文件(组)可以用alter database添加

7. 你需要知道该ORACLE数据库有几个表空间,以及这些表空间基于哪些文件。

select * from dba_data_files;


8. 你需要知道该ORACLE数据库每个表空间的状态。

select * from dba_tablespaces


9. 经过以上的工作,你发现SYSTEM表空间所在的硬盘(DISK1)已经快要满了,你想把它移到另一个I/O操作很少的硬盘上(DISK8)。请你写出操作的步骤。

shutdown immediate;
移动文件
startup mount

alter database rename file 1 to 'x';

alter database open;


10. 你还发现INDEX表空间与DATA表空间在同一个硬盘上(DISK5),你想把INDEX表空间移到另一个I/O操作很少的硬盘(DISK10)上。请你写出操作的步骤。

alter tablespace index offline
移动文件
alter database rename file 'xxxx' to 'yyy';
alter tablespace index online;