- 博客(30)
- 收藏
- 关注
原创 oracle不支持修改字段加online
加online的场景是添加索引的时候,在线添加索引,可以允许业务正常操作,如果不加online,会对表加共享锁,阻塞所有的dml操作。开发需要对大表修改字段,但是希望对表不加锁,尽量不影响业务,询问可以不可以这样做。oracle修改表字段不支持加online。执行后报错,命令不对。
2025-11-27 23:34:55
261
原创 Oracle查询某个schem下每个表的总数
默认情况下,Oracle 不会显示 PL/SQL 块中的 DBMS_OUTPUT.PUT_LINE 输出。执行 SET SERVEROUTPUT ON;后,客户端会接收到这些输出。它的作用是允许在 PL/SQL 块中通过 DBMS_OUTPUT.PUT_LINE 输出的信息显示在客户端。--替换为要查的schema。该设置仅对当前会话有效。重新连接数据库后需要重新执行。
2025-11-25 12:51:51
212
原创 Oracle踢盘和加盘
当遇到fradg 快满了的时候,当前事物很多,但是归档又没有完成无法清理的时候,有没有盘可以加的时候,会选择一种应急手段,就是把datadg 的盘踢一块出来,给到fradg ,数据盘一般都有很多富裕的。如果这块datadg使用的比较多,那么没有那么快drop点,需要等重平衡完成,通过这个V$ASM_OPERATION视图可以查看重平衡情况。磁盘会经历一个dropping到closed的过程。重平衡结束后,就可以加盘了。1. 查看当前磁盘有哪些。3. 加盘,是写磁盘路径。2. 踢盘,是写磁盘名。
2025-11-07 00:05:25
160
原创 Shrink方式对表碎片化整理
表碎片化是指表中数据在物理存储上的不连续分布,导致存储空间利用效率低下和性能下降的现象。上述情况需要用move的方式进行碎片化整理。第一种当时可以通过shrink的方式实现。· 基于ROWID的物化视图的基表。· IOT索引组织表。· 带有函数索引的表。
2025-11-05 22:37:37
212
原创 I/O rate limit Resource Manager
事件是resmgr: I/O rate limit Resource Manager(资源管理器) 的一部分,表示数据库由于 I/O 资源配额限制,导致某个会话被限制 I/O 操作。参数设置为10,表示每秒的io操作数为10,修改为0(不限制),执行查询表空间的语句正常。有个测试找过来,有个库里执行查表空间使用率的语句查了几百秒都没出来,其他的库都没有问题。既然查询卡住,那会必然有连接的活跃会话,查看这个sql会话所对应的信息。联想和io 参数有关,搜索查看。和max_iops参数有关。
2025-11-04 12:41:02
126
原创 Oracle Update 多表操作报错
2. 需要把另外b表有个字段的数据更新给a表有个字段,用UPDATE ... JOIN 语法报错,这是因为Oracle不支持这种语句。3. 使用merge into的方式,是 Oracle 中推荐的多表操作方式。有个测试要更新数据,这么写的sql来更新,结果报错,找过来了。1. 两张表数据如下。
2025-11-03 20:24:40
156
原创 ORA-01153: an incompatible media recovery is active
只执行了一次取消操作,然后启动自动应用日志,报错了。重新执行一次取消和启用自动应用就成功了。
2025-10-30 22:34:44
334
原创 acfs类型的文件系统扩容
df -Th发现文件系统快满了,但是ascf类型的文件系统怎么扩容呢。1.检查acsf文件目录所对应的磁盘空间,对应的磁盘空间为FRADG。2.检查是否空间是否足够。
2025-10-16 17:49:40
266
原创 不进入后台数据库取awr,通过dbeaver获取awr
rdbms/admin/awrrpt.sql来获取awr脚本,但是对于测试人员,没有办法进入数据库,他们只能通过dbeaver查询表,但是需要自己查一下sql的性能,做排查。关于DBMS_WORKLOAD_REPOSITORY.AWR_REPORT_HTML的所有参数,通过dba_arguments视图查看。默认选项为0,生成标准的awr报告,在查询awr报告的时候可以省略。如果你的环境中只有一个实例,非rac,可以设置为NULL。如果你的环境中只有一个数据库,例如连接,可以设置为NULL。
2025-10-16 11:55:27
296
原创 ORA-01795: maximum number of expressions in a list is 1000
由于sql语句的 IN 子句中的表达式数量超过 1000 个引起的。可以通过分批处理、使用临时表、集合类型或子查询等方法来解决这个问题。
2025-07-01 14:33:09
266
原创 PLS-00201: identifier ‘SYS.DBMS_LOCK‘ must be declared
把一个schema的数据通过impdp导入到另一个schema,存储过程报错,重新编译存储过程报错。给这个schema授权execute。
2025-06-30 16:06:58
377
原创 Oracle数据库闪回技术flashback
在日常工作中,作为dba,总会有人误删数据找过来叫你恢复,这个时候就要用到闪回这个强大的功能了,不过误删要立刻要反馈找dba进行恢复,原始数据有时间要求不然就不能用闪回了,就要用备份去恢复了,相当麻烦,而且没有备份就玩完了,只能自行想办法了数据库库默认没有开启闪回,并且开闪回之前要开归档开启闪回YES。
2025-06-25 17:52:43
526
原创 Oracle数据库表的long类型字段如何like
起因是有个开发问long类型的字段想要like这样查询怎么弄,我本想着应该where字句直接立刻就可以吧,后转念一想,应该没那么简单,如果直接like就可以,他又何必来问呢。于是便查了下,在Oracle数据库中,LONG 类型字段存在一些限制,不支持在 WHERE 子句中直接使用 LIKE。那么该如何解决呢?答案是创建一张一模一样的新表,long类型的字段除外,long类型的字段设置为clob字段,新表的数据插入时,对原表的long类型字段进行lob转换模拟过程如下。
2025-06-23 10:00:30
381
原创 Oracle数据库如何授权用户删除单个表
Oracle数据库中没有grant drop on test.table1 to username;这种授权,但是普通用户想要删除单个表,就需要结合存储过程,给存储过程的执行权限即可。授予用户执行存储过程的权限。
2025-06-09 16:35:48
280
原创 Oracle数据库用户一直被锁,如何定位操作者ip
创建一个触发器来捕获登录失败的尝试,并将相关信息插入到 `login_failures` 表中,通过使用 SYS_CONTEXT 函数,触发器能够获取当前会话的上下文信息,包括客户端的 IP 地址。Oracle数据库中,会出现用户经常被莫名其妙的锁了,是因为有人用错误密码一直尝试登陆导致锁了,用户密码的登陆错误重试次数默认是10次,连续10次错误之后,用户就会被锁,并且出于安全考虑,不能直接将参数。使用触发器和表的方式来记录登录失败的尝试,可以实现对用户登录失败的详细记录,包括 IP 地址。
2025-06-09 14:55:46
1030
原创 网络测试-禁止某个ip访问服务器
在测试工作中,我们会需要测试应用到数据库网络不通的测试结果是否满足预期,但是网络已经开了,去关网络会比较麻烦,需要提交网络策略,并且有的是开的整个网段的,不能单独关一个一个应用,这个时候我们可以通过。1521 是具体的端口号,表示这条规则将应用于目标端口为 1521 的网络包。192.168.111.1 是具体的源 IP 地址,表示这条规则将应用于从这个 IP 地址发送的网络包。DROP 表示丢弃匹配的网络包,即不响应也不记录这些包,直接丢弃。INPUT 是链的名称,表示这条规则将应用于进入系统的网络包。
2025-06-09 09:32:06
453
原创 表/索引/触发器/存储过程/序列/函数/包/包体/视图/同义词的ddl
- 存储过程的 DDL。-- 触发器的 DDL。-- 同义词的 DDL。-- 序列的 DDL。-- 索引的 DDL。-- 函数的 DDL。-- 包体的 DDL。-- 视图的 DDL。
2025-06-06 14:32:15
171
原创 Oracle查看单个用户拥有的所有权限
SELECT '通过角色继承的系统权限', R.GRANTED_ROLE AS GRANTEE, NULL AS OWNER, NULL AS TABLE_NAME, S.PRIVILEGE, S.ADMIN_OPTION, NULL AS GRANTABLE。SELECT '通过角色继承的对象权限', R.GRANTED_ROLE AS GRANTEE, T.OWNER, T.TABLE_NAME, T.PRIVILEGE, NULL AS ADMIN_OPTION, T.GRANTABLE。
2025-06-06 10:53:08
329
原创 mysql视图操作
insert into view可以执行,可以对视图进行插入操作,但是是插入到基础表中,如果基础表存在主键约束,insert into视图的操作会出现主键冲突的报错(例如插入id=101这条数据会出现Duplicate entry '102' for key 'table_1.PRIMARY'的报错)。因为,视图是一个虚拟表,其中没有数据,所以,当通过视图更新数据时,其实,是在更新基本表中的数据,如果对视图中的数据进行增加,或者删除操作时,实际上是在对其基本表中的数据,进行增加或者删除操作。
2025-05-07 23:06:21
282
原创 ERROR: cannot execute UPDATE in a read-only transaction
备库执行报错,没看清楚库,是说怎么一直update报错。
2023-10-22 22:34:02
2259
1
原创 You (user) are not allowed to use this program (crontab)See crontab(1) for more information
因为crontab被限制为root帐户使用,普通用户不允许使用crontab创建规则。将user用户添加到/etc/cron.allow里。创建的普通用户无法使用crontab。有两个文件控制crontab的使用。再使用crontab没问题了。
2023-08-29 14:36:18
2497
1
原创 sysbench工具安装
1 下载sysbench工具下载地址:https://github.com/akopytov/sysbench选择分支下载2 安装依赖包:automake libtool pkgconfig libaio-devel mysql-develyum install -y automake libtool pkgconfig libaio-devel mysql-develtar -xvf sysbench-master.tarcd sysbe...
2021-09-09 13:10:52
401
原创 镜像文件-挂载,yum
挂载 mount1 定义挂载是将一个设备(通常指存储设备,比如光盘、硬盘磁带、光盘镜像文件、U盘等)挂载到一个已存在的目录上(这个目录可为空,但如果目录已存在内容,挂载后以前的内容将不可用)。挂载其实就是挂载外部设备,然后计算机可以读取。2 分类1 windows插入u盘之后,在文件系统此电脑下,会显示一个I盘或者此其他,此时我们点击此盘可以打开U盘,2 Linux需要理解的是,Linux操作系统将所有的设备看作文件,它将整个计算机的资源整合成一个大的文件目录,我们要访问存储设备
2021-09-03 10:24:09
1997
原创 Oracle常用名词缩写解释
对于我这种刨根究底的,认为任何东西都有其含义,缩写肯定有全称,同时小白的我,各种疑问,所以关于缩写我都会去找它的全称,以下将自己碰到的名词记录下来对于我这种刨根究底的,认为任何东西都有其含义,缩写肯定有全称,同时小白的我,各种疑问,所以关于缩写我都会去找它的全称,以下将自己碰到的名词记录下来。ASMautomatic storage management 自动存储管理ASSMautomatic segment space management自动段空间管理AOFappend only ...
2021-08-04 11:50:12
500
原创 oracle官方文档查看流程
1.官方文档网址https://docs.oracle.com/en/database/2 页面如下,点击oracle database3 根据需要选择不同版本数据库查看4 如选择11.2版本,点击get started5 页面如下6 我目前开始学用的比较多的是,supporting documentaion这个标题下的东西...
2021-08-03 17:46:19
774
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