以管理员登录,得到公司数据库的名字,创建日期,运行模式,状态等,使用数据字典V$database


SQL> conn system/orcl
已连接。
SQL> show user
USER 为 "SYSTEM"
SQL> select name,created,log_mode,open_mode from v$database;

NAME      CREATED        LOG_MODE     OPEN_MODE
--------- -------------- ------------ ----------
ORCL      20-4月 -12     NOARCHIVELOG READ WRITE

可知数据库名是ORCL,是12年4月20日创建的,运行模式是不归档形式,状态是可读可写
运行数据库的计算机主机名,数据库实例名,数据库管理系统的版本
,用数据字典V$instance

SQL> col host_name for a15
SQL> select host_name,instance_name,version from v$instance;

HOST_NAME       INSTANCE_NAME    VERSION
--------------- ---------------- -----------------
FW77-7A122AED58 orcl             10.2.0.1.0


可知运行数据库的主机名是FW77-7A122AED58 ,实例名orcl,版本是10.2.0.1.0

了解公司购买的一些商业软件,用数据字典V$version
SQL> select* from v$version;

BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE    10.2.0.1.0      Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production

可知主要有企业版Oracle Database 10g等

还要获取控制文件名字,用数据字典V$controlfile

SSQL> col name for a55
SQL>  select * from v$controlfile;

STATUS  NAME                                                    IS_ BLOCK_SIZE
------- ------------------------------------------------------- --- ----------
FILE_SIZE_BLKS
--------------
        C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL01.CTL     NO       16384
           430

        C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL02.CTL     NO       16384
           430

        C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\CONTROL03.CTL     NO       16384
可知三个控制文件都一样,且都存在C盘同一目录下,这是比较危险的,一旦硬盘坏了数据库就崩溃了,数据完全丢失,且是不可恢复性的。

获取重做日志的配置信息,用数据字典V$log

SQL> select group#,members,bytes,status,archived from v$log;

    GROUP#    MEMBERS      BYTES STATUS           ARC
---------- ---------- ---------- ---------------- ---
         1          1   52428800 INACTIVE         NO
         2          1   52428800 CURRENT          NO
         3          1   52428800 INACTIVE         NO

可知该数据库一共有三个重做日志组,每组只有一个文件,当前活动组是第二组,且全部是不归档的
STATUS的值说明:
    UNUSED:表示日志从未使用过,即新日志组。

    CURRENT:表示当前正在使用该组。

    ACTIVE:表示活动日志组,即脏缓存块还没有完全写入数据文件。

    CLEARING:表示该日志组是“正在被”(is being)被clear的re-created的,空的内容,在日志组被cleared以后,status就变为UNUSED。

    INACTIVE:表示非活动组,即所有信息都已经归档


获取每个重做日志成员的信息,用数据字典V$logfile

SQL> col member for a45
SQL> select * from v$logfile;

    GROUP# STATUS  TYPE    MEMBER                                        IS_
---------- ------- ------- --------------------------------------------- ---
         3         ONLINE  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03. NO
                           LOG

         2         ONLINE  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02. NO
                           LOG

         1         ONLINE  C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01. NO
                           LOG
可知三组重做日志都只有一个重做日志成员,且存放的目录都是一样的,这里IS后面显示不完整,应该是IS_RECOVERY_DEST_FILE

STATUS值说明:
     INVALID:显示该文件处于不可访问状态。

     STALE:显示该文件的内容是不完整的(incomplete)。

     DELETED:显示该文件将不再使用(is no longer used)。

     Blank Space:空的内容表示这个文件现在正在使用(in use)。
(此处怎能都是正在使用?。。)

评估该公司数据库的备份和恢复策略并确定归档文件的具体位置,发ORACLE命令
SQL> conn sys/orcl as sysdba;
已连接。
SQL> archive log list;
数据库日志模式             非存档模式
自动存档             禁用
存档终点            USE_DB_RECOVERY_FILE_DEST
最早的联机日志序列     1
当前日志序列           3

当前用户权限不足,切换SYS用户。可知该数据库日志模式为非归档模式,且自动存档模式禁用

了解公司数据库有多少表空间及表空间的状态,用数据字典dba_tablespaces

SQL> select tablespace_name,block_size,status,contents,logging from dba_tablespaces;

TABLESPACE_NAME                BLOCK_SIZE STATUS    CONTENTS  LOGGING
------------------------------ ---------- --------- --------- ---------
SYSTEM                               8192 ONLINE    PERMANENT LOGGING
UNDOTBS1                             8192 ONLINE    UNDO      LOGGING
SYSAUX                               8192 ONLINE    PERMANENT LOGGING
TEMP                                 8192 ONLINE    TEMPORARY NOLOGGING
USERS                                8192 ONLINE    PERMANENT LOGGING
EXAMPLE                              8192 ONLINE    PERMANENT NOLOGGING

已选择6行。

logging是指是否受重做日志的保护

(退出方法不当造成了问题1)

了解每个表空间存在哪个磁盘上及文件的名字等信息,用数据字典dba_data_files
(因为网速问题造成了问题2)
SQL> col file_name for a55
SQL> select file_id,file_name,tablespace_name,status,bytes from dba_data_files;

   FILE_ID FILE_NAME
---------- -------------------------------------------------------
TABLESPACE_NAME                STATUS         BYTES
------------------------------ --------- ----------
         4 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
USERS                          AVAILABLE    5242880

         3 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
SYSAUX                         AVAILABLE  251658240

         2 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF
UNDOTBS1                       AVAILABLE   41943040


   FILE_ID FILE_NAME
---------- -------------------------------------------------------
TABLESPACE_NAME                STATUS         BYTES
------------------------------ --------- ----------
         1 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
SYSTEM                         AVAILABLE  503316480

         5 C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DBF
EXAMPLE                        AVAILABLE  104857600


可看到各个表空间及相应的文件名字状态等信息

了解公司数据库系统有多少用户及什么时候创建数据库的,用数据字典dba_users

SQL> select username,created from dba_users;

USERNAME                       CREATED
------------------------------ --------------
MGMT_VIEW                      30-8月 -05
SYS                            30-8月 -05
SYSTEM                         30-8月 -05
DBSNMP                         30-8月 -05
SYSMAN                         30-8月 -05
SCOTT                          30-8月 -05
SH                             20-4月 -12
HR                             20-4月 -12
OUTLN                          30-8月 -05
MDSYS                          30-8月 -05
ORDSYS                         30-8月 -05

USERNAME                       CREATED
------------------------------ --------------
EXFSYS                         30-8月 -05
DMSYS                          30-8月 -05
WMSYS                          30-8月 -05
CTXSYS                         30-8月 -05
ANONYMOUS                      30-8月 -05
XDB                            30-8月 -05
ORDPLUGINS                     30-8月 -05
SI_INFORMTN_SCHEMA             30-8月 -05
OLAPSYS                        30-8月 -05
TSMSYS                         30-8月 -05
BI                             20-4月 -12

USERNAME                       CREATED
------------------------------ --------------
PM                             20-4月 -12
MDDATA                         30-8月 -05
IX                             20-4月 -12
DIP                            30-8月 -05
OE                             20-4月 -12

已选择27行。

很明显。