暂无图片
Oracle 插入的值的字段超长,不知道哪个超了,有办法监控出来吗?
我来答
分享
暂无图片 匿名用户
Oracle 插入的值的字段超长,不知道哪个超了,有办法监控出来吗?

Oracle 插入的值的字段超长,不知道哪个超了,有办法监控出来吗?

我来答
添加附件
收藏
分享
问题补充
2条回答
默认
最新

1. 创建一个新表,用于记录超长字段的信息:

CREATE TABLE long_column_log (
table_name VARCHAR2(30),
column_name VARCHAR2(30),
column_value VARCHAR2(4000),
insert_time TIMESTAMP DEFAULT SYSTIMESTAMP
);
这个表包含了记录超长字段信息的四个字段:表名、列名、列值和插入时间。

2. 创建一个触发器,用于监控所有表的超长字段:

CREATE OR REPLACE TRIGGER log_long_columns
BEFORE INSERT ON schema_name.*
FOR EACH ROW
DECLARE
v_length NUMBER;
BEGIN
FOR col IN (SELECT COLUMN_NAME, DATA_LENGTH
FROM ALL_TAB_COLUMNS
WHERE OWNER = 'schema_name'
AND TABLE_NAME = :NEW.table_name)
LOOP
v_length := LENGTH(:NEW.col.COLUMN_NAME);
IF v_length > col.DATA_LENGTH THEN
INSERT INTO long_column_log (table_name, column_name, column_value)
VALUES (:NEW.table_name, col.COLUMN_NAME, :NEW.col.COLUMN_NAME);
END IF;
END LOOP;
END;
这个触发器会在每次插入数据前检查所有列的长度,如果超过了列定义的长度,就将超长字段的信息插入到long_column_log表中。

暂无图片 评论
暂无图片 有用 0
打赏 0

注意,其中的schema_name需要自己修改

暂无图片 评论
暂无图片 有用 0
打赏 0
回答交流
Markdown


请输入正文
提交
相关推荐
Oracle数据库中的目录下有很多的 .dbf文件有什么作用,能清理吗?
回答 2
哪个目录?图片看不清楚。一般来说,.dbf文件为数据文件,但也有的库归档日志也是.dbf命名,所以你得确认这些文件是什么文件。进入sqlplus,selectfilenamefromdbadatafi
Oracle12c升级
回答 5
第一,你可以尝试做个测试环境,oracle21可以在oracle官网下载第二,安装过程可以在百度或一些博客网站搜索第三,数据库迁移是一个繁琐的过程,如果你没有经历过就不要去做,数据丢失有可能你也得走人
ERROR OGG-00551
回答 2
这个错误大多是SQLServer尝试将一个无效的字符串转换为日期或时间格式。解决这个问题,可能要查看修改下SQL,参考下https://blog.csdn.net/u014421013/article
大家有遇到到11 g rac打patch的时候报错ohas服务无法启动了?权限没啥问题呀,不打patch的时候服务都是正常的
回答 1
可能是权限问题,看看具体报错
Oracle ogg停止了, 错误代码是 ERROR OGG-01161
回答 2
是异构的话,从源端重新导一份def文件。
Oracle问题:怎么改system01.dbf 里面的数据?
回答 5
还是用备份回复吧,不是非常精通的会玩坏的
oracle的数据文件可以放在不同的磁盘分区上,mysql能像oracle一样,将一些表放在不同的磁盘分区上吗?
回答 1
已采纳
这个就看你datadir的目录,是不是能做到多个磁盘分区都映射到一个目录下,linux还能做到。windows不行。
oracle 12.1版本 中如何限制各个PDB的processes和session值
回答 1
可以限制内存、CPU和IOCONN/ASSYSDBAALTERSESSIONSETCONTAINERpdb1;ALTERSYSTEMSETmaxiops100SCOPEBOTH;ALTERSYSTEM
ogg抽取进程报错: ERROR OGG-00446
回答 8
你viewreport抽取进程所有报错截图看看呢
rac 12.2.0.1 on redhat7.4 执行root.sh时遇到 CLSRSC-400 ACFS-9428 OUI-67064
回答 3
上传附件:rootcrsdb0120210331083352PM.log