- 博客(1032)
- 资源 (1)
- 收藏
- 关注

原创 Oracle RAC中OCR整个磁盘的故障模拟恢复
测试目的: 模拟整个CRS盘损坏后,如何处理处理过程: 重新创建一个同名的磁盘组给OCR使用。restore OCR信息,重新创建voting file。 即可。RDBMS 11.2.0.4参考文档: Linux/Unix 平台,在CRS 磁盘组完全丢失后,如何恢复基于 ASM 的 OCR (Doc ID 2331776.1)步骤1 查看当前集群状态、OCRCHECK 、VOTEDISK2 查看当前的OCR的备份 ,如有必要,模拟前手工备份一次3 使用DD命令进行模拟破坏4 确认所有..
2022-03-19 11:52:23
1797

原创 ORA-600 [kokasgi1]的模拟与修复-Linux平台下
RDBMS 11.2.0.4 + redhat 6.10在RDBMS 12.2.0.1下测试修改SYS用户为SYSA,重启。发现可以正常重启。修改SYS为SYSA后重启数据库。12.2.0.1不存在更改SYS名称的问题。重启后没有问题。在RDBMS 11.2.0.4下测试,发现修改SYS为SYSA后,重启后,报错。无法启动到OPEN状态。连接到数据库,修改SYS为SYSA。重启数据库,报错。查看进程,进程为9711启动数据库到mount状态...
2022-01-01 11:51:21
1014

