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;