在Oracle数据库中,如何增加表空间的大小?

在Oracle数据库中,如何增加表空间的大小?,第1张

表空间在初始建立的时候最好设置成自动扩展的,如果没有设置成扩展的,则有四种方法可以增加表空间的大小,其中增加数据文件是经常用的一种。四种方法如下:

Meathod1:给表空间增加数据文件

ALTER TABLESPACE app_data ADD DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF' SIZE 50M

Meathod2:新增数据文件,并且允许数据文件自动增长

ALTER TABLESPACE app_data ADD DATAFILE

'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF' SIZE 50M

AUTOEXTEND ON NEXT 5M MAXSIZE 100M

Meathod3:允许已存在的数据文件自动增长

ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP03.DBF'

AUTOEXTEND ON NEXT 5M MAXSIZE 100M

Meathod4:手工改变已存在数据文件的大小

ALTER DATABASE DATAFILE 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP02.DBF'

RESIZE 100M

--修改数据库文件增量

USE master

GO

Alter DATABASE Test

MODIFY FILE

(NAME = test,

-- SIZE = 1000MB,

--MAXSIZE = 10000MB,

FILEGROWTH = 100MB)

GO

--修改数据库日志文件增量

USE master

GO

Alter DATABASE Test

MODIFY FILE

(NAME = test_log,

-- SIZE = 1000MB,

--MAXSIZE = 10000MB,

FILEGROWTH = 100MB)

GO

参考以下内容:

[c-sharp]view plaincopyprint?

/*

一般的虚拟主机上,附送的sql server数据库都是限制了大小,比如100M。当你的数据库空间达到了指定的100M时,插入新数据就会报错:

未能为数据库 'a1116173958' 中的对象 'fc_Info' 分配空间,因为文件组 'PRIMARY' 已满

其实,有些主机商的数据库大小是可以自己修改的。当然,修改之前你需要知道数据库名(这里是逻辑名称),一般的这个名称是很容易知道的,就是数据库名称。

你可以尝试下在自己编写的程序中,或空间的管理后台中等可以执行sql语句的地方试一下下面的语句:

Alter DATABASE 数据库名

modify FILE

( NAME = 数据库名,

MAXSIZE = 200MB,

FILEGROWTH = 5MB)

如果执行成功,那么恭喜你了。

========我是分割线============================================

下面是Alter DATABASE的一些参考资料,详细可以查看sql server帮助。

在数据库中添加或删除文件和文件组。也可用于更改文件和文件组的属性,例如更改文件的名称和大小。Alter DATABASE 提供了更改数据库名称、文件组名称以及数据文件和日志文件的逻辑名称的能力。

Alter DATABASE 支持数据库选项的设置。在早期版本的 Microsoft® SQL Server™ 中,这些选项可以通过 sp_dboption 存储过程来设置。在此次发布的版本中,SQL Server 继续支持 sp_dboption存储过程,但在未来版本中可能不再支持。可使用 DATABASEPROPERTYEX 函数检索数据库选项的当前设置。

语法

Alter DATABASE database

{ ADD FILE <filespec >[ ,...n ] [ TO FILEGROUP filegroup_name ]

| ADD LOG FILE <filespec >[ ,...n ]

| REMOVE FILE logical_file_name

| ADD FILEGROUP filegroup_name

| REMOVE FILEGROUP filegroup_name

| MODIFY FILE <filespec >

| MODIFY NAME = new_dbname

| MODIFY FILEGROUP filegroup_name {filegroup_property | NAME = new_filegroup_name }

| SET <optionspec >[ ,...n ] [ WITH <termination >]

| COLLATE <collation_name >

}

<filespec >::=

( NAME = logical_file_name

[ , NEWNAME = new_logical_name ]

[ , FILENAME = 'os_file_name' ]

[ , SIZE = size ]

[ , MAXSIZE = { max_size | UNLIMITED } ]

[ , FILEGROWTH = growth_increment ] )

<optionspec >::=

<state_option>

| <cursor_option >

| <auto_option >

| <sql_option >

| <recovery_option >

<state_option >::=

{ SINGLE_USER | RESTRICTED_USER | MULTI_USER }

| { OFFLINE | ONLINE }

| { READ_ONLY | READ_WRITE }

<termination >::=

ROLLBACK AFTER integer [ SECONDS ]

| ROLLBACK IMMEDIATE

| NO_WAIT

<cursor_option >::=

CURSOR_CLOSE_ON_COMMIT { ON | OFF }

| CURSOR_DEFAULT { LOCAL | GLOBAL }

<auto_option >::=

AUTO_CLOSE { ON | OFF }

| AUTO_Create_STATISTICS { ON | OFF }

| AUTO_SHRINK { ON | OFF }

| AUTO_Update_STATISTICS { ON | OFF }

<sql_option >::=

ANSI_NULL_DEFAULT { ON | OFF }

| ANSI_NULLS { ON | OFF }

| ANSI_PADDING { ON | OFF }

| ANSI_WARNINGS { ON | OFF }

| ARITHABORT { ON | OFF }

| CONCAT_NULL_YIELDS_NULL { ON | OFF }

| NUMERIC_ROUNDABORT { ON | OFF }

| QUOTED_IDENTIFIER { ON | OFF }

| RECURSIVE_TRIGGERS { ON | OFF }

<recovery_option >::=

RECOVERY { FULL | BULK_LOGGED | SIMPLE }

| TORN_PAGE_DETECTION { ON | OFF }


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/10036694.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-04
下一篇 2023-05-04

发表评论

登录后才能评论

评论列表(0条)

保存