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;

相关推荐
2501_933670797 小时前
2026秋招数据分析岗备考路线:SQL、BI、项目与面试题拆解
数据库
我要见SA姐19 小时前
告别 Copilot?Codex 本地化部署指南
运维·数据库·机器学习·oracle·回归
xcLeigh10 小时前
聊聊国产化替换:好用数据迁移工具KDMS怎么帮咱们搞定评估难
数据库·sql·数据迁移·kes·kdms
Elastic 中国社区官方博客10 小时前
列式存储并不等同于列式数据库。Columnar 模式为 Elasticsearch 带来了什么
大数据·运维·数据库·elasticsearch·搜索引擎
我要见SA姐111 小时前
用 Claude Code 重构遗留系统:从评估到落地的完整实践指南
数据库·ide·vscode·oracle·编辑器
Nturmoils12 小时前
一份 KDMS 评估报告,怎样排出迁移先后顺序
数据库
这个DBA有点耶12 小时前
异构数据集成怎么做?5 种同步方案对比 + 金融级 CDC 实战解析
数据库·oracle·架构
独泪了无痕12 小时前
SQL函数实战:GREATEST与LEAST的技巧
数据库·sql·mysql
码少女13 小时前
Linux--多路转接之select
java·服务器·数据库
梁辰兴13 小时前
软件工程:软件维护的副作用
数据库·软件工程·梁辰兴·控制方法·软件维护的副作用·副作用类型·副作用原因