1、Oracle创建数据库表空间思路分析

  1. 创建两个数据库的文件
  2. 创建用户与上面创建的文件形成映射关系
  3. 给用户添加权限

    一、创建两个数据库的文件(monitor.dbf 和monitor_temp.dbf 两个文件)

    1、Window下的操作

    ```sql CREATE TABLESPACE monitor LOGGING DATAFILE ‘E:\app\owner\oradata\orcl\monitor.dbf’ SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL; create temporary tablespace monitor_temp tempfile ‘E:\app\owner\oradata\orcl\monitor_temp.dbf’ size 100m autoextend on next 32m maxsize 500m extent management local;
  1. <a name="jNTGV"></a>
  2. ### 2、Linux下的操作
  3. ```sql
  4. SQL> CREATE TABLESPACE monitor LOGGING DATAFILE 'monitor.dbf' SIZE 100M AUTOEXTEND ON NEXT 32M MAXSIZE 500M EXTENT MANAGEMENT LOCAL;
  5. Tablespace created.
  6. SQL> create temporary tablespace monitor_temp tempfile 'monitor_temp.dbf'size 100m autoextend on next 32m maxsize 500m extent management local;
  7. Tablespace created.
  8. SQL>

image.pngimage.png

二、创建用户与上面创建的文件形成映射关系(用户名为monitor,密码为monitor)

  1. CREATE USER monitor IDENTIFIED BY monitor DEFAULT TABLESPACE monitor TEMPORARY TABLESPACE monitor_temp;
  1. SQL> CREATE USER monitor IDENTIFIED BY monitor DEFAULT TABLESPACE monitor TEMPORARY TABLESPACE monitor_temp;
  2. User created.
  3. SQL>

image.png

  1. monitor为用户名
  2. monitor为用户密码
  3. default tablespace是默认表空间,这里设置成上面创建的表空间
  4. temporary tablespace是临时表空间
  5. quote设置用户在表空间上占用的空间大小。如果不指定默认表空间,Oracle会将SYSTEM表空间指定为用户的默认表空间;如果没有用quota子句,用户在特定表空间的配额为0,用户不能在该表空间上创建数据对象。(以上没有使用)
  6. 创建用户后,当用户分配的空间不够时,可以扩展用户的空间:alter user monitor quota 20m on monitor;将用户的空间扩展为20m
  7. 给用户指定两个表空间,并且可使用大小不限制:alter user userName quota unlimited on tablespace1 quota unlimited on tablespace2;
  8. 修改用户密码:alter user testUser identified by 123456;将用户的密码设置为123456。
  9. 有时用户会处于锁定状态,解锁用户:alter user testUser account unlock;
  10. 为用户设置权限,初始建立的用户没有任何权限,不能执行任何数据库操作,因此必须为用户设置权限或者角色。被赋予了某个角色的用户将拥有该角色所具备的权限,常被用到的系统预定义角色:CONNECT、RESOURCE、DBA、EXP_FULL_DATABASE、IMP_FULL_DATABASE。其中,CONNECT、RESOURCE、DBA主要用于数据库管理,数据库管理员需要被授予这三个角色。一般的数据库开发人员,需要被授予CONNECT、RESOURCE角色即可。EXP_FULL_DATABASE、IMP_FULL_DATABASE角色分别用于操作数据库导出、导入相关的操作。为用户授予角色。

    三、添加权限

    1. grant connect,resource,dba to monitor;
    2. grant create session to monitor;
    image.png

    四、删除数据库

    1. DROP TABLESPACE monitor INCLUDING CONTENTS AND DATAFILES;

    五、删除用户

    1. drop user monitor cascade;

    六、创建表-插入数据-查询数据

    A、使用sys帐号登录操作

    注意:那个用户连接的,本次操作和提交会执行至对应的用户表空间中 ```sql SQL> CREATE TABLE STUSER (id number(10) NOT NULL primary key ,user_name VARCHAR (40) NOT NULL, user_phone VARCHAR(11));

Table created.

SQL> insert into STUSER(id, user_name, user_phone) values(1, ‘Fcant’, ‘17826260016’);

1 row created.

SQL> commit;

Commit complete.

SQL> select * from STUSER;

  1. ID USER_NAME USER_PHONE

  1. 1 Fcant 17826260016

SQL>

  1. ![image.png](https://cdn.nlark.com/yuque/0/2019/png/396745/1566921112931-8170c6eb-5afb-41b0-9a37-7823c3069f8c.png#crop=0&crop=0&crop=1&crop=1&height=421&id=m7mhQ&name=image.png&originHeight=1157&originWidth=3327&originalType=binary&ratio=1&rotation=0&showTitle=false&size=174020&status=done&style=none&title=&width=1209.8181818181818)
  2. **由于本次登录操作使用sys帐号登录,执行的表创建和数据都执行保留在sys数据库中**<br />![image.png](https://cdn.nlark.com/yuque/0/2019/png/396745/1566921469832-a80ae56c-3bdf-4ea7-9c10-657d2bba88b8.png#crop=0&crop=0&crop=1&crop=1&height=612&id=JJLNe&name=image.png&originHeight=1683&originWidth=2436&originalType=binary&ratio=1&rotation=0&showTitle=false&size=480248&status=done&style=shadow&title=&width=885.8181818181819)<br />![image.png](https://cdn.nlark.com/yuque/0/2019/png/396745/1566921571422-8ca3ee88-e017-416c-ae55-12b9169b541c.png#crop=0&crop=0&crop=1&crop=1&height=618&id=cCLVE&name=image.png&originHeight=1699&originWidth=2441&originalType=binary&ratio=1&rotation=0&showTitle=false&size=349856&status=done&style=none&title=&width=887.6363636363636)
  3. <a name="vO02o"></a>
  4. ### B、使用创建的数据库和用户登录进行数据库表的创建操作
  5. **新用户登录时退出原来登录的用户**
  6. ```sql
  7. SQL> exit
  8. Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
  9. With the Partitioning, OLAP, Data Mining and Real Application Testing options
  10. [oracle@dbcef03180fe root]$ sqlplus /nolog
  11. SQL*Plus: Release 11.2.0.1.0 Production on Wed Aug 28 08:15:19 2019
  12. Copyright (c) 1982, 2009, Oracle. All rights reserved.
  13. SQL> conn monitor/monitor
  14. Connected.
  15. SQL> CREATE TABLE STUSER (id number(10) NOT NULL primary key ,user_name VARCHAR (40) NOT NULL, user_phone VARCHAR(11));
  16. Table created.
  17. SQL> insert into STUSER(id, user_name, user_phone) values(2, 'Fcant', '17826263416');
  18. 1 row created.
  19. SQL> commit;
  20. Commit complete.
  21. SQL> select * from STUSER;
  22. ID USER_NAME USER_PHONE
  23. ---------- ---------------------------------------- -----------
  24. 1 Fcant 17826260016
  25. SQL>

image.png

image.pngimage.png

C、在Navicat客户端执行数据库操作

image.png
image.png