Oracle + x86/64 Enterprise Linux(包括redhat、centos、oracle linux)兼容矩阵

Oracle + x86/64 Enterprise Linux(包括redhat、centos、oracle linux)兼容矩阵

注意所谓认证兼容是官方给出的组合certifications ,在这个certifications基础上安装出了问题,官方给出solution来解决。对于不满足certifications的组合,可以认为oracle官方不支持这种安装组合。

注意10.2.0.5不认证linux 6,但实际可以安装上去 ,详见:http://www.askmaclean.com/archives/%E5%9C%A8oracle-linux-6-5%E4%B8%8A%E5%AE%89%E8%A3%85oracle-10gr2-%E7%9A%84%E6%9C%80%E4%BD%B3%E5%AE%9E%E8%B7%B5%E3%80%90maclean%E7%89%88%E3%80%91.html

oracle+linux

数据岛 dbdao.com IT技术学习 Oracle + x86/64 Enterprise Linux(包括redhat、centos、oracle linux)兼容矩阵
www.dbdao.com Linux 3 Linux 4 Linux 5 Linux 6 Linux 7
oracle 10.2.0.1 认证兼容的 认证兼容的 认证兼容的 不认证兼容的 不认证兼容的
oracle 10.2.0.5 认证兼容的 认证兼容的 认证兼容的 不认证兼容的 不认证兼容的
oracle 11.2.0.1 不认证兼容的 认证兼容的 认证兼容的 不认证兼容的 不认证兼容的
oracle 11.2.0.3 不认证兼容的 认证兼容的 认证兼容的 认证兼容的 不认证兼容的
oracle 11.2.0.4 不认证兼容的 认证兼容的 认证兼容的 认证兼容的 认证兼容的
oracle 12.1.0.2 不认证兼容的 不认证兼容的 认证兼容的 认证兼容的 认证兼容的

Oracle server + Windows兼容性矩阵

Oracle server+ Windows兼容性矩阵,不考虑windows vista 是因为实际使用的人太少了

dbdao2+oracle+windows

Oracle + Windows兼容性矩阵
Windows 2000 Windows XP Windows 2003 Windows 7 Windows 2008 Win 8 Win 8.1
oracle 10.2.0.1 认证兼容的 认证兼容的 不认证兼容的 不认证兼容的 不认证兼容的 不认证兼容的 不认证兼容的
oracle 10.2.0.5 认证兼容的 认证兼容的 认证兼容的 认证兼容的 认证兼容的 不认证兼容的 不认证兼容的
oracle 11.2.0.1 不认证兼容的 认证兼容的 认证兼容的 认证兼容的 认证兼容的 不认证兼容的 不认证兼容的
oracle 11.2.0.3 不认证兼容的 认证兼容的 认证兼容的 认证兼容的 认证兼容的 不认证兼容的 不认证兼容的
oracle 11.2.0.4 不认证兼容的 认证兼容的 认证兼容的 认证兼容的 认证兼容的 认证兼容的 认证兼容的
oracle 12.1.0.2 不认证兼容的 不认证兼容的 不认证兼容的 认证兼容的 认证兼容的 认证兼容的 认证兼容的 dbdao.com

dbDao 汪伟华的MySQL初学者入门视频教程

dbDao  汪伟华的MySQL初学者入门视频教程, 观看地址:

http://www.tudou.com/listplay/3EfXnLqpfu0.html

 

 

 

QQ截图20150703112122 QQ截图20150703112114 QQ截图20150703112056

MongoDB 中找出非空的VALUE, NOT NULL

本文地址:http://www.askmaclean.com/archives/mongodb-not-null.html

dbDao 百度贴吧:http://tieba.baidu.com/dbdao

MongoDB技术学习QQ群: 421431253

MongoDB 中找出非空的VALUE, NOT NULL 的方法:

以下的方法能找出所有有某个KEY的Document

db.mycollection.find({"IMAGE URL":{$exists:true}});

 

但仍可能返回 “IMAGE URL”为NULL的值

以下的方法能找出所有某个KEY不为空 NOT NULL的Document

 

db.mycollection.find({"IMAGE URL":{$ne:null}});

 

请注意 $exists 无法利用到索引, 但$NE 可以用上索引, 所以处于性能的考虑尽可能用 $ne:null

oracle中的xs$null账号

本文连接:http://www.askmaclean.com/archives/oracle中的xsnull账号.html

