要熟悉一个全新的oracle数据库系统的结构并准备出详细的oracle结构文档的步骤思路如下:
1、得到现有的oracle的数据库的名字、创建日期等信息v$database
select name,created,log_mode,open_mode from v$database;
获得数据库的日志运行状态(归档/非归档)和运行模式(可读可写)
2、获得运行oracle系统的主机名称、oracle数据库的实例名称、oracle数据库管理系统的版本v$instance
col host_name for a30;
select host_name,instance_name,version from v$instance;
3、获取更详细的oracle数据库管理系统的信息v$version
select * from v$version;
4、获取控制文件的名字v$controlfile
col name for a45;
select * from v$controlfile;
显示控制文件的绝对路径。
5、获得oracle数据库的重做日志的配置信息v$log
select group#,members,bytes,status,archived from v$log;
显示oracle数据库中的重做日志的分组,每个组中的成员,每个重做日志成员的大小,归档模式,数据库当前正在操作的重做日志组
6、获得每个重做日志(成员)文件所存放的具体位置v$logfile
select group#,status,type,member from v$logfile;
显示分组号、状态,类型(联机/脱机),绝对路径
7、评估公司的oracle数据库的备份和恢复策略并确定归档文件的具体位置
archive log list;
显示数据库的运行模式(归档/非归档)、存档终点等
8、获得数据库中的所有的表空间和表空间的状态信息dba_tablespaces
select tablespace_name,block_size,status,contents,logging from dba_tablespaces;
临时表空间temp不受重做日志文件的保护在排序时使用,除了undotbs1为还原表空间外,其他都是永久表空间。
9、获得每个表空间存储的磁盘信息以及文件的名称dba_data_files
select file_id,file_name,tablespace_name,status,bytes from dba_data_files;
其中file_name字段显示对应表空间的数据文件绝对路径
10、获得数据库系统上的所有用户和创建时间dba_users
select username,created from dba_users;
ps:ok通过以上信息可以整理出一份较为完整的当前数据库的结构文档。