Oracle 创建表空间,表,以及用户

摘要

Oracle要创建表要首先创建表空间,当然默认是有表空间的。而mysql创建表时,会自动创建表空间,myisam会自动建三个件.MYD,.MYI,.frm。innodb呢,如果没有配置独立表空间的话,

oracle要创建表要首先创建表空间,当然默认是有表空间的。而mysql创建表时,会自动创建表空间,myisam会自动建三个文件.MYD,.MYI,.frm。innodb呢,如果没有配置独立表空间的话,默认表空间ibdata1,oracle用户权限根着表空间走的,而mysql不是,mysql服务器端安装好后,会自动带上一个mysql数据库,用户的权限是记录在mysql这个数据库的表中。在这方面二种数据库设计的理念不同。

1,创建临时表空间

  1. SQL> create temporary tablespace test_temp   
      tempfile '/opt/ora10/oradata/test/test_tmp.dbf'  
      size 32m   
      autoextend on   
      next 32m maxsize 148m   
      extent management local;   
      Tablespace created.

2,创建表空间

  1. SQL> create tablespace test_data   
       logging   
       datafile '/opt/ora10/oradata/test/test_data.dbf'  
       size 32m   
       autoextend on   
       next 32m maxsize 148m   
       extent management local;   
      
    Tablespace created.

3,创建表用户,并表空间分配给用户

  1. SQL> create user tank identified by tank   
       default tablespace test_data   
       temporary tablespace test_temp;    
      
    User created

4,查看创建的表空间

  1. SQL> select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size   
        from dba_tablespaces t, dba_data_files d where   
       t.tablespace_name = d.tablespace_name group by t.tablespace_name;
  2. TABLESPACE_NAME           TS_SIZE   

  3. ------------------------------ ----------   

  4. SYSAUX                      240   

  5. UNDOTBS1                   25   

  6. TEST_DATA                   32   

  7. USERS                        5   

  8. SYSTEM                      480  

5,查看临时表空间

  1. SQL> select sum(bytes)/1024/1024 "temp size(M)" from dba_temp_files where tablespace_name='TEST_TMP'
  2. temp size(M)   

  3. ------------  

6,将表空间的部分操作权限分配给用户

  1. SQL> grant connect,resource,imp_full_database,exp_full_database, dba to user;
  2. Grant succeeded.  

7,resource这是一个权限组,有这个组就不要一个一个加了。

  1. SQL> select GRANTEE,PRIVILEGE from DBA_SYS_PRIVS where GRANTEE ='RESOURCE'
  2. GRANTEE                PRIVILEGE   

  3. ------------------------------ ----------------------------------------   

  4. RESOURCE               CREATE TRIGGER   

  5. RESOURCE               CREATE SEQUENCE   

  6. RESOURCE               CREATE TYPE   

  7. RESOURCE               CREATE PROCEDURE   

  8. RESOURCE               CREATE CLUSTER   

  9. RESOURCE               CREATE OPERATOR   

  10. RESOURCE               CREATE INDEXTYPE   

  11. RESOURCE               CREATE TABLE   

  12.   

  13. 8 rows selected.  

以下操作我都是能以tank这个用户进行操作的


9,创建表

  1. create table test(   
    id  number(10) not null primary key,   
    name varchar(2) null ,   
    city number(1) null   
    );

10,创建临时表

  1. CREATE  GLOBAL  TEMPORARY  TABLE  test1  (   
    id  number(10) not null primary key,   
    name varchar(2) null ,   
    city number(1) null   
    );

11,查看表

  1. SQL> select distinct table_name from user_tables;
  2. TABLE_NAME   

  3. ------------------------------   

  4. TEST   

  5. TEST1   

  6.   

  7. //或者    

  8. SQL> select table_name from dba_tables where owner='TANK
  9. TABLE_NAME   

  10. ------------------------------   

  11. TEST   

  12. TEST1  


IT家园
IT家园

网友最新评论 (0)