发布日期:2021-10-08 23:14:58

 本文参考 https://www.cnblogs.com/ios9/p/8018227.html#_label0_0

1 -----基本数据字典及其说明
  2 select  * from dba_tablespaces;---关于表空间的信息
  3 select  * from dba_ts_quotas ;---所有用户表空间的限额
  4 select  * from dba_free_space;--所有表空间中自由分区
  5 select * from  dba_segments;--描述数据库中所有段的储存空间;
  6 select * from  dba_extents;--数据库中所有分区的信息
  7 select  * from  dba_tables;---数据库中所有数据表的描述
  8 select * from  dba_tab_columns;---所有表、视图 及簇的列
  9 select * from dba_views ;--数据库中所有的视图信息;
 10 select * from synonyms;--关于同义词的信息查询;
 11 select * from dba_sequences;--所有用户序列号信息
 12 select * from dba_constraints;--所有用户表的约束信息;
 13 select *  from dba_indexes;--关于数据库索引的描述;
 14 select * from dba_ind_columns;--在所有表及簇上压缩索引的列
 15 select * from dba_triggers;--所有用户的触发器信息 
 16 select  * from dba_source;--所有用户储存过程的信息;
 17 select * from dba_data_files;--查询关于数据库文件的信息;
 18 select  * from dba_tab_privs;--查询关于对象授权的信息
 19 select  * from  dba_objects;--数据库中所有的对象;
 20 select * from  dba_users;--关于数据库中所有用户的信息;
 21 
 22 
 23 ------------常用动态性能视图
 24 select * from v$database ;---描述关于数据库的相关信息
 25 select  * from v$datafile;--数据库使用的数据文件信息
 26 select * from v$log;--从控制文件中提取有关重做日志组的信息
 27 select * from v$logfile;--有关实例重置日志组文件名及其位置的信息
 28 select * from v$archived_log;--记录归档日志文件的基本信息
 29 select * from v$archive_dest;--记录归档日志文件的路径信息
 30 select * from v$controlfile ;--描述控制文件的相关信息
 31 select * from v$instance ; ---记录实例的基本信息
 32 select * from v$system_parameter;--显示实例当前有效的参数信息
 33 select * from v$sga;--显示实例的SGA区的大小
 34 select * from v$sgastat;--统计SGA使用情况的信息
 35 select * from v$parameter ;-- 记录初始化参数文件中所有项的值
 36 select * from v$lock ;--通过访问数据库会话,设置对象锁的所有信息
 37 select * from v$session;--有关会话的信息
 38 select * from v$sqltext;--记录SQL语句的信息
 39 select * from v$sql;--记录SQL语句的详细信息
 40 select * from  v$bgprocess;--显示后台进程信息;
 41 select * from v$process;--当前进程的信息

 

 

