Oracle数据库概述
1 oracle的数据模式是:用户建在数据库实例上,表建在用户上
不同数据库实例可以建相同的用户;
同一个数据库实例,用户名不能相同;
一个用户可以使用多个表空间;
一个表空间可以被多个用户所使用;
表的权限是和用户绑定的;
表空间不涉及任何权限控制问题;
不同用户可以在表空间上创建同名表,但是此时不能为同名表创建同义词了;
oracle数据库权限控制是在用户,角色和数据对象之间控制的,和表空间没有关系;
2 一个用户的表就象自己的私有财产一样,没有自己或管理员授权别的用户是不可见的,更不可能进行相关任何操作;
3 对于不同用户下的同名表,都是独立的数据对象,如user1.table1和user2.table1是相互独立的,
用户分别操作自己的表是不影响其他用户的;
4 对于同一用户下的同一个表,所有有权限的用户对其进行数据操作时,是会相互影响的,如对user1.table1来说,
user1修改了它的一行,user2又对该表的该行进行了修改,那么该表的该行的实际内容是在user1修改后基础上user2修改的结果
(注意,所有修改以最后成功提交修改请求的用户的内容为准),多个用户对同一个用户下的同一个表的同时修改和锁定会造成锁等待
5.表空间是Oracle数据库逻辑组织结构,类似于编程语言中的命名空间;
数据文件时oracle数据库的物理形式;
表空间可以有多个物理文件;
但是一个物理文件只可能属于某一个表空间;
表数据在表空间上的分布是不规则的,可能分散在多个物理文件上;
6.建议遵循的规则是:
创建用户时指定默认表空间和临时表空间;创建表时不要指定表空间,使用用户默认表空间;避免数据存储混乱,难以备份;
表空间:此空间是用来进行数据存储的(表、function、存储过程等),所以是实际物理存储区域。
临时表空间:主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索 引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。
备注:因为用途不同所以才有了区分,实际上数据库都是有默认临时空间的,但实际应用中很难满足需求,所以才需要自己创建临时空间。
oracle 数据库就是指的oracle 整体,一般一个机器上只安装一个oracle数据库 oracle建立好以后,实际上oracle是一个一个的DBF文件,然后N个DBF文件组成一个表空间 你的表就建立在表空间下,比如我举个例子: 一个数据库叫jack, jack下用户使用的表空间有3个: users , abc, jacc 其中 users由d:\1.dbf组成 abc由d:\11.dbf d:\22.dbf组成 jacc 由 d:\jacc.dbf组成 你建的表可以选择放在这3个表空间的任意一个里(如果不写,就放在你这个用户的默认表空间里,一般都是users,这个表空间是系统自己建立的) 临时表空间你也可以用,但是只能将临时表放在里面,临时表空间主要放置一些临时数据,比如你查询一个复杂的sql语句,系统会将中间数据放在临时表空间里暂存 临时表空间会自己删除(可以选择会话结束就删除)