oracle常用命令(DBA)

这里写自定义目录标题

查看是否锁表

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;

相关推荐
悟空聊架构4 小时前
基于KaiwuDB在游乐场“刷卡+投币”双模消费系统中的落地实践
数据库·后端·架构
IvorySQL4 小时前
PostgreSQL 技术日报 (3月4日)|硬核干货 + 内核暗流一网打尽
数据库·postgresql·开源
进击的丸子8 小时前
虹软人脸服务器版SDK(Linux/ARM Pro)多线程调用及性能优化
linux·数据库·后端
NineData1 天前
NineData智能数据管理平台新功能发布|2026年1-2月
数据库·sql·数据分析
IvorySQL1 天前
双星闪耀温哥华:IvorySQL 社区两项议题入选 PGConf.dev 2026
数据库·postgresql·开源
ma_king1 天前
入门 java 和 数据库
java·数据库·后端
jiayou641 天前
KingbaseES 实战:审计追踪配置与运维实践
数据库
NineData2 天前
NineData 迁移评估功能正式上线
数据库·dba
NineData2 天前
数据库迁移总踩坑?用 NineData 迁移评估,提前识别所有兼容性风险
数据库·程序员·云计算
赵渝强老师2 天前
【赵渝强老师】PostgreSQL中表的碎片
数据库·postgresql