`
z_jiankun
  • 浏览: 164274 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

ORACLE如何修改用户表空间

 
阅读更多
问题描述:
  
ORACLE如何修改用户表空间
产生原因: 需要对用户表空间进行修改
解决方法:
  
  软件在建立帐套时,表空间使用了默认设定,表空间可以自动增加。如果用户为了提升速度进行了优化,关闭了此选项,则在年结前也应该检查一下表空间的使用情况,如果已经使用空间小于剩余空间,也应该进行扩充。
查看表空间使用情况:
SELECT * FROM DBA_FREE_SPACE

举例:
在实际操作中请根据实际数据库路径等信息作适当的调整,切记不可生搬硬套!
另外,请在调整之前,对oracle 作一全备份!

假设表空间名称为GS_ORADB_001,数据文件‘C:\ORADATA\GS_ORADB_001.DBF',
索引表空间名称为GS_ORADB_IDX_001,数据文件‘C:\ORADATA\GS_ORADB_IDX_001.DBF'

ORACLE8i:
首先在DOS命令行方式中执行
C:\>SVRMGRL

SVRMGRL>CONNECT INTERNAL
SVRMGRL>SHUTDOWN
SVRMGRL>STARTUP MOUNT

ORACLE9i:
首先在DOS命令行方式中执行
C:\>SQLPLUS /NOLOG

SQL>CONNECT / AS SYSDBA
SQL >SHUTDOWN
SQL >STARTUP MOUNT

1、增加表空间尺寸
增加一个数据文件:
SQL>ALTER TABLESPACE GS_ORADB_001 ADD DATAFILE ‘C:\ORADATA\GS_ORADB_ADD_001.DBF' SIZE 500M; 
2、扩大原有文件大小:
SQL>ALTER DATABASE DATAFILE ‘C:\ORADATA\GS_ORADB_001.DBF' RESIZE 1000M; 
3、移动表空间数据文件
假如要求将C:\ORADATA 下GS_ORADB_001.DBF移至D:\ORADATA 下,并把文件名改为GS_ORADB_ALT_001.DBF
步骤:
3.1、将实例处于关闭状态
首先在DOS命令行方式中执行(ORACLE9i)
C:\>SQLPLUS /NOLOG

SQL>CONNECT / AS SYSDBA
SQL >SHUTDOWN
SQL >STARTUP MOUNT

3.2、把数据文件C:\ORADATA 下GS_ORADB_001.DBF移动到D:\ORADATA下,并把文件名改为GS_ORADB_ALT_001.DBF
3.3、再到SQLPLUS 环境中
SQL>ALTER DATABASE RENAME FILE ‘C:\ORADATA\GS_ORADB_001.DBF' TO ‘D:\ORADATA\GS_ORADB_ALT_001.DBFF'; 

SQL>ALTER TABLESPACE GS_ORADB_001 RENAME DATAFILE ‘C:\ORADATA\GS_ORADB_001.DBF' TO ‘D:\ORADATA\GS_ORADB_ALT_001.DBFF'; 

SQL>ALTER DATABASE OPEN; 

4、查看剩余空间
SQL>SELECT TABLESPACE_NAME,SUM(BYTES),MAX(BYTES) FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME; 
注意:空闲数据块总和sum(bytes) 够用并不意味每个空闲块都满足分配需要,所以当表空间不够分配扩展块的时候,还要查看最大空闲数据块max(bytes)的大小。

5、合并空闲块
如果表空间上的数据对象经常发生类似drop-create 的变动,加之未采用统一的扩展块尺寸,使那些采用较大扩展块的数据对象不能利用较小的空间碎片,造成空间浪费。可通过将较小的空闲块合并成较大的空闲块的方法,减少空间浪费。
SQL>ALTER TABLESPACE GS_ORADB_001 COALESCE;

6、删除表空间
删除表空间及其包含的所有数据
SQL>DROP TABLESPACE GS_ORADB_001 INCLUDING CONTENTS;
分享到:
评论

相关推荐

    学习oracle创建一个表空间创建临时表空间创建用户表空间资源的权限

    - **更改表空间状态**:使用`ALTER TABLESPACE`可以设置表空间为只读或可读写。 - **重命名表空间**:使用`ALTER TABLESPACE RENAME TO`语句可以改变表空间的名称。 - **删除表空间**:使用`DROP TABLESPACE`删除...

    Oracle用户(user)和表空间(tablespace).pdf

    本文主要探讨了 Oracle 用户(user)和表空间(tablespace)的相关概念、创建、配置、修改以及删除等核心操作,旨在为初学者提供一个清晰的学习路径。 首先,Oracle 用户是数据库的访问实体,它代表了数据库的认证...

    oracle建立用户表空间脚本

    ### Oracle建立用户与表空间脚本详解 #### 一、Oracle表空间概念解析 在Oracle数据库中,数据存储的基本单位是表空间(Tablespace)。一个表空间由一个或多个数据文件组成,这些数据文件用于存储数据库中的数据。...

    oracle数据库创建表空间和用户

    oracle数据库导入、导出数据、创建表空间、创建用户、用户授权等操作

    oracle创建表空间用户等

    本文将详细介绍如何在Oracle数据库中创建表空间、创建用户并分配相应的权限,以及如何设置表空间的自增长和修改其大小。 #### 一、创建表空间 表空间是Oracle数据库中的逻辑存储单元,它由一个或多个数据文件组成...

    oracle数据库用户 表空间创建

    ### 二、Oracle用户创建与权限授予 #### 1. 创建用户语法 ```sql CREATE USER <用户名> IDENTIFIED BY <密码>; ``` - `<用户名>`:新创建的用户名。 - `<密码>`:指定的用户密码。 #### 2. 设置用户属性 - **设置...

    Oracle多个表空间合并成一个表空间,验证通过

    ### Oracle 多个表空间合并成一个表空间详解 #### 背景介绍 在进行数据库维护时,可能会遇到需要将多个表空间合并为一个的情况。这种情况通常发生在新项目的开发过程中,尤其是当新项目需要引用来自其他表空间的...

    oracle数据库_实例_用户_表空间之间的关系

    Oracle 数据库实例用户表空间之间的关系 Oracle 数据库实例用户表空间之间的关系是 Oracle 数据库管理系统的核心概念。了解它们之间的关系对于数据库的设计、管理和优化至关重要。 数据库 Oracle 数据库是一个...

    Oracle 19c创建表空间及用户.txt

    Oracle 19c创建表空间及用户

    完整ORACLE创建表空间、用户、设置用户权限脚本

    ### 完整Oracle创建表空间、用户及设置用户权限脚本解析 #### 一、创建表空间 在Oracle数据库管理中,创建表空间是数据库管理的基础之一。表空间是Oracle数据库中逻辑存储结构的一部分,它将数据库物理存储空间...

    oracle导入时表空间不一致解决方法

    ### Oracle导入时表空间不一致解决方法 在Oracle数据库管理中,经常会出现因表空间不一致而导致的数据导入失败的问题。本文将详细介绍如何解决这一常见问题,并确保数据能够顺利地从一个环境迁移到另一个环境中。 ...

    linux下创建oracle用户表空间

    "Linux 下创建 Oracle 用户表空间" Linux 下创建 Oracle 用户表空间是指在已有的数据库实例上创建一个新的帐号,访问一些新的表操作。以下是创建用户表空间的步骤: 第一个步骤是登录 Linux,以 oracle 用户登录...

    Oracle数据库创建表空间和用户.doc

    在Oracle数据库管理中,创建表空间和用户是基础但至关重要的操作,这直接影响到数据库的性能、安全性和数据管理效率。以下将详细解析如何在Oracle数据库中创建表空间和用户,以及这一过程中涉及的关键概念和步骤。 ...

    Oracle数据库用户、表、表空间之间关系.doc

    用户可以使用一个或多个表空间,而表空间也能被多个用户共享。 表空间内部包含各种类型的段,包括数据段(存储表数据)、索引段(存储索引数据)、回退段(用于回滚事务)和临时段(处理临时数据)。段进一步由区...

    Oracle数据库_实例_用户_表空间之间的关系.doc

    ### Oracle数据库、实例、用户、表空间的关系解析 #### 一、Oracle数据库概述 Oracle数据库是一种高度复杂的数据库管理系统,主要用于企业级数据管理和处理。与其他数据库系统不同,Oracle数据库中的“数据库”这一...

    获取oracle表空间脚本

    ### 获取Oracle表空间脚本 #### 背景与需求 在进行数据库备份与恢复的过程中,经常需要获取当前Oracle数据库中的表空间信息及其创建脚本。这样做的目的是为了确保在恢复过程中能够快速重建原有的数据库环境,包括...

    oracle中查看表空间与对应物理文件,用户,表,使用情况

    select b.tablespace_name 表空间, c.owner 用户, c.segment_name 表名, b.file_name 物理文件名, sum(nvl(b.bytes, 0)) / 1024 / 1024 总共大小M, round((sum(nvl(b.bytes, 0)) - sum(nvl(a.bytes, 0))) ...

    oracle 创建表空间命令

    总结起来,创建Oracle用户和表空间,并分配权限是数据库管理的重要环节。通过以上步骤,你可以有效地管理数据库资源,确保用户能够安全、高效地访问和操作数据库。在实际应用中,可能还需要根据具体需求调整表空间的...

    ORACLE修改表空间大小

    - **更改用户使用的临时表空间**:如果某个用户频繁遇到ORA-01652错误,可以考虑将其默认临时表空间更改为其他有足够空间的临时表空间: ```sql ALTER USER username TEMPORARY TABLESPACE new_temp_tablespace; ...

    ORACLE新建用户表空间及授权DBA

    在Oracle数据库管理中,创建用户、表空间以及进行权限分配是数据库管理员(DBA)的核心职责之一。本文将根据提供的文件信息,深入解析如何在Oracle环境中新建用户表空间,并授予DBA级别的权限,确保数据存储与访问的...

Global site tag (gtag.js) - Google Analytics