SELECT segment_name AS table_name, ROUND(SUM(bytes) / (1024 * 1024), 2) AS size_in_mb FROM user_segments WHERE segment_type = 'TABLE' GROUP BY segment_name ORDER BY size_in_mb DESC;
--/ BEGIN FOR rec IN (SELECT table_name FROM user_tables WHERE temporary = 'Y') LOOP EXECUTE IMMEDIATE 'DROP TABLE ' || rec.table_name || ' CASCADE CONSTRAINTS'; END LOOP; END; /
6 个回复
nccloud
1、数据库备份还原
事后:
select count(*) from user_tables;-----某个用户下所有表
select count(*) from dba_tables;------数据库下所有表
nccloud
收集统计信息:
exec dbms_stats.gather_schema_stats('你的用户名',estimate_percent=>20,no_invalidate=>DBMS_STATS.AUTO_INVALIDATE,method_opt=>'for all columns size auto',force=>TRUE,cascade=>TRUE,degree=>4);
--/
BEGIN
DBMS_STATS.GATHER_SCHEMA_STATS(
ownname => 'SYJ_TJRP_0609', -- 替换为目标 schema 的名称
estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, -- 自动选择采样百分比
method_opt => 'FOR ALL COLUMNS SIZE AUTO', -- 自动选择直方图的大小
degree => NULL, -- 并行度,NULL 表示使用默认并行度
cascade => TRUE -- 是否级联收集索引的统计信息
);
END;
/
nccloud
查询表DDL :select dbms_metadata.get_ddl('TABLE','大写表名') from dual;
nccloud
数据库版本:
SELECT version, status, database_role FROM V$INSTANCE;
数据库参数:
SELECT name, value FROM V$PARAMETER;
nccloud
表大小排序
SELECT
segment_name AS table_name,
ROUND(SUM(bytes) / (1024 * 1024), 2) AS size_in_mb
FROM
user_segments
WHERE
segment_type = 'TABLE'
GROUP BY
segment_name
ORDER BY
size_in_mb DESC;
nccloud
查询临时表并清理
--/
BEGIN
FOR rec IN (SELECT table_name FROM user_tables WHERE temporary = 'Y') LOOP
EXECUTE IMMEDIATE 'DROP TABLE ' || rec.table_name || ' CASCADE CONSTRAINTS';
END LOOP;
END;
/