oracle常用系统表操作语句

oracle常用系统表操作语句

锁定用户解锁

alter user djdzh account unlock;

数据库使用情况查询

SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
  D.TOT_GROOTTE_MB "表空间大小(M)",
  D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
  TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
  F.TOTAL_BYTES "空闲空间(M)",
  F.MAX_BYTES "最大块(M)"
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 1;

最大连接数查询

select value from v$parameter where name = 'processes' 

当前连接数查询

select count(*) from v$process

查询当前拥有的表空间

select username,default_tablespace from dba_users

查看用户所属表空间

select default_tablespace from dba_users where username='大写';

查询当前指定表空间的所有表

select * from all_tables where  tablespace_name='WZZNPS' -- AND TABLE_NAME LIKE 'RCP%'

查询表空间中数据文件具体位置和文件名,表空间名等

select * FROM DBA_DATA_FILES

查询当前server端的字符集

select userenv('language') from dual;

查询是否有锁表及原因

-- 查询
select  l.session_id sid,s.serial#,s.MACHINE,s.program,s.lockwait,l.locked_mode,l.ORACLE_USERNAME,
s.user#,l.os_user_name,s.machine,s.terminal,a.sql_text,a.action
from v$sqlarea a,v$session s,v$locked_object l
where l.session_id=s.sid and s.PREV_SQL_ADDR=a.address
order by sid,s.serial#;

-- 存在锁表,分析原因,然后杀进程恢复使用
-- 杀掉进程 sid,serial#
alter system kill session'210,11562'; 

-- kill不掉的
select  a.spid,b.sid,b.serial#,b.username
from v$process a,v$session b
where a.addr=b.paddr
aNd b.status='KILLED'

表删除恢复

-- 首先用这条语句到oracle回收站查询出被删除的表
select object_name,original_name,partition_name,type,ts_name,createtime,droptime from recyclebin
where to_date(droptime,'yyyy-mm-dd hh24:mi:ss') <to_date('2019-03-18 17:06:32','yyyy-mm-dd hh24:mi:ss')  
order by droptime desc;

-- 根据查询出的object_name去恢复数据,注意识别删除的时间点
flashback table "BIN$vywLvQDCRJOhEepLZStrYQ==$0" to before drop ;

表空间文件达到上限,增加新数据文件

alter tablespace TEST add datafile '/server/dbfNameSpace/xxxx4.DBF' size 100m autoextend on NEXT 32M MAXSIZE UNLIMITED;
posted @ 2021-07-11 13:41  幸运刘  阅读(36)  评论(0)    收藏  举报