首页 > 代码库 > Oracle的表空间和sqlplus

Oracle的表空间和sqlplus

1.  表空间的概念

     以前接触过的数据库都没有听到过表空间这个词,在前一段时间看到Oracle数据库的时候发现表空间无处不在。所以表空间在Oracle数据库中应该是一个很常用并且很重要的概念。

     表空间是一种逻辑上的概念,逻辑上的存储单元。那么什么叫做逻辑上的存储单元呢。现在通过两张图来对比



        表空间(table space)是Oracle数据库中最大的逻辑结构。从逻辑上说,Oracle数据库是由若干个表空间组成的。表空间与数据库的物理结构有着十分密切的关系,它与磁盘上若干个数据文件相对应。

         从物理上说数据库的数据被存放在数据文件中,从逻辑上说数据是被存放在表空间中。

       表空间这个概念是面向用户的,当我们使用Oracle数据库的时候会发现我们都是创建表空间,然后再表空间里面创建数据库对象的。而我们不会创建数据文件,然后再在数据库文件中创建数据库对象。

2.  Sql plus

          第一次连接Oracle的时候发现没有可视化的操作界面,而是通过sql * plus命令在dos中进行操作的。所以在介绍一个sql plus。

        Oraclesql*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比起来表空间应该是最大的不一样,但是除了这个概念是新东西之外,其他的很多东西都和其他的数据库是想通的,所以虽然是刚开始接触这个他,但是和之前的知识联系起来不会很难的。