查看数据库有什么数据字典
SQL> SELECT * FROM dictionary;
或
SQL> SELECT * FROM v$fixed_table;
dictionary只有table_name和comments,分别指名称和说明
v$fixed_table有name,object_id, type和table_num
查询某一类型的数据字典
SELECT * FROM dictionary WHERE table_name LIKE '%TABLE%';
如果想知道某个数据字典的某一列的含义,可以使用数据字典dict_columns,例如:
SELECT * FROM dict_columns WHERE table_name = 'DBA_TABLES' AND column_name = 'INITIAL_EXTENT';
查询v$database数据字典得到数据库的名字,创建日期等
SQL> SELECT name, created, log_mode, open_mode FROM v$database;
查询v$instance得到计算机的主机名,实例名及数据库的版本等
SQL> SELECT host_name, instance_name, version FROM v$instance;
查看数据库的版本信息
SQL> SELECT * FROM v$version;
查询v$controlfile得到控制文件的名字
SQL> SELECT * FROM v$controlfile
查询v$log得到重做日志的配置信息
SQL> SELECT group#, members, bytes, status, archived FROM v$log;
查询v$logfile得到日志文件的具体位置
SQL> SELECT * FROM v$logfile;
查看数据库的备份和恢复策略并确定归档文件的具体位置
SQL> archive log list
查询dba_tablespaces得到有多少表空间及每个表空间的状态
SQL> SELECT tablespace_name, block_size, status, contents, logging FROM dba_tablespaces;
查询dba_data_files得到各个表空间的名字和存放路径
SQL> COL file_name FOR a40;
SQL> SELECT file_id, file_name, tablespace_name, status, bytes FROM dba_data_files;
查询dba_users得到数据库有多少个用户及创建日期等信息
SQL> SELECT username, created FROM dba_users;
查询v$controlfile_record_section获得控制文件的相关信息,
SQL> SELECT type, record_size, records_total, records_used FROM v$controlfile_record_section;
只查看重做日志,数据文件和表空间
SELECT type, record_size, records_total, records_used FROM v$controlfile_record_section WHERE type IN
('DATAFILE', 'TABLESPACE', 'REDO LOG');
获取控制文件的名字
SQL> SELECT value FROM v$parameter WHERE name = 'control_files';
等同于
SQL> SELECT * FROM v$controlfile;
备份控制文件
SQL> ALTER database backup controlfile to '/home/oracle/backup/control.bak';
备份为追踪文件
SQL> ALTER database backup controlfile to trace;