本人初学ORACLE,请那位师兄帮个忙,说说oracle中数据库,表空间,表,用户和用户权限的关系,还有登陆时为什么 是sysdba,sysdba是什么意思,如果进入自己新建的数据库,并表已建好的表放到自己新建的数据库里。

解决方案 »

  1.   


    /*
    数据库,其实就是物理操作系统文件或磁盘的集合,
    实例:由一组oracle后台进程和线程以及这些进程/线程运行所需要的共享内存组成。
    上面这两个概念是很容易混淆的。
    http://www.dba-oracle.com/oracle_create_database.htm表空间有多个数据文件组成,我们平时建立的表,视图,触发器,过程,自定义函数等,
    添加到表中的数据都是存储在表空间里面的,表空间有段组成,段由区段组成,
    区段由块组成,块是oracle中最小的分配单位,数据就存储在这里,oracle块的大小一般与os有关系。
    http://blog.csdn.net/BOBO12082119/archive/2011/04/07/6307421.aspx用户是我们能够看得到是实际对象,也就是操作数据库对象的人,
    我们是通过将对数据库操作的权限授予角色,再将角色授予用户这个过程,
    来实现管理操作数据库的权限授予用户的,这样做的好处就是,
    不需要每建立一个用户都为其授予同样的权限,而将这些权限集合到一个角色之后,
    不管你建立多少个用户,只需要将这些拥有一定权限的角色授予用户就可以了。*/--oracle 中权限最大的是sysdba,这就是系统管理员,我们创建用户,授权用户就是他来完成的。
    --一般情况下,我们建立用户,只需要授予connect和resource角色就可以了:
    conn system/manager as sysdba;
    create user csdner identified by csdner;
    grant connect,resource to csdner;
    conn csdner/csdner;
    --连接成功之后,我们就可以进行操作了:建表,视图,类型,触发器,过程,等
    --通过查询role_sys_privs,你可以知道connect,resource角色有哪些权限
    SQL> select privilege
      2  from role_sys_privs
      3  where role='CONNECT'
      4  /
     
    PRIVILEGE
    ----------------------------------------
    CREATE VIEW
    CREATE TABLE
    ALTER SESSION
    CREATE CLUSTER
    CREATE SESSION
    CREATE SYNONYM
    CREATE SEQUENCE
    CREATE DATABASE LINK
     
    8 rows selected
     
    SQL> select privilege
      2  from role_sys_privs
      3  where role='RESOURCE'
      4  /
     
    PRIVILEGE
    ----------------------------------------
    CREATE TYPE
    CREATE TABLE
    CREATE CLUSTER
    CREATE TRIGGER
    CREATE OPERATOR
    CREATE SEQUENCE
    CREATE INDEXTYPE
    CREATE PROCEDURE
     
    8 rows selected
      

  2.   


    /*
    可是我怎么知道我是操作的哪一个数据库呢?
    dba身份登录:
    connect as sys
    显示当前数据库名称:
    show parameter db_name;
    or
    select name from v$database;
    或者查看INIT.ORA文件
    */
    /*
    我想在某一个数据库中创建表空间或表应该怎么处理呢?
    如果要操作某个数据,那么你首先的登录到这个数据库;
    假设你的oracle中创建了两个数据库:ora1,ora2
    我们想在ora1数据库里面进行一些操作,如:建表空间,表等
    使用sqlplus连接ora1数据库:
    user name:用户名
    password:密码
    host string:ora1使用pl/sql developer连接到ora1:
    Username:用户名
    Password:密码
    Database:ora1
    Connect as:如果已经登录到sqlplus,并且连接到ora2数据库,那么我们想登录到ora1:
    connect 用户名/密码@ora1
    */
    手动创建数据库
      

  3.   

    oracle概念性的东西太多,不是三言两语说得清楚的
    先买本书看看吧,这样更系统,更全面地了解。
    《Oracle Concepts中英文对照版》
    《Oracle 10g 数据库管理应用与开发》当然,如果英语够牛,下载官方文档阅读是最好的选择。