1   --1. 查询oracle中所有用户信息
  2   select * from dba_users;
  3   --2. 只查询用户和密码
  4   select username,password from dba_users;
  5   --3. 查询当前用户信息
  6   select * from dba_ustats;
  7   --4. 查询用户可以访问的视图文本
  8   select * from dba_varrays;
  9   ---5. 查询数据库中所有视图的文本
 10   select * from dba_views;
 11   select distinct  tablespace_name from  SYS.DBA_FREE_SPACE  where tablespace_name like '%RB%';
 12 
 13   select * from   dba_objects where  object_name='JDE900_F0005';
 14 
 15   select  * from rbods.jde900_f0005;
 16   select * from  rbodm.dim_company;
 17 
 18     ---查看当前用户的缺省表空间
 19     select username,default_tablespace from user_users
 20     ---查看当前用户的角色
 21     select * from user_role_privs
 22     ---查看当前用户的系统权限和表级权限
 23     select * from user_sys_privs
 24     select * from user_tab_privs
 25     ----查看用户下所有的表
 26     select * from user_tables
 27     ---显示用户信息(所属表空间)
 28     select default_tablespace,temporary_tablespace from dba_users
 29     --显示当前会话所具有的权限
 30     select * from session_privs
 31    --- 显示指定用户所具有的系统权限
 32     select * from dba_sys_privs
 33    --- 显示特权用户
 34     select * from v$pwfile_users
 35    --- 查看名称包含log字符的表
 36     select object_name,object_id from user_objects where instr(object_name,'log')>0
 37    --- 查看某表的创建时间
 38     select object_name,created from user_objects where object_name='ZW_YINGYEZ'
 39    --- 查看某表的大小
 40     select sum(bytes)/(1024*1024) tablesize from user_segments
 41     where segment_name='ZW_YINGYEZ'
 42    --- 查看放在ORACLE的内存区里的表
 43     select table_name,cache from user_tables where instr(cache,'Y')>0
 44    --- 查看索引个数和类别
 45     select index_name,index_type,table_name from user_indexes order by table_name
 46    --- 查看索引被索引的字段
 47     select * from user_ind_columns where table_name='CB_CHAOBIAOSJ201004'
 48    --- 查看索引的大小
 49     select sum(bytes)/(1024*1024) as indexsize from user_segments
 50     where segment_name=upper('AS_MENUINFO')
 51    --- 查看视图信息
 52     select * from user_views
 53    --- 查看同义词的名称
 54     select * from user_synonyms
 55    -- 查看函数和过程的状态
 56     select object_name,status from user_objects where object_type='FUNCTION'
 57     select object_name,status from user_objects where object_type='PROCEDURE'
 58    --- 查看函数和过程的源代码
 59     select text from all_source where owner=user and name='SF_SPLIT_STRING'
 60    --- 查看表字段
 61     select cname from col where tname='ZW_YINGYEZ'
 62     select column_name from user_tab_columns where table_name='ZW_YINGYEZ'
 63 
 64   ---查看oracle版本命令:
 65       select * from v$version

 

1 --1、查看表空间的名称及大小 
  2 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size
  3 FROM dba_tablespaces t, dba_data_files d
  4 WHERE t.tablespace_name = d.tablespace_name
  5 GROUP BY t.tablespace_name;
  6 --2、查看表空间物理文件的名称及大小 
  7 SELECT tablespace_name,
  8 file_id,
  9 file_name,
 10 round(bytes / (1024 * 1024), 0) total_space
 11 FROM dba_data_files
 12 ORDER BY tablespace_name;
 13 --3、查看回滚段名称及大小 
 14 SELECT segment_name,
 15 tablespace_name,
 16 r.status,
 17 (initial_extent / 1024) initialextent,
 18 (next_extent / 1024) nextextent,
 19 max_extents,
 20 v.curext curextent
 21 FROM dba_rollback_segs r, v$rollstat v
 22 WHERE r.segment_id = v.usn(+)
 23 ORDER BY segment_name;
 24 --4、查看控制文件 
 25 SELECT NAME FROM v$controlfile;
 26 --5、查看日志文件 
 27 SELECT MEMBER FROM v$logfile;
 28 --6、查看表空间的使用情况 
 29 SELECT SUM(bytes) / (1024 * 1024) AS free_space, tablespace_name
 30 FROM dba_free_space
 31 GROUP BY tablespace_name;
 32 SELECT a.tablespace_name,
 33 a.bytes total,
 34 b.bytes used,
 35 c.bytes free,
 36 (b.bytes * 100) / a.bytes "% USED ",
 37 (c.bytes * 100) / a.bytes "% FREE "
 38 FROM sys.sm$ts_avail a, sys.sm$ts_used b, sys.sm$ts_free c
 39 WHERE a.tablespace_name = b.tablespace_name
 40 AND a.tablespace_name = c.tablespace_name;
 41 --7、查看数据库库对象 
 42 SELECT owner, object_type, status, COUNT(*) count#
 43 FROM all_objects
 44 GROUP BY owner, object_type, status;
 45 --8、查看数据库的版本  
 46 SELECT version
 47 FROM product_component_version
 48 WHERE substr(product, 1, 6) = 'Oracle';
 49 --9、查看数据库的创建日期和归档方式 
 50 SELECT created, log_mode, log_mode FROM v$database;
 51 --1G=1024MB 
 52 --1M=1024KB 
 53 --1K=1024Bytes 
 54 --1M=11048576Bytes 
 55 --1G=1024*11048576Bytes=11313741824Bytes 
 56 SELECT a.tablespace_name "表空间名",
 57 total "表空间大小",
 58 free "表空间剩余大小",
 59 (total - free) "表空间使用大小",
 60 total / (1024 * 1024 * 1024) "表空间大小(G)",
 61 free / (1024 * 1024 * 1024) "表空间剩余大小(G)",
 62 (total - free) / (1024 * 1024 * 1024) "表空间使用大小(G)",
 63 round((total - free) / total, 4) * 100 "使用率 %"
 64 FROM (SELECT tablespace_name, SUM(bytes) free
 65 FROM dba_free_space
 66 GROUP BY tablespace_name) a,
 67 (SELECT tablespace_name, SUM(bytes) total
 68 FROM dba_data_files
 69 GROUP BY tablespace_name) b
 70 WHERE a.tablespace_name = b.tablespace_name
 71 

 

