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;

相关推荐
渣渣盟几秒前
Mysql入门到精通全集(SQL99)包含关系运算,软考数据库工程师复习首选
数据库·mysql·oracle
dishugj32 分钟前
HANA 数据库的核心进程架构
数据库
2301_7820404538 分钟前
CSS Flex布局中如何实现导航栏与Logo的左右分布_利用justify-content- space-between
jvm·数据库·python
.柒宇.1 小时前
Redis主从复制集群搭建详解
数据库·redis·缓存·主从复制
2301_808414381 小时前
MySQL中的函数
数据库·mysql
Mahir081 小时前
MySQL 数据一致性的基石:三大日志( redo log/undo log/binlog)与两阶段提交(Prepare 阶段和Commit 阶段)深度解密
数据库·后端·mysql·面试
AlfredZhao1 小时前
APEX实战第13篇:全套开发环境的本地配置与恢复实践
oracle·apex·ords
x***r1512 小时前
dbeaver-ce-24.1.3-x86_64-setup安装步骤详解(附DBeaver数据库管理与SQL编写教程)
数据库·sql
一只鹿鹿鹿2 小时前
数据库运维与管理规范(WORD)
运维·数据库
todoitbo3 小时前
WHERE 子句中的函数执行顺序与副作用风险分析
数据库·时序数据库·函数