yzwj2004 发表于 2018-10-21 10:36:59

查看表空间使用率sql

  10G进asm直接su - oracle 然后asmcmd
  11G进asm,需要su - grid 然后asmcmd
  1.切换到相关oracle数据库实例下:
  echo $ORACLE_SID查看当前数据库实例 或者进入sql下执行
  select instance_name from V$instance;
  export ORACLE_SID=sohdb1切换到sohdb1数据库实例下。
  (注意:ps-ef |grep ora_   ps-ef |grep smon 查看数据库有几个实例最后一段代表的就是数据库实例)
  2.查看表空间使用率
  SELECT UPPER(F.TABLESPACE_NAME) "TS-NAME",
  D.TOT_GROOTTE_MB "TS-BYTES(M)",
  D.TOT_GROOTTE_MB - F.TOTAL_BYTES "TS-USED (M)",
  F.TOTAL_BYTES "TS-FREE(M)",
  TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,
  2),
  '990.99') "TS-PER"
  FROM (SELECT TABLESPACE_NAME,
  ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
  ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
  FROM SYS.DBA_FREE_SPACE
  GROUP BY TABLESPACE_NAME) F,
  (SELECT DD.TABLESPACE_NAME,
  ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
  FROM SYS.DBA_DATA_FILES DD
  GROUP BY DD.TABLESPACE_NAME) D
  WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
  ORDER BY 5 DESC;
  查看磁盘组的名字,总计大小及剩余大小
  SQL> select NAME,TOTAL_MB,FREE_MB from v$asm_diskgroup;
  NAME                           TOTAL_MB    FREE_MB
  ------------------------------ ---------- ----------
  OCR_VOTE                            51199      50803
  DATA                               307194      30827
  ARCH                               102398   102303
  查看出ODS表空间的数据文件名 表空间 及状态
  select file_name,tablespace_name,status from dba_data_files where tablespace_name='ODS';
  FILE_NAME                                     TABLESPACE_NAME                STATUS
  +DATA /pgjt/datafile/ods.539.784460919         ODS                         AVAILABLE
  
  为ODS表空间增加8G数据文件(说明:直接加+DATA就可以,不用写/pgjt/datafile/ods.539.784460919,会自动生成。)

  SQL>alter tablespace ODS add datafile '+DATA'>  
  
  Oracle数据库ASM磁盘组+ASM2_ARCH使用率高
  查看进程
  ps -ef |grep pmon
  # su - oracle
  
  $ sqlplus / as sysdba
  SQL*Plus:>
  Copyright (c) 1982, 2007, Oracle.All Rights Reserved.
  Connected to:

  Oracle Database 10g Enterprise Edition>  With the Partitioning, Real Application Clusters, OLAP, Data Mining
  and Real Application Testing options
  SQL> select name,total_mb,free_mb from v$asm_diskgroup;
  NAME                           TOTAL_MB    FREE_MB
  ------------------------------ ---------- ----------
  ARCH                              3334794    3254850
  DATA                              4077376   553269
  SQL> quit

  Disconnected from Oracle Database 10g Enterprise Edition>  With the Partitioning, Real Application Clusters, OLAP, Data Mining
  and Real Application Testing options
  $ rman target /
  Recovery Manager:>
  Copyright (c) 1982, 2007, Oracle.All rights reserved.
  connected to target database: ZLJG (DBID=4286942513)
  RMAN> exit
  删除归档命令:delete archivelog all completed before ‘sysdate-3’;##删除后备份,在rman底下删除
  3.RMAN下删除归档
  查看无效归档
  su - oracle
  rman target /
  下边两部必须先后都要执行
  Crosscheck archivelog all;
  删除过期过期归档
  Delete expired archivelog all;
  
  数据库集群常用命令
  Usage: srvctl config database(获取数据库配置信息)
  Usage:srvctl config database -d[-a] [-t]
  srvctl config database -d (查看数据库配置信息)
  Usage: srvctl start nodeapps -n
  srvctl start nodeapps -n ods1 (启动数据库节点1服务)
  Usage: srvctl start asm -n[-i ] [-o ]
  srvctl start asm -n ods1 -i asm1(启动节点1asm实例)
  Usage:srvctl start database -d[-o ]
  srvctl start database -d DWTH(启动所用节点DWTH数据库)
  Usage: srvctl start instance -d-i "" [-o ]
  srvctl start instance -d DWTH -i DWTH1(启动DWTH数据库实例1)
  Usage: srvctl start listener -n[-l ]
  srvctl start listener -n ods1 -l lsnrc1 (启动节点1监听)
  Usage: srvctl stop listener -n[-l ]
  srvctl stop listener -n ods1 -l lsnrc1 (停止节点1监听)
  Usage: srvctl stop instance -d-i "" [-o ]
  srvctl stop instance -d DWTH -i DWTH1 (停止DWTH数据库实例1)
  Usage: srvctl stop database -d[-o ]
  srvctl stop database -d DWTH(停止所用节点DWTH数据库)
  Usage: srvctl stop asm -n[-i ] [-o ]
  srvctl stop asm -n ods1 -i asm1(停止节点1asm实例)
  Usage: srvctl stop nodeapps -n[-r]
  srvctl start nodeapps -n ods1 (停止数据库节点1服务)
  
  #切换数据库实例,在OS的ORACLE用户下,sgmdm2为实例名称
  export ORACLE_SID=sgmdm2
  #查看数据库状态,open为正常状态
  select status from v$instance;
  #设置显示格式
  set pagesize 300;
  set linesize 300;
  #查询用户列表及用户状态
  select USERNAME,password,ACCOUNT_STATUS from dba_users;
  #查看用户分配的权限
  select * from dba_role_privs order by GRANTEE;
  select * from dba_role_privs where GRANTEE = 'PATROL';
  #查询Oracle的密码策略配置
  select profile from dba_users where username='user_name';
  #查询默认帐户是否使用默认口令
  $ sqlplus
  set pagesize 300;
  set linesize 300;
  select USERNAME,password,ACCOUNT_STATUS from dba_users;
  锁定与解锁账号:
  alter user zlgl account lock; 锁定zlgl账号
  alter user zlgl account unlock; 为zlgl账号解除锁定
  11g oracle存在密码180天过期的问题,需要如下修改,在一台节点做就行,不用重启,立即生效
  #1:查询:
  select * from dba_profiles where profile='DEFAULT' and resource_name='PASSWORD_LIFE_TIME'; //如果状态为limited,说明有180天的限制,需要第2步解除限制
  #2:修改
  alter profile default limit PASSWORD_LIFE_TIME UNLIMITED;
  3:解锁账号:
  alter user zlgl account unlock; 为zlgl账号解除锁定

页: [1]
查看完整版本: 查看表空间使用率sql