查看Window下默认ORACLE_SID

前提:同一服务器上有多个实例并且均已启动。

若登录时不指定连接串,一般是采用环境变量 ORACLE_SID,WINDOWS系统默认的ORACLE_SID值为最后所安装的实例

1、查看实例名称和ORACLE_SID
在Unix/Linux环境可以 echo $ORACLE_SID 查看ORACLE_SID的值;
Windows环境可以(以我自己的机器为例):
(1)开始—>运行(输入regedit),在HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb10g_home1中有ORACLE_SID的键值(系统默认值),如下图所示:

(2)登陆数据库,通过SQL语句查看(查看当前使用的数据库所对应的实例名称):

SQL>show parameter instance;
SQL>show parameter instance_name;
SQL>select * from v$instance;

2、切换实例

   在CMD窗口下,先修改ORACLE_SID的值(set ORACLE_SID=xxxx,该修改仅对当前CMD窗口有效),接着用同一CMD窗口访问数据库即可。

 

Oracle Sybase Informix 与DB2的比较

DB2数据库与Oracle数据库的比较 
开放性/可移植性 
IBM DB2 UDB在各层面,从网络协议的支持到应用开发程序的编程接口,数据库存储程序及触发器,服务器之间的分布式运作,都是基于最新的国际标准,以确保其开放性及移植性。ORACLE的许多功能都是使用其私有的,非开放性的技术。例如:ORACLEPL/SQL语言是ORACLE私有的。其存储程序语句也不符合ANSISQL及ISOSQL的标准,客户机/服务器的编程接口,ORACLE的SQL*NET也不是根据标准定义的。 
·处理性能 
IBM发明了关系型数据库以及其优化技术,并不断发展,所以DB2在各种性能测试中均占领先地位。IBM有信心能在各种标准的测试环境下超越ORACLE。DB2在高端应用具有过硬的技术,有众多超过1Tera-bytes数据量的用户实例。由于ORACLE限制用户在未经许可的情况下不能公布他们所作的性能测试,故一般用户不易取得ORACLE的比较资料。Oracle超过1Tera-bytes数据量的客户实例很少。 

·并行能力 
DB2的并行版支持位图索引和对象关系,因此,DB2有更好的扩展性和性能。Oracle触发器无法支持并行:在一些特殊的引用完整性(referentialintegrity)的限制下,并行也无法运用:如果表格中有大对象,由于前述的限制(表不能分割),并行也无法运用。总之,Oracle在并行系统中没有实现位图索引和对象关系, 

·分布式数据库 
DB2分布式数据库的处理(如两阶段提交)及连接功能是建立在DB2的核心中,不需要使用其它的产品附件。性能好,易使用,减少开支。ORACLE的分布式功能需要另外购买DistributedOption以及SQL*NET等产品才能实现分布式数据库的连接。 

·异构平台支持 
在异构的环境中,IBM数据库方案简单、更加无缝而且比Oracle的成本低; Oracle的异构网关性能差,当访问异构数据库时,Oracle缺乏全局的优化,导致了过多的数据及网络传输。 

·复制能力 
DB2提供业界最佳效率的和最开放的复制方案;DB2提供自动冲突检测和解决方法。 Oracle只提供自动冲突检测和解决方法的例子程序,用户须对例子程序做定制后来解决复制冲突 

·对电子商务支持 
IBM的Java技术为业界所公认,DB2公认为电子商务基石。DB2提供的JDBC接口,还可用Java语言写储存过程和用户自定义函数 Oracle的Java技术仅局限于数据库和ERP应用。 

·对商业智能支持 
DB2OLAPServer远比Express更易使用和实现。DB2OLAPServer提供读/写能力-这对一些关键性的多维分析扩展应用如:预测和预算,是非常有用的(Express只支持读)。IBM的商业智能解决方案中,拥有数据挖掘(IntelligentMiner)工具。 OracleExpress只支持读的能力,不利于支持预测和预算。Oracle缺乏数据挖掘方面的工具。 

·软件质量与可靠性 
DB2的软件开发实验室早在1994年便已通过ISO9000国际质量管理标准的验证与认可。故DB2的软件质量是所有数据库厂家中可靠性最高,故障率最低的数据库。 ORACLE版本6及版本7在推出后皆需经过无数次修订版升级才能达到一定程度的可用度,这给用户带来极大的不便,并且严重影响到投产系统的可用性及可靠性。

DB2数据库与Sybase数据库的比较 

