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;

相关推荐
ClouGence13 小时前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将15 小时前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils1 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波2 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
倔强的石头_3 天前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
倔强的石头_6 天前
《Kingbase护城河》——数据库存储空间全景探测与精细化瘦身实战
数据库
冬奇Lab6 天前
每日一个开源项目(第134篇):Zvec - 阿里开源的嵌入式向量数据库,向量搜索界的 SQLite
数据库·人工智能·llm
ClouGence7 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
无响应de神7 天前
三、用户与权限管理
数据库·mysql
麦聪聊数据7 天前
数据服务化时代:企业数据能力输出的核心路径
数据库