--查看表空间使用情况: 
  2   SELECT tbs 表空间名,
  3          sum(totalM) 总共大小M,
  4          sum(usedM) 已使用空间M,
  5          sum(remainedM) 剩余空间M,
  6          sum(usedM) / sum(totalM) * 100 已使用百分比,
  7          sum(remainedM) / sum(totalM) * 100 剩余百分比
  8     FROM (SELECT b.file_id ID,
  9                  b.tablespace_name tbs,
 10                  b.file_name name,
 11                  b.bytes / 1024 / 1024 totalM,
 12                  (b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 usedM,
 13                  sum(nvl(a.bytes, 0) / 1024 / 1024) remainedM,
 14                  sum(nvl(a.bytes, 0) / (b.bytes) * 100),
 15                  (100 - (sum(nvl(a.bytes, 0)) / (b.bytes) * 100))
 16             FROM dba_free_space a, dba_data_files b
 17            WHERE a.file_id = b.file_id
 18            GROUP BY b.tablespace_name, b.file_name, b.file_id, b.bytes
 19            ORDER BY b.tablespace_name)
 20    GROUP BY tbs
 21 

 

1 select b.tablespace_name "表空间",
  2        b.bytes / 1024 / 1024 "大小M",
  3        (b.bytes - sum(nvl(a.bytes, 0))) / 1024 / 1024 "已使用M",
  4        substr((b.bytes - sum(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) "利用率"
  5   from dba_free_space a, dba_data_files b
  6  where a.file_id = b.file_id
  7    --and b.tablespace_name = 'SYSTEM'
  8  group by b.tablespace_name, b.file_name, b.bytes
  9  order by b.tablespace_name;

 

oracle 表空间不足解决办法大全

  1 
  2 -- 【解决办法-原因一】
  3 --只要将表空间设置为足够大,并设置为自增长即可。
  4 --1、扩展表空间 
  5  alterdatabase datafile 'D:\ORACLE\PRODUCT\ORADATA\TEST\USERS01.DBF' resize 50m;
  6  -- 注:50m,是表空间大小,可以根据实际需要加大,但最大不得超过32G
  7 --2、自动增长 
  8  alter database datafile 'D:\ORACLE\PRODUCT\ORADATA\TEST\USERS01.DBF' autoextend onnext 50m maxsize 500m;
  9 --【解决办法-原因二】
 10 --因为表空间中的数据文件已经足够大(达到32G),所以,这时仅仅增加表空间大小是不行的。 这个时候,我们可以增加该表空间的数据文件,这样表空间的大小即变为64G了。
 11 ALTER TABLESPACE aaa ADD DATAFILE 'E:\APP\ORACLE11GR2\ORADATA\ORCL\aaa_DATA02.DBF' SIZE 32767M;

 

查看system和sysaux表空间是否是自动扩展的。

  1  SQL>select tablespace_name,AUTOEXTENSIBLE,INCREMENT_BY from dba_data_files;
  2 
  3  -- 如果为自动扩展那么AUTOEXTENSIBLE字段的值应为 YES,是否为NO;INCREMENT_BY 这个为每次自动扩展的空间大小。
  4 

发表评论