Maclean’s Oracle Database Tech Blog Archives

  • 互联网公司真的不用oracle数据库吗?

    互联网公司不使用oracle数据库这个印象对很多同学来说是有点深的;为了打破这个错误印象,老刘根据维基百科上的世界上最大的前20家互联网公司列表做了梳理,其中14家有使用oracle数据库技术占70%,其中5家使用了Exadata一体机占25%,其中5家为重度使用占25%。 ​​​​比较典型的互联网公司例如facebook,其实一直在使用oracle。Apple苹果因为不算互联网公司,所以不列在其中,但其也较为重度使用oracle。   持续更新地址: https://github.com/macleanliu/askRDBMS/blob/master/top-oracle-internet-user.md    

  • MySQL 5.7在Ubuntu 18.04上重新初始化mysqld –initialize mysqld: Can’t create directory (Errcode: 13 – Permission denied)

    注意在ubuntu上mysqld –initialize ,要配置apparmor,可以通过修改参数文件 vim /etc/apparmor.d/usr.sbin.mysqld, 也可以像我一样直接禁用mysql的apparmor profile。 否则会出现 Can’t create directory (Errcode: 13 – Permission denied) 错误   su – root systemctl stop mysql mkdir -p /d01/mysql #这里重新初始化的目标目录是/d01/mysql chown mysql:mysql /d01 chown mysql:mysql /d01/mysql #一些权限设置 mkdir /var/run/mysqld chown mysql:mysql /var/run/mysqld chown mysql:mysql /var/log/mysql chown mysql:mysql /var/log/mysql/* 修改 /etc/mysql/mysql.conf.d/mysqld.cnf datadir = /d01/mysql 下面 禁用mysql的apparmor profile aa-status…

  • MySQL 5.7在Ubuntu 18.04上快速安装 不依赖于APT源脚本

    wget https://www.dropbox.com/s/uvmtsd1lqpoju8l/libaio1_0.3.112-5_amd64.deb wget https://www.dropbox.com/s/tiwi2qhhptpgljm/libmecab2_0.996-6_amd64.deb wget https://www.dropbox.com/s/nem5b480tckdxx9/libssl1.1_1.1.1c-1ubuntu4_amd64.deb wget https://www.dropbox.com/s/vrzyqn140cfz77k/mysql-server_5.7.29-1ubuntu18.04_amd64.deb-bundle.tar tar -xvf mysql-server*.tar dpkg -i libaio1_0.3.112-5_amd64.deb dpkg -i libmecab2_0.996-6_amd64.deb dpkg -i libssl1.1_1.1.1c-1ubuntu4_amd64.deb # touch /etc/mysql/my.cnf.fallback dpkg -i mysql-common_*.deb dpkg -i mysql-community-client* dpkg -i mysql-client* dpkg-preconfigure mysql-community-server_* dpkg -i mysql-community-server*

  • MySQL 5.7在Ubuntu 18.04上移动数据文件目录DATADIR

    注意由于apparmor的存在,以及mysql-systemd-start脚本的影响,导致在Ubuntu上移动MYSQL DATADIR有一些小问题。   步骤0 创建目标目录; 移动数据文件目录,常见的原因有 移动数据到新磁盘或逻辑卷等 例如目标目录路径是 /m01/mysql mkdir -p /m01/mysql chown mysql:mysql /m01 chown mysql:mysql /m01/mysql 步骤1 确认datadir su – root mysql -u root -p select @@datadir; +—————–+ | @@datadir | +—————–+ | /var/lib/mysql/ | +—————–+ 1 row in set (0.00 sec) 关闭MYSQL实例守护进程 systemctl stop mysql 确认状态 systemctl status mysql 步骤2 同步数据文件到新目录 rsync…

  • oracle rac 12.1以后的脑裂brain split evict踢节点算法改进

    oracle 12.1以后RAC发生脑裂时踢节点的算法变了;以前2节点RAC情况下,总是踢不是lower node number(master node)的那个节点;这样一般就是踢2号节点。在12.1以后clusterware维护一个weight权重值,主要是计算每个节点或者说子集群里使用的service和连接这些service的负载情况,这样当发生脑裂时总是踢weight小的节点,即负载轻的节点,保证服务更多用户的节点存活。 具体可以见 文档  12c: Which Node Will Survive when Split Brain Takes Place (Doc ID 1951726.1) 和 Split Brain: What’s new in Oracle Database 12.1.0.2c?      理解 12.1.0.2 开始,脑裂问题发生后,节点保留策略。 在 11.2 及早期版本,在脑裂发生时,节点号小的会保留下来。然而从 12.1.0.2 开始,引入节点权重的概念。从 12.1.0.2 开始,解决脑裂时,权重高的节点将会存活下来。     这里负责计算 权重weigth的函数是 clssnmrCheckNodeWeight  , clssnm 即 Node Monitoring (clssnm.c) – Node monitoring (NM) is…

  • RHEL 7.4装Oracle 11.2.0.4 RAC的一些问题

    cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.4 (Maipo)   一、要安装compat-libcap1.x86_64包: yum install compat-libcap1.x86_64 否则root.sh会因为缺少库文件而报错 clscfg.bin: error while loading shared libraries: libcap.so.1: cannot open shared object file: No such file or directory Failed to create keys in the OLR, rc = 127, Message: Failed to write the checkpoint:” with status:FAIL.Error code is 256  …

  • ORA-00600 12807 Oracle建表失败

    若在使用Oracle过程中遇到ORA-00600: internal error code, arguments: [12807], [], [], [], [], [], [], [] 错误 ,特别是 金蝶EAS 应用 使用过程中遇到该错误;则说明可能该Oracle数据库的CON$约束基础表的上限耗尽。该错误会导致后续无法创建任何表和临时表。     针对该问题,一般需要通过打PATH后者重建数据库解决。25343563 : MECHANISM TO REUSE CON# , CON$表上的CON# 可重用。   对于特别大的数据库和停机时间较短的数据库,诗檀软件可以提供快速恢复服务。   Bug 13781691  ORA-600 [12807] if CON$.CON# very high due to bug 13784384 Affects: Product (Component) Oracle Server (Rdbms) Range of versions believed to be affected (Not…

  • Devos加密病毒的oracle数据库恢复

    某用户的oracle数据库因devos后缀加密病毒devos ransomware malware ,数据文件被全部加密:   该加密病毒的后缀为 SYSTEM01.DBF.id[2245DCEC-2700].[[email protected]].Devos, 针对该病毒可以基于prm-dul恢复工具来恢复其中的数据,演示视频可以参考: https://zcdn.parnassusdata.com/prm%20dul%20recover%20malware%20ransomware%20corrupted%20oracle%20datafile.mp4  

  • PRM-DUL 绿色版自带JAVA运行环境

    PRM-DUL 绿色版自带JAVA运行环境 https://zcdn.parnassusdata.com/DUL5108rc8_java.zip  

  • Oracle中的SYS_NC00$ SYS_C000$ SYS_STU SYS_STS 和虚拟字段

    SYS_NC00是一种系统自动生成的辅助列,在Oracle 12c以后大量出现在用户表中,其主要伴随一下这些功能出现:   row archival; create index t_i on t(upper(v)); 函数索引 alter table xxx add (b integer default 1);  default 值   property: 0x0008 = virtual column(old) 0x0020 = hidden column(old) 0x00010000 = expression column(new) default$: is overloaded to store index expression name: is system generated. It is SYS_NC<5 digit intcol#>$   SYS_C000$ 伴随以下功能出现:  …