• oracle下的数据库实例、表空间、用户及其表的区分


    oracle数据库组成:

    由oracle数据库和数据库实例两部分组成;

    数据库是指一系列数据文件的集合,数据库实例则是oracle后台进程/线程以及在服务器分配的共享内存区;

    查询当前数据库名

    1 SQL> select name from v$database;
    2 
    3 NAME
    4 ---------
    5 ORCL

    查询当前数据库实例名

    数据库实例名(instance_name)用于对外部连接。在操作系统中要取得与数据库的联系,必须使用数据库实例名。比如我们作开发,要连接数据库,就得连接数据库实例名:

    SQL> select instance_name from v$instance;
    
    INSTANCE_NAME
    ----------------
    orcl

    表空间

    Oracle数据库是通过表空间来存储物理表的,一个数据库实例可以有N个表空间,一个表空间下可以有N张表。

    有了数据库,就可以创建表空间。

    表空间(tablespace)是数据库的逻辑划分,每个数据库至少有一个表空间(称作系统表空间)。为了便于管理和提高运行效率,可以使用一些附加表空间来划分用户和应用程序。例如:用户表空间供一般用户使用,RBS表空间供回滚段使用。一个表空间只能属于一个数据库。

    创建表空间语法:

    Create TableSpace 表空间名称  
    DataFile          表空间数据文件路径  
    Size              表空间初始大小  
    Autoextend on

    如:

    create tablespace db_test  
    datafile 'D:oracleproduct10.2.0userdatadb_test.dbf'  
    size 50m  
    autoextend on;

    查看已经创建好的表空间:

    SQL> select default_tablespace, temporary_tablespace, d.username  from dba_users d;
    
    DEFAULT_TABLESPACE             TEMPORARY_TABLESPACE           USERNAME
    ------------------------------ ------------------------------ --------------------------------------------------------------------------------------------------------------------------------
    USERS                          TEMP                           ORACLE_OCM
    USERS                          TEMP                           C##WEN
    USERS                          TEMP                           OJVMSYS
    USERS                          TEMP                           SYSKM
    USERS                          TEMP                           XS$NULL
    USERS                          TEMP                           GSMCATUSER
    USERS                          TEMP                           MDDATA
    USERS                          TEMP                           SYSBACKUP
    USERS                          TEMP                           C##BINB
    USERS                          TEMP                           DIP
    USERS                          TEMP                           SYSDG

    用户

    Oracle数据库建好后,要想在数据库里建表,必须先为数据库建立用户,并为用户指定表空间。

    上面我们建好了数据库和表空间,接下来建用户:

    创建新用户:

    CREATE USER          用户名  
    IDENTIFIED BY        密码  
    DEFAULT TABLESPACE   表空间(默认USERS)  
    TEMPORARY TABLESPACE 临时表空间(默认TEMP) 

    如:

    CREATE USER utest  
    IDENTIFIED BY utestpwd  
    DEFAULT TABLESPACE db_test  
    TEMPORARY TABLESPACE temp;

    有了用户,要想使用用户账号管理自己的表空间,还得给它分权限:

    GRANT CONNECT TO utest;  
    GRANT RESOURCE TO utest;  
    GRANT dba TO utest;--dba为最高级权限,可以创建数据库,表等。

    查看数据库用户:

    select  * from dba_users;

    有了数据库,表空间和用户,就可以用自定义的用户在自己的表空间创建表了。有了表,我们可以开发了。

  • 相关阅读:
    mysql 基础sql语句
    mysql存储引擎概述
    docker命令总结
    python链接postgresql
    Log4.net示例
    postgresql 使用游标笔记
    npm常用命令
    Nginx命令
    Ubuntu命令总结
    NHibernate总结
  • 原文地址:https://www.cnblogs.com/archer-wen/p/9426981.html
Copyright © 2020-2023  润新知