1. 表空间的概念
以前接触过的数据库都没有听到过表空间这个词,在前一段时间看到Oracle数据库的时候发现表空间无处不在。所以表空间在Oracle数据库中应该是一个很常用并且很重要的概念。
表空间是一种逻辑上的概念,逻辑上的存储单元。那么什么叫做逻辑上的存储单元呢。现在通过两张图来对比
表空间(table space)是Oracle数据库中最大的逻辑结构。从逻辑上说,Oracle数据库是由若干个表空间组成的。表空间与数据库的物理结构有着十分密切的关系,它与磁盘上若干个数据文件相对应。
从物理上说数据库的数据被存放在数据文件中,从逻辑上说数据是被存放在表空间中。
表空间这个概念是面向用户的,当我们使用Oracle数据库的时候会发现我们都是创建表空间,然后再表空间里面创建数据库对象的。而我们不会创建数据文件,然后再在数据库文件中创建数据库对象。
2. Sql plus
第一次连接Oracle的时候发现没有可视化的操作界面,而是通过sql * plus命令在dos中进行操作的。所以在介绍一个sql plus。
Oracle的sql*plus是与oracle进行交互的客户端工具,借助sql*plus可以查看、修改数据库记录。在sql*plus中,可以运行sql*plus命令与sql语句。SQLPLUS是ORACLE公司的随机安装产品
现在有很多Oracle的客户端是很好用的,比如PL/SQL,提供了可视化的图形界面,很方便操作,在网上找了一篇介绍网页版的客户端大家有兴趣可以学学看:http://blog.csdn.net/ggibenben1314/article/details/38237279
3. 使用sql*plus命令登陆数据库(针对的是Oracle 11g)
使用oracle首先要登录到oracle数据库中。在Oracle数据库安装好之后就有两个系统内置的用户:
用户名 |
密码 |
system |
自己在安装的时候输入的管理口令 |
sys as sysdba |
root |
如果不知道system或者sys 的密码那要如何登陆到系统中
但是登陆的时候还有一个问题,解决方案就是使用sysdba身份登陆
1. 输入sysplus 回车2. 用户名输入 system as sysdba 回车(或者sys as sysdba 回车)
3. 密码什么都不输入直接回车
就可以登录数据库
其中as sysdba 就是以sysdba登录。oracle登录身份有三种:
normal 普通身份
sysdba 系统管理员身份
sysoper 系统操作员身份
每种身份对应不同的权限。
4. 使用sql*plus命令进行一些简单的操作
开始创建数据库表空间,命令格式如下:
create tablespace 表空间名 datafile ‘对应的文件名‘ size 大小;
举例如下:
create tablespacetest_pf datafile ‘D:\testOracle\test_pf.dbf‘ size 300m;
(300m指的是300MB)
其中testOracle需要先创建好,不然会提示数据文件不存在。
创建用户
create user 用户名identified by 密码 default tablespace ;(默认表空间)
修改用户的权限:
grant 角色1,角色2 to 用户名;
举例如下:
create user test_user identified by test123 default tablespace test_pf;
grant dba, connect to test_user;
5. 表空间和用户之间的关系
表空间和用户之间是一种多对多的关系,即一个用户可以操作多个表空间,一个表空间可以被多个用户操作。
一个用户只能分配一个默认表空间,但可以分配多个非默认表空间。具体的分配语法
alter user test_pf
quota unlimited on xxx1
quota unlimited on xxx2;
6. 总结
关于Oracle数据库和之前接触过的sql server比起来表空间应该是最大的不一样,但是除了这个概念是新东西之外,其他的很多东西都和其他的数据库是想通的,所以虽然是刚开始接触这个他,但是和之前的知识联系起来不会很难的。