我是从SQL server 那边转向 Oracle的,有些问题不是很明白。
在SQL Server中,装好SQL Server之后,启动了MSSQL服务就可以通过企业管理嚣在里面修建数据库并使用了,无论创建多少个数据库,都要启动那一个服务就可以访问到了。
而在Oracle中,安装时使用默认实例名orcl,装好之后,它就启动了OracleDBConsoleorcl, OracleJobSchedulerORCL,OracleServiceORCL和其它的一些服务,当我创建一个新的数据testdb里,它又给我新建立了三个服务OracleDBConsoletestdb,OracleJobSchedulerTESTDB,OracleServiceTESTDB,那么我就有这么一个疑问了。
究竟orcl是什么东西?是一个实例,还是一个数据库?还是oracle中实例就等于数据库?
如果数据库就等于实例,那么每创建一个实例,都得创建一套(上术三个)服务了?那要是我一个软件要同时用到里面的多个数据库,那不是很惨?光服务就吃光我的内存了。
请高手指点。

解决方案 »

  1.   

    实例=后台进程+内存结构
    数据库=数据文件的集合
    orcl是实例
    找些基础的管理资料了解Oracle的体系结构就明白了
    Oracle有物理结构和逻辑结构
    物理结构就是数据文件的结构体系
    逻辑结构就是表空间、段、区间、块
      

  2.   

    每创建一个实例,都得创建一套(上术三个)服务了
    对的,
    oracle的数据库跟sql里的数据库不一样的。
    你说的一个软件用到里面的多个数据库那是在sql server里的概念。在oracle可以分用户创建不用的表实现
      

  3.   

    数据库不等于实例。
    sql server 下,一个数据库可以管理多个数据库,oracle 下一个实例仅能管理一个数据库。
    但 oracle 在集群环境下,多个实例(位于不同的服务器)可以管理同一个数据库。虽然 sql server 可以实现一个实例管理多个数据库,但在生产环境下,很少这样使用的。sql server 的多个数据库更多的体现在 master,tempdb 这些用于保存系统管理的信息数据库上,而 oracle 中这些信息是保存在控制文件和数据库的系统表中的。