Creating a Default Permanent Tablespace (74)

本文介绍了在Oracle数据库中创建数据库时如何设置默认永久表空间。如果不指定,默认情况下将使用SYSTEM表空间作为非系统用户的默认永久表空间。建议创建专门的默认永久表空间。

The DEFAULT TABLESPACE clause of the CREATE DATABASE statement specifies a
default permanent tablespace for the database. Oracle Database assigns to this
tablespace any non-SYSTEM users for whom you do not explicitly specify a different
permanent tablespace. If you do not specify this clause, then the SYSTEM tablespace is
the default permanent tablespace for non-SYSTEM users. Oracle strongly recommends
that you create a default permanent tablespace.

创建默认永久表空间
1. 指定非系统用户的默认永久表空间 , 如果没有指定 , 则为system表空间

[@more@]

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10599713/viewspace-995635/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10599713/viewspace-995635/

<think> 我们正在讨论Oracle数据库中的DEFAULT TABLESPACE(默认表空间)格式问题。用户要求了解其格式说明,这可能包括创建默认表空间的语法、选项以及相关的注意事项。 根据引用[1]中提到的内容,表空间是最大的逻辑存储结构,它管理着存储空间的分配。但用户具体关注的是DEFAULT TABLESPACE的格式,这通常指的是在创建用户时指定的默认表空间,或者数据库的默认永久表空间。 在Oracle中,DEFAULT TABLESPACE主要有两个层面的含义: 1. 数据库级别的默认永久表空间:当创建用户时,如果没有指定默认表空间,则使用数据库级别的默认永久表空间。 2. 用户级别的默认表空间:在创建用户时,可以指定该用户的默认表空间。 因此,回答应该涵盖这两个方面的格式说明。 ### 数据库级别的默认永久表空间创建数据库时,可以指定默认永久表空间。如果未指定,则SYSTEM表空间会被用作默认永久表空间,但这并不推荐。我们可以通过以下方式修改数据库的默认永久表空间: ```sql ALTER DATABASE DEFAULT TABLESPACE users; ``` 这里,`users`是新的默认永久表空间的名称。 ### 创建用户时指定默认表空间 创建用户的语句中,可以指定默认表空间,格式如下: ```sql CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE tablespace_name ... [其他选项]; ``` 例如: ```sql CREATE USER scott IDENTIFIED BY tiger DEFAULT TABLESPACE users; ``` ### 修改用户的默认表空间 也可以修改已有用户的默认表空间: ```sql ALTER USER username DEFAULT TABLESPACE new_tablespace; ``` ### 注意事项 1. 默认表空间必须是已经存在的、在线的、可读写的永久表空间。 2. 不能将临时表空间或撤销表空间指定为默认表空间。 3. 在创建数据库对象(如表、索引)时,如果没有指定表空间,则会使用用户的默认表空间。 ### 查询当前的默认表空间设置 可以通过以下数据字典视图查询: ```sql -- 查看数据库的默认永久表空间 SELECT property_value FROM database_properties WHERE property_name = 'DEFAULT_PERMANENT_TABLESPACE'; -- 查看用户的默认表空间 SELECT username, default_tablespace FROM dba_users; ``` ### 格式总结 - 在`CREATE USER`和`ALTER USER`语句中,使用`DEFAULT TABLESPACE`子句。 - 在`ALTER DATABASE`语句中,使用`DEFAULT TABLESPACE`子句。 因此,DEFAULT TABLESPACE的格式就是在这些语句中后面跟着表空间名称。 ### 相关问题 根据用户可能进一步想了解的内容,生成相关问题: §§相关问题§§ 1. 如何创建一个新的表空间并设置为默认表空间? 2. 修改数据库的默认表空间会对现有用户产生什么影响? 3. 如何将用户的默认表空间从SYSTEM迁移到其他表空间? </think> ### 📚 DEFAULT TABLESPACE(默认表空间)格式详解 #### 1. **基本语法格式** 在创建用户或修改用户属性时指定默认表空间的标准格式: ```sql -- 创建用户时指定 CREATE USER username IDENTIFIED BY password DEFAULT TABLESPACE tablespace_name [QUOTA size ON tablespace_name]; -- 修改用户默认表空间 ALTER USER username DEFAULT TABLESPACE new_tablespace_name; ``` #### 2. **关键参数说明** | **组件** | **必选/可选** | **值类型** | **说明** | |----------|---------------|------------|----------| | `DEFAULT TABLESPACE` | 必选 | 表空间名称 | 指定对象(如表/索引)的默认存储位置 | | `QUOTA` | 可选 | 数字+单位<br>(如 `10M`, `1G`) | 限制用户在该表空间的使用上限<br>可设置 `UNLIMITED` | | `TEMPORARY TABLESPACE` | 可选 | 临时表空间名 | 排序/临时操作的专用空间 | #### 3. **配置示例** ```sql -- 创建用户并分配默认表空间 CREATE USER sales_user IDENTIFIED BY pwd123 DEFAULT TABLESPACE sales_data -- 默认存储表空间 QUOTA 500M ON sales_data -- 空间限额 TEMPORARY TABLESPACE temp; -- 临时表空间 -- 修改现有用户的默认表空间 ALTER USER hr_user DEFAULT TABLESPACE hr_tablespace QUOTA UNLIMITED ON hr_tablespace; ``` #### 4. **数据字典查询** 查看用户与表空间的关联关系: ```sql SELECT username, default_tablespace, temporary_tablespace FROM dba_users WHERE username = 'SALES_USER'; ``` #### 5. **设计注意事项** 1. **避免使用SYSTEM表空间** ```sql -- 错误示例(禁止) ALTER USER scott DEFAULT TABLESPACE SYSTEM; ``` 系统表空间仅存储数据字典,用户对象必须使用自定义表空间[^1] 2. **空间配额管理** `QUOTA`子句防止单个用户耗尽空间,例如: ``` QUOTA 100M ON users -- 限制100MB QUOTA UNLIMITED ON big_data -- 无限制 ``` 3. **临时表空间分离** 专用临时表空间提升排序操作性能: ```sql CREATE TEMPORARY TABLESPACE temp_ts TEMPFILE '/u01/temp01.dbf' SIZE 2G; ``` ```mermaid graph LR A[用户对象创建] --> B{是否指定表空间?} B -->|是| C[使用指定表空间] B -->|否| D[使用DEFAULT TABLESPACE] D --> E[检查QUOTA限制] E -->|空间足够| F[成功创建] E -->|空间不足| G[ORA-01536: 超出表空间配额] ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值