oracle中的xs$null账号在当XML DB安装时被创建,其作为一个内部账号存在,被一些轻量级框架使用(例如APEX和XDB),该用户的名字XS$NULL被硬编码在oracle代码中,注意XS$NULL不是一个真实的用户,仅仅可以被oracle数据库实例使用。XS$NULL没有说明权限,也没有普通用户可以以XS$NULL来认证登陆,当XDB 被删除时其会被移除。

根据note < Removal Of XDB Schema In 11.2.0.4 Does NOT Drop The XS$NULL User (Doc ID 1926066.1)>来看从11.2.0.4/12c开始catnoqm.sql(XDB deinstall script) fail to drop the user XS$NULL.,即删除XDB组建也无法drop user XS$NULL账号。

 

在我的实际测试用startup upgrade,后执行

@?/rdbms/admin/catnoqm.sql

仍可以删除XS$NULL用户:

SYS @ dbDao.com SQL> drop user XS$NULL cascade;

User dropped.

In 11.2 development explicitly added a check in the code to make sure that nobody (not even user SYS) can alter user XS$NULL. This is the expected behaviour. In release 12c this was formalized by raising the new error ORA-28222 “may not modify reserved user”.

11.2中一班也无法alter user该XS$NULL账号。 如果你确实不使用XDB组建,那么直接像我这样把XDB移除就好了。

给Oracle开发者和DBA上的MongoDB课程

mongodb课程

 

给Oracle开发者和DBA上的MongoDB课程

老刘花了6个月时间学习mongodb,尝试把学习oracle的方法和精神用到学习mongodb nosql上,来听听老刘的心得

报名地址: http://t.cn/R2B1GKU

学习目标
MongoDB For Oracle DBA和开发者

  • 了解MongoDB的历史和特点
  • MongoDB与Oracle特性比较
  • MongoDB与Oracle学习曲线比较
  • MongoDB学习方法推荐

课程目标:

  • 了解MongoDB的历史和特点
  • MongoDB与Oracle特性比较
  • MongoDB与Oracle学习曲线比较
  • MongoDB的历史和特点学习方法推荐

 

课程特色:maclean liu老刘花了6个月时间学习mongodb,尝试把学习oracle的方法和精神用到学习mongodb nosql上,来听听老刘的心得

适用人群:对mongodb不了解的任何人

优惠方式:免费

 

 

MongoDB中trace Query跟踪查询的方法

dbDao 百度贴吧:http://tieba.baidu.com/dbdao

MongoDB技术学习QQ群: 421431253

MongoDB中可以使用db.setProfilingLevel的方法来跟踪查询语句,语法为db.setProfilingLevel(level, slowms)。其作用是修改当前数据库的PROFILER级别来让数据库记录更多的性能数据。

LEVEL 参数:制定profiling的级别,0是不跟踪,1代表只跟踪慢的操作,2代表跟踪所有操作。

slowms 参数:设置的时间阈值,大于该阈值则认为查询是慢的SLOW的

设置LEVEL=2可能会少量影响MongoDB性能,由于查询的历史将被记录到日志,所以也可能存在安全风险。

也可以通过设置slowOpThresholdMs参数来指定慢的查询,默认为100ms。

mongod会将大于slowOpThresholdMs指定时间的查询记录到mongod.log日志中。

使用方法:

 

 

 

db.setProfilingLevel(2);
{ "was" : 0, "slowms" : 100, "ok" : 1 }

> db.test.count();
50000

> db.system.profile.find();
{ "op" : "insert", "ns" : "test.test", "query" : { "_id" : ObjectId("55813154648066edd8eda678"), "a" : 48087, "b" : 48088, "c" : 48089, "d" : 48090, "e" : [ 1, 2, 3, 4, 5, 6, 48086 ] }, "ninserted" : 1, "keyUpdates" : 0, "writeConflicts" : 0, "numYield" : 0, "locks" : { "Global" : { "acquireCount" : { "w" : NumberLong(1) } }, "Database" : { "acquireCount" : { "w" : NumberLong(1) } }, "Collection" : { "acquireCount" : { "w" : NumberLong(1) } } }, "millis" : 0, "execStats" : {  }, "ts" : ISODate("2015-06-17T08:35:32.967Z"), "client" : "127.0.0.1", "allUsers" : [ { "user" : "maclean", "db" : "test" } ], "user" : "maclean@test" }

MongoDB INSERT性能测试

MongoDB INSERT性能测试

 

 

 
 startDate=ISODate();
 for(var i=0;i<1000000;i++){db.test.insert({a:1+i, b:i+2, c:i+3, d:i+4, e: [1,2,3,4,5,6,i]})}
 db.runCommand({getLastError:1, j:1, w:1});
 print(ISODate()-startDate);