原创 模拟修改sys用户名及恢复- ORA-600 [kokasgi1]
RDBMS 11.2.0.4 + Windows前提条件,确认,定位到了问题是因为sys账号被修改为别的名字。在Windows安装gdb工具,安装包为Dev-Cpp_5.11_TDM-GCC_4.9.2_Setup.exe安装好的路径如下:模拟修改SYS账号名为SYSA重新启动数据库,报错开始修复查找Oracle.exe的进程id ,这里查询到的oracle进程id为4520 。后面会用到这个进程id启动数据库到mount状态使用gdb命令...
2021-12-31 13:21:30
1067
2
原创 asm实例基数
发现ora.ASMNET1LSNR_ASM.lsnr(ora.asmgroup)、ora.OCR.dg(ora.asmgroup)等等都是3个。使用flex配置的时候,asm实例有个基数,基数决定了asm集群中可用的asm实例数,默认的asm基数值是3.和ASM instance count有关,修改asm instnce count后,正常。-- 修改后,重启集群,各个资源为2个。-- 验证flex模式是否开启。-- 查看资源,大部分为3个。-- 查看asm实例基数。-- 修改asm实例基数。
2023-11-25 11:52:48
355
原创 设置pdb自动启动
- 将pdb状态设置为保持现状(当前各个pdb状态为open)-- 在12.2.0.1上,可以设置触发器,来使pdb自动启动。-- 查看pdb 的当前的open mode。-- 补充推荐在rac上保留pdb的状态。-- 查看pdb的保留状态.无保留状态。-- 重启库测试,pdb可以自动起来。-- 取消pdb的保持状态。
2023-11-20 11:25:57
182
原创 将non-cdb转换为pdb
- 将缺失的文件,copy到目录中后,再次datapatch完毕后,jvm补丁被会退掉了。主要是检查兼容性,以及检查是否有一些异常,然后设置pdb的路径 ,并创建pdb。问题2 ,查看视图,还有错误,主要是jvm补丁无法回退,多次datapatch后问题依旧。-- 在操作系统上查找,有这个文件,copy到缺失的目录中,继续datapatch。-- 查看这些error,主要为补丁方面的,和上面在转换前没有处理这些问题有关。-- 上面创建完毕pdb后,检查是否有异常,无异常的情况下,开始转换为pdb。
2023-11-18 16:21:14
77
原创 rman catalog
sqlplus <catalog username>/<password> @<catalog db connect string> <<<< 10g及之后的方式。<<<< 10g之前的方式。catalog库 : bak,将其他库的备份信息存放在catalog库上。-- 注册database,分别在bak,test,orcl库上执行。-- 在cagalog库上创建用户。-- 查看在catalog中的库。-- 查看catalog版本。-- 创建catalog。-- 升级catalog。
2023-11-17 15:49:45
64
原创 数据泵的view_as_tables参数
在bak库下查看视图,无视图,查看表,有两个表,刚导入的,是以表的形式存在的。--测试19c(RDBMS19.21)的expdp的参数VIEWS_AS_TABLES (这个参数是12c开始的参数)-- 在bak库下导入,导入报错,因为没有bb这个用户,从这里也可以看出,导入的时候,是建立表,以表的方式导入的。-- 生成sql脚本,看看内容,导入的时候,以表的方式导入。2 在bak库下,导入的视图,是以表的形式存在的。-- bak库下,创建用户后,再次导入,成功。1 在bak库下,不会导入视图对应的基表。
2023-11-11 10:24:32
58
原创 记录一次19c RAC启动关闭很慢的问题
- 在手工关闭集群的时候,非常慢卡在这个地方 CRS-2677: Stop of 'ora.chad' on 'node19c02' succeeded。-- 在手工启动集群的时候,相对较慢,但可以接受,有一次是卡在CRS-4537: Cluster Ready Services is online。虚拟机下测试用的19c的RAC,在安装RU的时候,一个节点安装时间可以接受,另一个节点安装时间很长。平时在启动关闭rac的时候,时间较长,尤其是关闭rac的时候,耗时很长。-- 查看dns的配置。
2023-11-09 09:16:53
44
原创 mysql 8.0.35 搭建主从
- 查看从库复制状态,可以看到Source_SSL_Allowed、Source_public_key_path等。--drop 掉用户,重新创建,加上WITH 'mysql_native_password'即可。--参数中修改为mysql_native_password,不行。-- 查看当前的默认认证插件,为caching_sha2_password。-- conf文件 这里的conf文件,仅仅为搭建主从的最小最少参数。-- 创建复制账号,所有的库上。可以使用两种方式创建账号,-- log中的错误。
2023-11-08 13:17:47
421
原创 Linux下多个盘符乱的问题处理
- 仔细查看/etc/fstab中的内容,发现UUID=357c1a07-7c12-48e6-a1b2-d9b7e2c608de 这个UUID,和SICI_ID出来的结果不一样,原来这个UUID是使用blkid命令得出的。-- 查看了下/etc/fstab下面的盘,有sdb、sdc、sdd、sde四个盘。-- 修改/etc/fstab,绑定如下,但是mount的时候,报错,找不到UUID。-- 找到盘和挂载点的对应关系后,打算使用uuid在/etc/fstab中绑定。比如两次sdd盘的大小就不一样。
2023-11-06 09:24:15
94
原创 RU19.21在rac下安装
- 补充2 ,在dg下打补丁的时候,备份库上没有运行./datapatch -verbose的时候,发现布丁状态是end,运行完毕后,补丁状态是success。-- 补充1 ,出现的错误,原因/psu目录下,存放补丁,权限问题。详细的log ,提示无法copy,权限问题。GI 和 Oracle用户下。-- root用户下。
2023-11-05 09:25:10
138
原创 虚拟机磁盘扩容
- ,因为sdb1,对应的是第一个分区(sdb也只有sdb1这一个分区),所以将第一个分区resize。-- 查看可用空间,已经在虚拟机上,将sdb盘扩到了45G ,以下命令可以看到有5G的剩余空间。-- 查看pv,只有sda,没有sdb ,所以这里不能使用pv lv vg之类的操作了。检查/u01对应的盘及分区,是sdb1. 这个sdb是直接挂载上去的,当时并没有创建pv。-- 这里要扩展的是,这个sdb1,挂载点是/u01。-- 文件系统刷新,刷新后的大小是45G。1 在虚拟机层面,将硬盘扩大。
2023-11-05 08:54:51
121
原创 Oracle RU 19.21及 datapatch -sanity_checks
在19.21的RU的readme中,3.3.2 Load Modified SQL Files into the Database中多了一个可选的步骤。read me中是这么说的。
2023-10-28 14:39:49
429
原创 Linux 救援模式
第三次,尝试修复卷,启动后,找不到文件系统了,只能从光盘启动到救援模式,弄出来里面的数据了。此时,让不可以通过ssh连接到192.168.2.100.因为没有sshd服务。选择运行脚本chroot ,可以看到完整的目录信息。第二次是找不到卷,但是能启动,启动界面选择救援模式,可以正常使用。方法1 ,启动的时候,按下F2,这个机器坏了,直接没有启动界面了。插入光盘,通过troublesshooting,进入救援模式。然后通过ssh,将需要的数据,转移到其他服务器上。如何让虚拟机启动的时候,从某一个设备引导。
2023-10-21 19:07:44
343
原创 mysql8 源码安装的坑-放弃了
4 继续安装 ,提示需要这些包 yum install devtoolset-11-gcc devtoolset-11-gcc-c++ devtoolset-11-binutils。下载了错误的包 mysql-8.0.34-linux-glibc2.17-x86_64.tar.gz。这种包 ,时已经编译好的,直接mysqld --initialize 就行了。7 安装gcc,编译需要好几个小时,而且占用空间很大。查看redhat8上,gcc是8.5 .但仍需要很多包,放弃编译安装了。
2023-10-08 11:09:25
405
原创 rpm安装mysql8后碰到的问题
问题3和问题4的原因,因为OS上安装了mysql5.7和mysql5.8. 环境变量是5.7的。使用alter user 'root'@'127.0.0.1' 这种方式,居然是错误的 ,使用alter user user() 即可,但是又不符合密码策略。https://mysql.net.cn/doc/refman/8.0/en/validate-password.html <<<< 参考。6 使用随机生成的密码,登录mysql后,无法进行相关操作 ,需要修改密码,修改密码,需要符合相关的策略。
2023-10-07 15:56:22
272
原创 my_print_defaults 及perror
- 打印出mysqld_safe的内容,因为my.cnf里面没有的,所以打印出为空。-- 打印出mysqld和mysql的内容。-- 打印出mysql和client的内容。--打印出指定的配置文件中的内容。-- my.cnf的内容。
2023-10-06 10:49:53
371
原创 mysql_config_editor的配置
- 产生的.mylogin.cnf文件,这是一个隐藏文件 ,而且不是文本格式的,所以打开会是乱码。OS上分别有2套库,设置后,通过不使用密码来登录,类似postgres的.pgpass文件。--通过print打印出分组3306,分组3307,以及所有的内容。-- 执行一下命令,会要求提示输入密码。-- 通过免密码登录到3307库。-- 通过免密码登录到3306库。
2023-10-05 17:02:53
314
1
原创 mysqld_multi测试
- 使用下面的这种写法 ,这种写法 ,无论是mysqld_multi start 3307 还是mysqld_multi start 3307 ,都会发现mysqld_multi report后,都是启动的,但实际上只启动了3306。-- 当把/etc/my.cnf的参数中,include去掉,把3306和3307的参数,分别写在[mysqld3306]和[mysqld3307]下的时候,再次查看mysqld_multi report,发现起来的库是3306。-- 启动3307,发现3307启动了。
2023-10-04 19:41:55
387
原创 oracle 自动索引
oracle的自动索引,只能在一体机上实现。非一体机无法使用,会报错。19c自动创建index功能 (Doc ID 2533822.1)在schema级别启动自动索引。产生自动索引report。
2023-09-26 16:21:27
193
原创 Oracle Scheduler中日期表达式和PLSQL表达式的区别
【代码】Oracle Scheduler中日期表达式和PLSQL表达式的区别。
2023-08-31 16:44:17
917
原创 转换dbms_job为dbms_scheduler
- 通过查询,和观察实际插入的数据,是每天13:30,执行存储过程一次,也就是每天13:30运行一次job。-- 2 创建dbms_scheduler job ## 每天的13:30 运行一次。1 获取dbms_job的ddl语句,使用 dbms_job.user_export。--3 确认scheduler job (每天13:30 执行一次)-- 4 drop掉原来的job。
2023-08-28 11:13:35
100
原创 19c的Dataguard对坏块的处理
11g版本的修复(之前的文档),可以参考(46条消息) 一次备库的坏块的修复过程_restore library built sep 1 2022 at 01:16:49_文档搬运工的博客-CSDN博客参考文档:Data Guard Concepts and Administration10.2.1.5 Automatic Block Media Recovery10.2.1.5 Automatic Block Media RecoveryIf corrupt data blocks are encount
2023-06-16 07:57:20
305
原创 19c DataGuard的switchover
4 打开新的备库,使用命令startup mount,或startup。3 打开新的主库,使用命令alter database open;1 在原主库上执行verify,以确认是否可以切换。-- 原主库上执行,确认是否可以进行切换。主库 alert log。-- 在原主库上执行切换。主库 alert log。-- 切换后的主备库信息。原备库: TESTDG。主库: TESTDG。2 在原主库上执行切换。备库alert log。备库alert log。
2023-06-15 15:50:20
543
原创 PSU 19.19安装
但是在安装的时候,提示没有TFA导致安装补丁失败,重新安装TFA后,问题解决。5 补丁冲突检查 ,奇怪,在节点1上执行错误,节点二执行正常。3 在检查补丁冲突的时候,节点1提示错误,但是在节点2中检测后,再次节点1中检测,问题消失。1 OS磁盘目录问题,在安装补丁的时候,自检会提示,如果安装补丁过程中小于10G,会报错。-- 安装了tfa以后,再次安装psu,空间不够,至少需要10G。-- 对比节点1和节点上的补丁的xml文件,发现节点2上没有的。解决方法,将节点1上的文件copy到节点2上。
2023-06-07 10:13:17
705
原创 Oracle MRP补丁
所以,从19.16开始 ,看不到Oracle Database Update Revisions 补丁了。从MOS上的下图可以看到。(这个补丁,是在原来每个季度的RU的基础上,再修订2个版本)如何查看MRP补丁,可以参考How to confirm applied MRP (Doc ID 2941520.1)比如:19.17的RU补丁,每个月的MRP补丁在19.17基础上更新,持续6个月。19.18的补丁,同理。而MRP补丁是在RU补丁基础上,每个月发行一次。其他问题,可以参考官方文档或MOS。
2023-05-20 16:50:14
708
原创 expdp的 exclude测试
- 导出,排除掉atest1,atest2,atest3, 使用通配符%TEST% .注意要大写。排除的表上有索引,可以看出导出动作中没有导出索引。-- 创建测试用户和表,导出app schema下的表。-- 如果在排除的时候,排除的表,没有使用大写,则不会排除。排除的表会继续被导出,并且有导出索引的动作。-- 在排除的表上创建索引 ,以测试,排除这些表的时候,这些排除表的索引,是否会被导出。排除某一些表,使用通配符。2 已排除的表,该表上的索引,不会导出。2 已排除的表,表上的索引会不会导出。
2023-05-18 15:11:53
423
原创 使用pg_verifybackup验证备份
将备份的表空间的内容,放在pg_tblspc下,而不是放在pg_tablespaces。或者,在解压表空间的备份文件的时候,直接解压在pg_tblspc,而不是解压在pg_tablespaces。数据库是pg_tblspc下是软连接,有数据,,pg_tablespaces下有实实在在的数据。-- 测试,当使用tar的方式备份的时候,如何使用pg_verifybackup来验证。--解压后,开始pg_verifybackup验证 ,测试过多次,失败,报错。-- 开始备份,以tar的方式。
2023-05-06 16:38:28
604
原创 postgres不完全恢复
在recovery_target、recovery_target_lsn、recovery_target_name、recovery_target_time和 recovery_target_xid 中, 最多只能使用一个,如果在配置文件中使用了多个,将会产生一个错误。-- 查看wal dump。-- 将backups里面的备份,拷贝到合适的位置(原来的位置,其实这三个文件的位置,还是在DATA下),进行解压。-- 再次恢复 ,恢复到第一次插入数据的状态,867 ,还原拿出来没有数据,只有表.
2023-05-06 09:52:24
478
原创 使用pg_basebackup备份
在recovery_target、recovery_target_lsn、recovery_target_name、recovery_target_time和recovery_target_xid中, 最多只能使用一个,如果在配置文件中使用了多个,将会产生一个错误。-- 从备份的结果看,16389.tar是新建立的表空间, base.tar和pg_wal.tar分别是pgdata目录下的base目录和归档目录的内容。--连接到数据库 ,数据库为只读模式 ,执行pg_wal_replay_resume()
2023-05-04 16:02:51
611
原创 Linux Mint下VM网络的配置
当OS启动后,使用ifconfig查看网卡信息,vmnet0和vmnet1还是没有的,当然查看/dev/vm* 也查看不到vm网卡的信息。3 打开虚拟机的网络高级编辑器后,保存后,ifconfig可以看到vmnet0和vmnet1的IP。2 sudo netplan apply执行,执行后,再次ifconfig查看网卡信息,vmnet0和vmnet1是240地址。难道是重启OS后,默认不加载vm网卡,需要手工打开这个网卡,然后刷新网卡配置信息?应用网卡配置后,/dev/目录下查看网卡信息。
2023-04-16 16:12:21
389
原创 RMAN-06023: no backup or copy of datafile 1 found to restore
- 再次还原控制文件 ,再次catalog ,发现化身是13年的了 ,而且在RMAN中catalog的记录中,没有catalog FRA的目录。在异机还原数据库的时候,发现报RMAN-06023,提示一些文件没有备份,实际查看备份,这些文件是备份过的。-- 重新catalog 后,数据库化身,又变成了22年9月21日的 ,同时,在alert log中显示数据库化身变成了5。-- 在OS上查看这些文件,文件是存在的,权限不存在问题,other组的权限是读,RMAN可以读这些文件。或,设置正确的数据库化身。
2023-04-13 16:44:40
941
原创 postgres创建分区表
- 确保参数enable_partition_pruning 为ON。1 创建分区表,后面加上PARTITION BY XXX (XXX )2 创建分区,建表语句后面加上 PARTITION OF XXX。-- 新增加一个6月份的分区,使数据能插入到分区。-- 创建分区表,指定分区键为logdate。-- 通过dt+ 命令,查看建立的分区表和分区。-- 插入6月份的数据 ,会提示没有分区。存放有关表如何被分区的信息。
2023-04-07 10:23:32
2653
原创 postgres分区表的创建-基于继承
- 插入2023年6月份的数据 ,直接报错 ,因为此时没有创建6月份的子表,触发器函数中也没有处理6月份数据的规则。-- 创建触发器 ,不带schema,创建的触发器,默认就在apps的schema中。-- 创建触发器函数,针对不同月份的数据,落入不同的子表,从而达到数据分区的效果。3 创建函数及触发器,使插入的数据根据规则,插入到对应的子表中。-- 查看父表和各个分区表的数据 ,可以看到1个父表,5个分区表。-- 通过视图查看分区表,查询不到基于继承建立的分区表。-- 创建6月份分区表,
2023-04-07 10:14:16
387
MHA0.58安装包及安装文档
2019-04-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人