解决方案 »

  1.   

    数据库由几类文件组成
    而这些文件在使用过程中,会加载到某台服务器的内存中,和各类进程协同工作。内存+进程=实例
    通过具备一定权限的用户来操作数据,用户数据(表)存放在表空间中,表空间是一个逻辑概念,在硬盘上对应某几个数据文件,数据文件常见的格式有dbf,ora(格式无关紧要,只是名称问题)
    一个表空间若包含多个数据文件,则这个表空间中的某张表,数据可能会分布在多个文件中
      

  2.   

    数据库用户的相关信息是存储在数据库字典表里头的,数据库打开,实例启动以后,才能从字典表里读出用户和对应的权限。实例在open以前,user是不存在的
      

  3.   

    oracle的这些东西本来就不太好理解;
      

  4.   

    多实例环境下,数据库软件(ORACLE_HOME)可以是一个,但和实例相关的文件都是单独的、加实例名称(ORACLE_SID)来区分的,如保存配置的 spfile 的名称 spfile$SID.ora, 保存具有 sysdba 权限的用户名和密码的 pwd 文件的,名称为 pwd$SID.ora。就是说每个实例分别维护自己的用户,不能混用。就你给出的情况来说,k 用户是没有访问 b 实例/数据库的权限的。多实例环境下,本地访问数据库之前,设置 ORACLE_SID 环境变量是非常重要的。