oracle创建表空间,表及用户

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

1,创建临时表空间

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

2,创建表空间

  1. SQL> create tablespace test_data  
  2.  2  logging  
  3.  3  datafile '/opt/ora10/oradata/test/test_data.dbf'  
  4.  4  size 32m  
  5.  5  autoextend on  
  6.  6  next 32m maxsize 148m  
  7.  7  extent management local;  
  8.   
  9. Tablespace created.  

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

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

4,查看创建的表空间

  1. SQL> select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size  
  2.  2   from dba_tablespaces t, dba_data_files d where  
  3.  3  t.tablespace_name = d.tablespace_name group by t.tablespace_name;  
  4.   
  5. TABLESPACE_NAME           TS_SIZE  
  6. ------------------------------ ----------  
  7. SYSAUX                      240  
  8. UNDOTBS1                   25  
  9. TEST_DATA                   32  
  10. USERS                        5  
  11. SYSTEM                      480  

5,查看临时表空间

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

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

  1. SQL> grant connect,resource to tank;  
  2.   
  3. Grant succeeded.  

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

  1. SQL> select GRANTEE,PRIVILEGE from DBA_SYS_PRIVS where GRANTEE ='RESOURCE';   
  2.   
  3. GRANTEE                PRIVILEGE  
  4. ------------------------------ ----------------------------------------  
  5. RESOURCE               CREATE TRIGGER  
  6. RESOURCE               CREATE SEQUENCE  
  7. RESOURCE               CREATE TYPE  
  8. RESOURCE               CREATE PROCEDURE  
  9. RESOURCE               CREATE CLUSTER  
  10. RESOURCE               CREATE OPERATOR  
  11. RESOURCE               CREATE INDEXTYPE  
  12. RESOURCE               CREATE TABLE  
  13.   
  14. 8 rows selected.  

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

9,创建表

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

10,创建临时表

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

11,查看表

    1. SQL> select distinct table_name from user_tables;  
    2.   
    3. TABLE_NAME  
    4. ------------------------------  
    5. TEST  
    6. TEST1  
    7.   
    8. //或者  
    9. SQL> select table_name from dba_tables where owner='TANK';  
    10.   
    11. TABLE_NAME  
    12. ------------------------------  
    13. TEST  
    14. TEST1 
上一篇:开发者不重视文档:开源项目深受其苦


下一篇:高并发场景下的缓存有哪些常见的问题?