如何查看Oracle数据库的存储配置?
问题:
您想查找有关数据库的一些入门信息。
解:
每个Oracle程序员/DBA在其职业生涯中的某个时刻都继承了别人已经建立的数据库。您需要查找一些有关该数据库的入门信息,以了解更多信息。
识别主机详细信息和数据库版本
示例
SELECT instance_name,host_name,version,startup_time FROM v$instance
输出结果
INSTANCE_NAME HOST_NAME VERSION STARTUP_TIME TESTDB ip-000-00-0-000 19.0.0.0.0 12/AUG/20
接下来,我们将确定组成数据库的表空间
示例
SELECT tablespace_name FROM dba_tablespaces ORDER BY tablespace_name;
输出结果
TABLESPACE_NAME ------------------------------ RDSADMIN SYSAUX SYSTEM TEAM_DATA TEAM_TEMP TEAM_UNDO TEMP UNDOT1 USERS
接下来,我们将找到表空间数据文件在磁盘存储中的位置。除了数据文件,我们还将知道临时文件,控制文件和联机重做日志的位置。所有这些信息都存储在不同的数据字典视图中,但是我们可以执行UNION操作将它们放在一起。
示例
SELECT 'DATA' as type,file_name,bytes FROM dba_data_files UNION ALL SELECT 'TEMP',file_name,bytes FROM dba_temp_files UNION ALL SELECT 'REDO',lf.member,l.bytes FROM v$logfile lf join v$log l on lf.group#=l.group# UNION ALL SELECT 'CTL',value,NULL FROM v$parameter2 where name='control_files';
我们将使用下面的SQL查看表空间存储。
示例
SELECT f.tablespace_name, TO_CHAR(f.bytes,'99,999,999,999,999') AS allocated_bytes, NVL(TO_CHAR(se.bytes,'99,999,999,999,999'),LPAD('Empty',19)) AS used_bytes, TO_CHAR(NVL(TRUNC((se.bytes/f.bytes)*100,2),0),'990.00') AS percent_used FROM (SELECT df.tablespace_name, SUM(bytes) AS bytes FROM dba_data_files df GROUP BY df.tablespace_name ) f, (SELECT s.tablespace_name, SUM(bytes) AS bytes FROM dba_segments s GROUP BY s.tablespace_name ) se WHERE f.tablespace_name=se.tablespace_name (+) ORDER BY f.tablespace_name;
输出结果
ADMIN 7,340,032 131,072 1.78 SYSAUX 2,918,580,224 2,640,117,760 90.45 SYSTEM 629,145,600 565,772,288 89.92 TEAM_DATA 1,073,741,824 Empty 0.00 TEAM_UNDO 1,073,741,824 1,310,720 0.12 UNDOT1 1,038,090,240 74,186,752 7.14 USERS 15,714,156,544 10,962,141,184 69.75
最后,我们将识别用户-oracle创建的用户和非oracle创建的用户。
SQL列出非Oracle用户
SELECT username, account_status, profile AS security_profile FROM dba_users WHERE oracle_maintained='N' ORDER BY username;
SQL了解配置文件
SELECT resource_name,limit FROM dba_profiles WHERE profile='DEFAULT';
输出结果
CPU_PER_SESSION UNLIMITED CPU_PER_CALL UNLIMITED LOGICAL_READS_PER_SESSION UNLIMITED LOGICAL_READS_PER_CALL UNLIMITED IDLE_TIME UNLIMITED CONNECT_TIME UNLIMITED PRIVATE_SGA UNLIMITED FAILED_LOGIN_ATTEMPTS UNLIMITED PASSWORD_LIFE_TIME UNLIMITED PASSWORD_REUSE_TIME UNLIMITED PASSWORD_REUSE_MAX UNLIMITED PASSWORD_VERIFY_FUNCTION NULL PASSWORD_LOCK_TIME 1 PASSWORD_GRACE_TIME 7 INACTIVE_ACCOUNT_TIME UNLIMITED