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 分钟前
LangChain向量数据库集成指南:面向RAG开发者
数据库·langchain
小小工匠9 分钟前
Redis - 实现分页 + 多条件模糊查询:一套完整可落地的组合方案
数据库·redis·缓存·分页·模糊查询
流星白龙36 分钟前
【MySQL高阶】13.其他存储引擎
android·数据库·mysql
薛定谔的悦38 分钟前
光伏-储能-负荷联合预测:给 EMS 装上“预知能力“
java·数据库·人工智能·python·储能
阿演40 分钟前
DataDjinn v0.1.6 更新:增加在线更新功能,Redis 数据源支持,表格预览和连接体验继续增强
数据库·redis·缓存·数据库连接工具
数据库小学妹41 分钟前
InnoDB内存架构解密:Buffer Pool与性能优化实战
数据库·经验分享·sql·性能优化·架构
AI人工智能+电脑小能手1 小时前
【大白话说Java面试题 第89题】【Mysql篇】第19题:Hash 索引和 B+ 树索引的区别?它们在使用方面的区别?
java·数据库·mysql·面试·哈希算法
一只fish1 小时前
Oracle官方文档翻译《Database Concepts 26ai》第17章-内存架构
数据库·oracle
比企谷八幡1 小时前
一张表在磁盘上长什么样:Heap File 入门
数据库·oracle
流星白龙1 小时前
【MySQL高阶】11.InnoDB存储引擎
数据库·mysql