·开放性/可移植性 
IBMDB2的编程接口遵照ANSI、X/OPEN标准的CLI(CallLevelInterface)及ANSISQL的嵌入式SQL等开放标准。IBMDB2的存储程序和触发器机制则使用最新的SQL国际标准并支持标准的开放语言如C/C++。在DB2CommonServerV2.1.2(1996)以及DB2UDB(1997)中更加入了用Java语言开发存储程序和触发器的功能。 1.编程接口:SYBASE使用的编程接口不是开放的,因为他使用的是自己的OpenClient/OpenServer接口,而不是基于某一标准的接口。2.存储程序(StoredProcedure):由于SYBASE的CLIENT/SERVER技术是80年代开发的,没有使用SQL92等相关的标准,因此编制存储程序和触发器所用的Transact-SQL也是它们自己专用的。 

阅读更多

Centos6.5 安装oracel11g 报Error in invoking target ‘nmo’ of makefie

Error in invoking target ‘nmo’ of makefile “/oracdb/oracle11g/sysman/lib/ins_emagent.mk”

Oracle Server: “Error in invoking target ‘*’ of makefile”
Posted on March 8, 2012
I ran into the following error while trying to install Oracle Server 11.2g on Red Hat Enterprise Linux 5.4:

Error in invoking target ‘nmo’ of makefile ‘/apps/opt/oracle/product/11.2.0/sysman/lib/ins_emagent.mk’. See ‘/u01/apb/oradata/oraInventory/logs/installActions2011-06-25_12-34-54PM.log’ for details.
1
Error in invoking target ‘nmo’ of makefile ‘/apps/opt/oracle/product/11.2.0/sysman/lib/ins_emagent.mk’. See ‘/u01/apb/oradata/oraInventory/logs/installActions2011-06-25_12-34-54PM.log’ for details.
This error specifically references ‘nmo’, but the same error is commonly encountered (with slightly different wording) for other modules.

The error log gives few additional details. There are a bunch of possible causes to this error – here are a few of the most common:

You haven’t installed all of your required prerequisite RPMs correctly, or failed to set up a link that’s causing Oracle to hit a makefile error
You’re trying to install the x84 version of Oracle Server on a 64-bit operating system. This can cause a slew of errors, but if you ignore them the install should still complete.
Incorrect system variables. Some users found that unsetting the variables LD_LIBRARY_PATH and JAVA_HOME can take care of this problem.

Linux 下静默式创建与安装数据实例 方法

静默安装数据库实例 (在oracle 用户安装)
在这里需要配置静默安装数据库响应的模板文件,也是在安装软件包中解压在database下的response 目录下的dbca_rsp 文件,具体配置如下:
[oracle@localhost response]# vim dbca.rsp
[GENERAL]
RESPONSEFILE_VERSION = “11.2.0”
OPERATION_TYPE = “createDatabase”
[CREATEDATABASE]
GDBNAME = “lanmao” #全局数据库的名字
SID = “orcl” # 数据库实例,根据上面的你写的SID 一样的,随便写。
TEMPLATENAME = “General_Purpose.dbc” # 这个可以是默认的模板,不会写默认的,最好是默认,
这里是我们dba 写的,所以就用上。
SYSPASSWORD = “2011@oracle”
SYSTEMPASSWORD = “2011@oracle”
SYSMANPASSWORD = “2011@oracle”
DBSNMPPASSWORD = “2011@oracle” # 前面这四个都可以不管,默认就行
CHARACTERSET = “ZHS16GBK” #编码
NATIONALCHARACTERSET=“UTF8” #编码
[createTemplateFromDB]
SOURCEDB = “myhost:1521:orcl”
SYSDBAUSERNAME = “system”
TEMPLATENAME = “My Copy TEMPLATE”
[createCloneTemplate]
SOURCEDB = “orcl”
TEMPLATENAME = “My Clone TEMPLATE”
[DELETEDATABASE]
SOURCEDB = “orcl”
[generateScripts]
TEMPLATENAME = “New Database”
GDBNAME = “orcl11.us.oracle.com”
[CONFIGUREDATABASE]
[ADDINSTANCE]
DB_UNIQUE_NAME = “orcl11g.us.oracle.com”
NODELIST=
SYSDBAUSERNAME = “sys”
[DELETEINSTANCE]
DB_UNIQUE_NAME = “orcl11g.us.oracle.com”
INSTANCENAME = “orcl11g”
SYSDBAUSERNAME = “sys”

阅读更多