oracle数据库,表空间和表之间是什么关系?

pym_ah 2009-11-14 10:31:41
大家好!
公司在上一个项目,要用到oracle,之前一直都是用的sqlSERver,现在突然用oracle,感到无从下手,连最基本的链接数据库,建数据库,建表都不知道该从哪里开始,于是上网查了资料被里面的名词比如说“表空间”弄的晕头转向的,以前对sqlserver的认识发现在oracle上不适用了,谁能帮我解释一下oracle数据库中“数据库,表空间和表”这三个名词之间的关系。
另外,怎样在oracle数据库中建数据库,表空间和表。
不甚感激!
...全文
30986 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
冬天_下雪 2012-10-24
  • 打赏
  • 举报
回复
没的说 受教啦 oracle初学者的福音啊
Destiny_Evnoy 2011-12-21
  • 打赏
  • 举报
回复
oracle初学者~帮忙顶贴了~
malun666 2009-12-07
  • 打赏
  • 举报
回复
我也是正在转oracle的初学者。呵呵呵,学习了。很受用。
archwuke1 2009-11-14
  • 打赏
  • 举报
回复
还忘记了说一个连接到数据库

oracle服务器端不用说,客户端要用这些工具连到数据库
通常都还必须安装oracle的客户端软件

安装以后,在程序组里面有一个net manager,要配一个 "服务命名"大概是这个名字吧,家里装了个xe版,没这个图形工具
反正就是用一个字符串对应上服务器的ip和端口(缺省为1521)
然后在那些工具里就是用这个字符串来代表服务器了


这个图是pl/sql developer的

而用dos命令行工具sqlplus,则是用 sqlplus 用户名/密码@xe 这样来登录
John_Hee 2009-11-14
  • 打赏
  • 举报
回复
学习了
archwuke1 2009-11-14
  • 打赏
  • 举报
回复
toad最大,功能估计也最强吧,
对用惯了sqlserver查询分析器那简约界面的人来说,能把你的眼看花,个人不太喜欢

而且没见过有汉化的
archwuke1 2009-11-14
  • 打赏
  • 举报
回复
我也是oracle新手
我说下我初从sqlserver接触oracle最疑惑的问题说下,也许对楼主有帮助

首先是建表
在sqlserver2000(不好意思,本人只用过2000)服务运行后,里面可以有好几个数据库(包括temp,pubs什么的)
我们可以自己建库和这些并列,一个库可以有好几个不同的数据文件,可以放在不同的驱动器里面,然后在库里面建表,根据我个人的理解,谁建的表关系不大,反正都在这个库里面

而oracle就不同了,他一个服务就是一个库,库下面是表空间,一个表空间可以有几个不同的数据文件,这点有点象sqlserver的库,然后就是表了,oracle里的表,每个用户有个缺省的表空间,也就是说这个用户建的表会在这个表空间里面,a用户建的表ta,用a用户登录可以直接select * from ta这样访问,而其他用户(有权限的)要用select * from a.ta这样来访问

下面说说工具
我接触过三种,
toad
pl/sql developer (这个最小,才20m不到,有汉化,不过最新的8版,汉化不全,功能不弱)
Oracle自己的 oracle SQL Developer(大概200m)
前两种不是免费软件,当然国内有破解,咱就不说了
第三个是oracle自己出的类似于查询分析器的免费工具,而且有中文版
个人感觉功能对新手来说足够了
可以在官网下载
http://www.oracle.com/technology/global/cn/products/database/sql_developer/index.html

再配合上命令行的工具sqlplus就好了
fyqwork 2009-11-14
  • 打赏
  • 举报
回复
也有企业管理器的,可以直接建
pym_ah 2009-11-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wwwtyb 的回复:]
怎样在oracle数据库中建数据库,表空间和表。
1 建立数据库最简单的是使用DBCA,在DOS里面使用命令"DBCA"即可

2 表空间建立
SQL code--创建临时表空间createtemporary tablespace test_temp
tempfile'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'
size 32m
autoextendonnext 32m maxsize 2048m
extent management local;--创建数据表空间create tablespace test_data
logging
datafile'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf'
size 32m
autoextendonnext 32m maxsize 2048m
extent management local;--创建用户并指定表空间createuser username identifiedby passworddefault tablespace test_datatemporary tablespace test_temp;

3 创建表就简单了,和SQL Server 是一样的

[/Quote]


楼上说的能不能再详细些,最好把详细步骤给列出来,另外,oracle有没有图形用户界面?
duanzhi1984 2009-11-14
  • 打赏
  • 举报
回复
我觉得吧!表空间就像是把表分类了。。。一个数据库有很多表空间,一个表空间可以有很多的表
wwwtyb 2009-11-14
  • 打赏
  • 举报
回复
怎样在oracle数据库中建数据库,表空间和表。
1 建立数据库最简单的是使用DBCA,在DOS里面使用命令"DBCA"即可

2 表空间建立

--创建临时表空间
create temporary tablespace test_temp
tempfile 'E:\oracle\product\10.2.0\oradata\testserver\test_temp01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

--创建数据表空间
create tablespace test_data
logging
datafile 'E:\oracle\product\10.2.0\oradata\testserver\test_data01.dbf'
size 32m
autoextend on
next 32m maxsize 2048m
extent management local;

--创建用户并指定表空间
create user username identified by password
default tablespace test_data
temporary tablespace test_temp;


3 创建表就简单了,和SQL Server 是一样的
wwwtyb 2009-11-14
  • 打赏
  • 举报
回复
一、数据库

数据库顾名思义是数据的集合,而Oracle则是管理这些数据集合的软件系统,它是一个对象关系型的数据库管理系统。

二、表空间

表空间是Oracle对物理数据库上相关数据的逻辑映射。一个数据库在逻辑上被划分成一到若干个表空间,每个表空间包含了在逻辑上相关联的一组结构。每个数据库至少有一个表空间(称之为system表空间)。

每个表空间由同一磁盘上的一个或多个文件组成,这些文件叫数据文件(datafile)。一个数据文件只能属于一个表空间。

三、实例

每一个运行中的数据库都对应着一个Oracle实例。当服务器上的Oracle数据库启动时,Oracle首先会在内存中分配一片区域-称之为System Global Area(SGA),然后启动一个或多个的Oracle进程。

SGA和这些进程合起来就称为一个Oracle的实例。实例中的内存和进程管理器用来高效地访问数据库的数据,同时为单个或多个的用户提供服务。

一个数据库可以由多个实例打开,但任何时刻一个实例只能打开一个数据库。多个实例可以同时运行在同一个机器上,它们彼此访问各自独立的物理数据库。
wh62592855 2009-11-14
  • 打赏
  • 举报
回复
表空间其实只是一个逻辑上的概念而已

个人觉得楼主需要首先对ORACLE整个体系结构有个清楚的认识
http://blog.csdn.net/wh62592855/archive/2009/10/16/4683983.aspx

可以参考下上面的链接

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