日期:2014-05-17  浏览次数:20857 次

ORACLE中数据库和表空间之间的关系!
请问一下..我才安装了oracle9i
但是始终是建立不了新的数据库!!!

不知道这样的说法是否正确!

1.oracle中没有数据库的概念,oracle中存储数据是通过 表空间来存储
2.基于第1问,所以如果想像其他数据库一样存储应用数据的步骤:
  2.1 在安装时候的初始化数据库中通过Sysdba建立新的表空间 room1.
  2.2 然后建立 user1
  2.3 把 room1 授权给 user1
  2.4 user1再在room1中新建表!

请问一下上面的2种说法正确吗(如有问题请指出啊)?
 

------解决方案--------------------
基本差不多。
表空间是个内部逻辑概念,真实对应的是数据文件,是个物理文件。
------解决方案--------------------
楼主是否熟悉 sql server ?


1.oracle中没有数据库的概念,oracle中存储数据是通过 表空间来存储 
=================================================================
oracle 中有数据库,不过,不同于 sql server 的是,oracle 的一个实例只有一个数据库。数据库系统的基本信息也保存在这个数据库中,不像 sql server 保存在单独的 master 数据库中。

2.表空间的概念非常类似于 sql server 的文件组。



------解决方案--------------------
不太明白,我也在为这个问题思考。简单的说,就是SQL SERVER中的数据库和表分别对应ORACLE中的什么?比如SQL SERVER建立一个数据库,那么一定有一个对应的物理文件MDF,然后在这个数据库上建物理表,比如用户信息表什么的。上述2个最重要的步骤分别对应ORACLE的哪个步骤呢?
------解决方案--------------------
本人也正在从SQL SERVER转向ORACLE,首先碰到的就是概念区别问题
------解决方案--------------------
探讨
不太明白,我也在为这个问题思考。简单的说,就是SQL SERVER中的数据库和表分别对应ORACLE中的什么?比如SQL SERVER建立一个数据库,那么一定有一个对应的物理文件MDF,然后在这个数据库上建物理表,比如用户信息表什么的。上述2个最重要的步骤分别对应ORACLE的哪个步骤呢?

------解决方案--------------------
用网页版的isql*plus创建你的数据,网址一般为http://机器名.config:5560/isqlplus

SQL*Plus是Oracle提供的一个工具程序,它不仅可以用于运行,调试SQL语句和PL/SQL块,而且用于管理Oracle数据库。

可以在命令行下运行,也可以在windows窗口环境中运行:

1。在命令行运行SQL*Plus
使用sqlplus命令:

    sqlplus [username] / [ password] [@server] [AS SYSDB | AS SYSOPER]

  其中server是指定网络服务名,AS SYSDB表示以SYSDB 特权登陆,AS SYSOPER是表示以SYSOPER特权登陆。
  当连接到本地数据库时不用指定网络服务名。

2。在windows环境中运行SQL*Plus
   在SQL Plus中,“主机字符串”处填入网络服务名

 iSQL*Plus是SQL*Plus在浏览器中的实现方式。

1。使用前首先在服务器上启动iSql*Plus服务器
命令行中输入 isqlplusctl start,或者在“服务”中启动OracleOraDb10g_home1iSQL*Plus服务

2。URL地址:http://hostname:port/isqlplus
默认端口号为5560
------解决方案--------------------
引用楼主 dsgdsg 的帖子:
请问一下..我才安装了oracle9i
但是始终是建立不了新的数据库!!!

不知道这样的说法是否正确!

1.oracle中没有数据库的概念,oracle中存储数据是通过 表空间来存储
2.基于第1问,所以如果想像其他数据库一样存储应用数据的步骤:
2.1 在安装时候的初始化数据库中通过Sysdba建立新的表空间 room1.
2.2 然后建立 user1
2.3 把 room1 授权给 user1
2.4 user1再在room1中新建表!

请问一下上面的2种说…

------解决方案--------------------
oracle是有数据库,就是实例
两者的区别我觉得应该从用户来说
Oracle的用户就是一个Schema(方案)
所有的表都是属于不同的用户,一个用户要访问另一个用户的表,必须授权
而SQL Server的表却是在数据库下创建
它并不属于某个用户,具体的用户的授权是怎样,我就不太清楚了
------解决方案--------------------
oracle 的结构是 实例->用户->表,表是从属于某个用户的
sqlserver 的结构是 实例-〉库-〉表,用户与 库,表 独立
------解决方案--------------------
所以oracle下是 建表空间 ,建用户,设置用户的默认表空间,在用户下建表
sqlserver 下是 建库,在库下建表,建用户,设置用户访问库的权限,