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

需积分: 1 0 下载量 8 浏览量 更新于2024-09-08 收藏 2KB TXT 举报
"Oracle数据库创建表空间的步骤与配置" 在Oracle数据库中,表空间(Tablespace)是存储数据文件的逻辑单位,用于组织数据库对象,如表、索引等。创建表空间是数据库管理的基础操作,下面我们将详细介绍如何创建临时表空间和普通表空间,以及创建用户并指定默认表空间。 1. 创建临时表空间: 临时表空间主要用于存储临时段,例如排序和联接操作产生的临时结果。以下创建名为"SHIZHENG_TEMP"的临时表空间的命令: ```sql CREATE TEMPORARY TABLESPACE SHIZHENG_TEMP TEMPFILE 'D:\oraclexe\oradata\XE\shizheng_temp.dbf' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 20480M EXTENT MANAGEMENT LOCAL; ``` 这条命令的含义是: - `CREATE TEMPORARY TABLESPACE`:声明创建一个临时表空间。 - `'SHIZHENG_TEMP'`:表空间的名称。 - `'D:\oraclexe\oradata\XE\shizheng_temp.dbf'`:初始数据文件的路径和名称。 - `SIZE 50M`:设置初始数据文件的大小为50MB。 - `AUTOEXTEND ON`:开启自动扩展功能。 - `NEXT 50M`:当需要扩展时,每次增加50MB。 - `MAXSIZE 20480M`:设置最大扩展到20GB。 - `EXTENT MANAGEMENT LOCAL`:局部范围的段管理,意味着每个表空间都有自己的段管理方式。 2. 创建普通表空间: 普通表空间用于存储永久性的数据库对象。下面创建名为"SHIZHENG_DATA"的普通表空间: ```sql CREATE TABLESPACE SHIZHENG_DATA LOGGING DATAFILE 'D:\oraclexe\oradata\XE\shizheng_data.dbf' SIZE 50M AUTOEXTEND ON NEXT 50M MAXSIZE 20480M EXTENT MANAGEMENT LOCAL; ``` 这个命令与创建临时表空间类似,但没有`TEMPORARY`关键字,并且添加了`LOGGING`选项,表示记录在此表空间上的所有事务日志。 3. 创建用户并指定默认表空间: 创建名为"shizheng"的用户,并指定其默认表空间为"SHIZHENG_DATA",临时表空间为"SHIZHENG_TEMP": ```sql CREATE USER shizheng IDENTIFIED BY shizheng DEFAULT TABLESPACE SHIZHENG_DATA TEMPORARY TABLESPACE SHIZHENG_TEMP; ``` 4. 授予权限: 向用户"shizheng"授予连接、资源和DBA权限: ```sql GRANT connect, resource, dba TO shizheng; ``` 5. 更多示例: - 创建名为"HNPY"的表空间,数据文件与已存在的"SHIZHENG_DATA"相同,但未指定是否自动扩展和最大大小。 - 创建名为"test_data"的表空间,数据文件与"HNPY"相同,也未指定自动扩展和最大大小。 - 创建一个未指定默认表空间和临时表空间的用户"û",并且未授予任何权限。 6. 查询表空间信息: 可以使用以下SQL查询来查看表空间的相关信息: ```sql SELECT T.TABLESPACE_NAME, D.FILE_NAME, D.AUTOEXTENSIBLE, D.BYTES, D.MAXBYTES, D.STATUS FROM DBA_TABLESPACES T, DBA_DATA_FILES D WHERE T.TABLESPACE_NAME = D.TABLESPACE_NAME; ``` 通过这些操作,我们可以管理和控制Oracle数据库中的存储资源,以满足不同用户和应用的需求。记得根据实际的硬件和业务需求调整表空间的大小和自动扩展设置。