欢迎投稿

今日深度:

Oracle的表空间和sqlplus,oraclesqlplus

Oracle的表空间和sqlplus,oraclesqlplus


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


问,Oracle表空间的各个属性分别是什??

不用去理解太多,太过复杂,而且记不住数据库安装完成后,使用SYS用户登录到数据库,创建表空间和用户。
登录的脚本为sqlplus / as sysdba
创建表空间的脚本:
create tablespace project_data datafile 'E:\oracle\product\10.2.0\oradata\project\project_data.dbf' size 4096M AutoExtend On Next 1024M Maxsize 10240M extent management local segment space management auto;
create temporary tablespace project_temp tempfile 'E:\oracle\product\10.2.0\oradata\project\project_temp.dbf' size 2048m autoextend on next 1024m maxsize 10240m extent management local;
如果服务器的硬盘空间不够大,可以适当调小一点参数的大小或者把表空间文件创建到其它空间比较大的硬盘当中。
在实际中,掌握创建表空间和临时空间很重要,要理解这两段,慢慢去着手,希望能帮到你
 

oracle调整表空间

Oracle sql developer 中没有可视化的表空间调整界面,只能用命令的方式。
Oracle的企业管理器中可进行可视化调整。只有11gR2开始才支持表空间缩小,以前的版本只能增加,不能缩小。注:11g后就找不到Oracle企业管理器了。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/2467.html NewsArticle Oracle的表空间和sqlplus,oraclesqlplus 1. 表空间的概念 以前接触过的数据库都没有听到过表空间这个词,在前一段时间看到Oracle数据库的时候发现表空间无处不在。所以表空间在Oracle数据库...
评论暂时关闭