这里写自定义目录标题
查看是否锁表
SELECT object_name, session_id, type, mode FROM v$locked_object;
SELECT object_name, session_id, locked_mode
FROM v$locked_object lo
JOIN all_objects ao ON (lo.object_id = ao.object_id)
WHERE object_type = 'PROCEDURE';
查询oracle会话数
SELECT username,machine,COUNT(*) FROM V$SESSION
group by username,machine;
查询oracle会话数(集群)
SELECT INST_ID,username,machine ,COUNT(*) FROM GV$SESSION
group by INST_ID,username,machine;
查询oracle最大连接数
SELECT * FROM V$PARAMETER WHERE NAME IN ('processes', 'sessions', 'license_max_sessions');
1 39 processes 3 2000 2000
2 40 sessions 3 3040 3040
3 44 license_max_sessions 3
查询oracle表多少数据量
select table_name,num_rows from all_tables where owner='LIS'
order by num_rows desc
查看ORACLE表结构
select column_name,DATA_TYPE,DATA_LENGTH,NULLABLE from all_tab_columns
where owner='LIS' and table_name='LIS'
order by column_id
新增用户
create user USER_TEST identified by oracle123;
alter user USER_TEST identified by oracle123;
grant unlimited tablespace to USER_TEST;
删除用户
drop user USER_TEST cascade;
赋权表给用户
GRANT INSERT ON USER_TEST.TABLE_TMP TO lisread;
GRANT SELECT ON USER_TEST.TABLE_TMP TO lisread;
修改字段类型
ALTER TABLE USER_TEST.LIS_TMP MODIFY (PHONE VARCHAR2(100));
删除唯一约束
ALTER TABLE LIS_TMP DROP CONSTRAINT FK_LIS_TMP;
复制表结构
create table TEST.LIS_TMP as select * from USER_TEST.LIS_TMP where 1=0;
查询所有用户所属的表空间
SELECT u.username, t.tablespace_name, ROUND(SUM(s.bytes) / 1024 / 1024, 2) AS used_space_mb
FROM dba_users u
JOIN dba_segments s ON u.username = s.owner
JOIN dba_tablespaces t ON s.tablespace_name = t.tablespace_name
--WHERE u.username = 'LIS'
GROUP BY u.username, t.tablespace_name;
查询用户和默认表空间的关系。
SELECT username,default_tablespace FROM dba_users where username='ZBPRD';
查询当前用户的表
SELECT table_name FROM user_tables;
查询所有用户的表名:
SELECT table_name FROM all_tables;
查询表空间使用情况
SELECT a.tablespace_name "表空间名",
total "表空间大小",
free "表空间剩余大小",
(total - free) "表占用空间大小",
ROUND((total - free) / total * 100, 2) || '%' "已使用空间百分比"
FROM (SELECT tablespace_name, SUM(bytes) / 1024 / 1024 total
FROM dba_data_files
GROUP BY tablespace_name) a,
(SELECT tablespace_name, SUM(bytes) / 1024 / 1024 free
FROM dba_free_space
GROUP BY tablespace_name) b
WHERE a.tablespace_name = b.tablespace_name
ORDER BY (total - free) DESC;