注: 以下的查寻语句和命令不是唯一的,只要能得到所要的结果既可。
你被某大公司聘为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;
7. 你需要知道该ORACLE数据库有几个表空间,以及这些表空间基于哪些文件。
SQL> select * from v$tablespace;
TS# NAME INC BIG FLA ENC
———- —————————— — — — —
0 SYSTEM YES NO YES
1 SYSAUX YES NO YES
2 UNDOTBS1 YES NO YES
4 USERS YES NO YES
3 TEMP NO NO YES
6 EXAMPLE YES NO YES
7 TRANS YES NO YES
8 TEST1 YES NO YES
SQL> select tablespace_name,contents,status from dba_tablespaces;
TABLESPACE_NAME CONTENTS STATUS
—————————— ——— ———
SYSTEM PERMANENT ONLINE
SYSAUX PERMANENT ONLINE
UNDOTBS1 UNDO ONLINE
TEMP TEMPORARY ONLINE
USERS PERMANENT ONLINE
EXAMPLE PERMANENT ONLINE
TRANS PERMANENT READ ONLY
TEST1 PERMANENT ONLINE
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 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;
本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html
