Oracle数据库、实例、用户、表空间、表之间的关系

来源:互联网 发布:eclipse java开发教程 编辑:程序博客网 时间:2024/04/30 01:26
数据库:
Oracle数据库是数据的物理存储。这就包括(数据文件ORA或者DBF、控制文件、联机日志、参数文件)。其实Oracle数据库的概念和其它数据库不一样,这里的数据库是一个操作系统只有一个库。可以看作是Oracle就只有一个大数据库。
实例:
一个Oracle实例(OracleInstance)有一系列的后台进程(BackguoundProcesses)和内存结构(MemoryStructures)组成。一个数据库可以有n个实例。
用户:
用户是在实例下建立的。不同实例可以建相同名字的用户。就是一个登陆的名,当然得有密码,它跟表空
间是多对多的关系的,但我们在创建用户时一般都指定默认表空间的,若不指定用户默认表空间的话,则用户每次创建数据库对象的时候,都要指定表空间,太麻烦
表空间:
表空间是一个用来管理数据存储逻辑概念,表空间只是和数据文件(ORA或者DBF文件)发生关系,数据文件是物理的,一个表空间可以包含多个数据文件,而一个数据文件只能隶属一个表空间。数据文件(dbf、ora):
数据文件是数据库的物理存储单位。数据库的数据是存储在表空间中的,真正是在某一个或者多个数据文件中。而一个表空间可以由一个或多个数据文件组成,一个数据文件只能属于一个表空间。一旦数据文件被加入到某个表空间后,就不能删除这个文件,如果要删除某个数据文件,只能删除其所属于的表空间才行。
角色:每个用户都有角色,它决定了该用户有什么权限,比如DBA,拥有最高权限表:这个就不用说了吧,但要说明的是一个表只能属于一个表空间
注:
表的数据,是有用户放入某一个表空间的,而这个表空间会随机把这些表数据放到一个或者多个数据文件中。由于oracle的数据库不是普通的概念,oracle是有用户和表空间对数据进行管理和存放的。但是表不是有表空间去查询的,而是由用户去查的。因为不同用户可以在同一个表空间建立同一个名字的表!这里区分就是用户了!关系示意图:





Oracle数据库可以创建多个实例,每个实例可以创建多个表空间,每个表空间下可以创建多个用户(同时用户也属于表空间对应的实例)和数据库文件,用户可以创建多个表(每个表随机存储在一个或多个数据库文件中)操作1:
安装Oracle后会有默认的实例,即ORCL。一般不创建多个实例,在默认实例下创建表空间和用户等。1,运行CMD进入DOS界面,首先输入:sqlplus,回车;再输入:sys/sysassysdba,回车,即进入“SQL〉”操作状态。
2,输入:CREATETABLESPACE表空间名称LOGGINGDATAFILE'c:\表空间数据文件.ora'SIZE500Mautoextendonnext200mmaxsize2048m;,表空间创建完成。
3,输入:CREATEUSER用户名称PROFILEdefaultIDENTIFIEDBY用户密码DEFAULTTABLESPACE授权访问的表空间名称TEMPORARYTABLESPACEtempACCOUNTUNLOCK;,用户创建完成,并授权用户访问某表空间。


具体操作如下图所示:


操作2:
创建表和插入数据,并查询浏览插入的数据。1,创建表,输入:createtable表名(字段名称1字段类型,字段名称2字段类型,字段名称3字段类型);,回车。
2,插入数据,输入:insertinto表名(字段1,字段2,字段3)VALUES(值1,值2,值3);,回车。3,查询数据,输入:select*from表名;,回车。具体操作如下图所示:






0 0
原创粉丝点击