Oracle数据库创建表空间及用户权限设置

需积分: 22 0 下载量 164 浏览量 更新于2024-09-01 收藏 2KB TXT 举报
"该文件是关于在Oracle数据库中创建表空间、用户以及分配权限的教程。" 在Oracle数据库管理系统中,表空间(Tablespace)是用来存储数据库对象(如表格、索引等)的逻辑存储单元。它将磁盘上的一个或多个数据文件组织在一起,以便在数据库中使用。在创建表空间时,可以指定初始大小、自动扩展设置以及最大大小。例如,创建名为`test_temp`的临时表空间和名为`test_data`的数据表空间: ```sql CREATE TEMPORARY TABLESPACE test_temp TEMPFILE 'C:\oracle\product\10.1.0\oradata\orcl\test_temp01.dbf' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M EXTENT MANAGEMENT LOCAL; ``` 这里的`CREATE TEMPORARY TABLESPACE`语句用于创建临时表空间,用于存储临时工作数据,`TEMPFILE`指定了数据文件的位置和大小,`AUTOEXTEND`用于允许文件自动扩展,`EXTENT MANAGEMENT LOCAL`则表示局部范围的段管理。 接着创建数据表空间`test_data`: ```sql CREATE TABLESPACE test_data LOGGING DATAFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF' SIZE 32M AUTOEXTEND ON NEXT 32M MAXSIZE 2048M EXTENT MANAGEMENT LOCAL; ``` 这里使用了`CREATE TABLESPACE`来创建普通数据表空间,`LOGGING`指示表空间应记录日志信息。 然后创建用户并为其分配默认表空间和临时表空间: ```sql CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE test_data TEMPORARY TABLESPACE test_temp; ``` 这会创建一个名为`username`的新用户,并指定`test_data`作为默认表空间,`test_temp`作为临时表空间。 接下来,分配权限给用户,使其能够进行基本的数据库操作: ```sql GRANT CREATESESSION,CREATEANYTABLE,CREATEANYVIEW,CREATEANYINDEX,CREATEANYPROCEDURE, ALTERANYTABLE,ALTERANYPROCEDURE, DROPANYTABLE,DROPANYVIEW,DROPANYINDEX,DROPANYPROCEDURE, SELECTANYTABLE,INSERTANYTABLE,UPDATEANYTABLE,DELETEANYTABLE TO username; ``` 这里,我们授予了`username`一系列系统权限,包括创建会话、创建任何表格、视图、索引和过程,修改和删除任何表格、视图、索引和过程,以及对任何表格进行查询、插入、更新和删除操作。 最后,通过以下查询可以检查用户权限: ```sql SELECT * FROM DBA_USERS; SELECT * FROM ALL_USERS; SELECT * FROM USER_USERS; ``` 这些查询分别显示所有用户的系统信息,当前用户的所有信息,以及当前用户所拥有的用户信息。 同时,查看用户系统权限: ```sql SELECT * FROM DBA_SYS_PRIVS; SELECT * FROM USER_SYS_PRIVS; ``` 这些查询显示了在系统级别和用户级别分配的所有权限。 这个文件提供了在Oracle环境中创建表空间、用户以及分配相应权限的步骤,这对于数据库管理员来说是非常基础且重要的操作。