DBA面试题

来源:互联网 发布:mac版国服lol 编辑:程序博客网 时间:2024/06/07 04:39
注: 以下的查寻语句和命令不是唯一的,只要能得到所要的结果既可。

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

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

SQL> select dbid,name,created from v$database;


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

SQL> select instance_number,instance_name,host_name,version from v$instance;


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

SQL> archive log list;


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

SQL> show parameter control_file;SQL> select * from v$controlfile;SQL> alter system set control_files='E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL01.CTL','E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL02.CTL','E:\APP\ADMINISTRATOR\ORADATA\ORCL\CONTROL03.CTL' scope=spfile;

如果没有手动复制的话会报错:ORA-00205: error in identifying control file, check alert log for more info
多路复用时,这里要手动复制文件并修改名称,删除也是同理。


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

SQL> select * from v$log;SQL> select group#,status,member from v$logfile; 


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

SQL> alter system switch logfile;SQL> alter system checkpoint;SQL> alter database drop logfile group 4;SQL> alter database add logfile group 4 ('/u01/oracle/product/10.0.2/oradata/ORCL/redo41.log') size 100m;SQL> alter database add logfile member '/u01/oracle/product/10.0.2/oradata/ORCL/redo42.log' to group 4;

RAC跟单实例不同的地方在于,RAC里操作要多一个thread#列,标明是哪个节点的:

SQL> select thread#,group#,bytes/1024/1024,status,members from v$log;SQL> alter database add logfile  thread 1 group 5('+fra','+data') size 100m;SQL> alter database add logfile  thread 2 group 7('+fra','+data') size 100m;


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

SQL> select * from v$tablespace;SQL> select tablespace_name,contents,status from dba_tablespaces;SQL> select file_name,file_id,tablespace_name,bytes,status from dba_data_files;


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

SQL> desc dba_tablespaces;


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

shutdown immediate;移动文件startup mountalter 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;


评论:类似的题目比较基础,主要是看你对视图的熟悉程度,很多内容可以从同一张视图里找出来。还有基本的操作语句要懂。

0 0
原创粉丝点击