您的位置:首页 > 其它

入门DBA需了解的一些信息---练习

2012-04-23 23:24 316 查看
以管理员登录,得到公司数据库的名字,创建日期,运行模式,状态等,使用数据字典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行。

很明显。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: