探索ORACLE_之表空间02_管理
2011-11-30 13:58
375 查看
探索ORACLE_之表空间02_管理
表空间创建参考语法图如下连接:
http://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_7003.htm#i2231734
创建表空间的语法是:
CREATE[SMALLFILE|BIGFILE][PERMANENT|TEMPORARY|UNDO]TABLESPACE
DATAFILE|TEMPFILEdatafile_clause[,datafile_clause]
[EXTENTMANAGEMENTLOCAL]
[AUTOALLOCATE|UNIFORMSIZEinteger[K|M]]
[SEGMENTSPACEMANAGEMENTAUTO|MANUAL]
[BLOCKSIZEinteger[K|M]]
[MININUMEXTENTinteger[K|M]]
[LOGGING|NOLOGGING]
[ONLINE|OFFLINE[NORMAL|TEMPORARY|IMMEDIATE]];
其中,datafile_clause子句(数据文件子句)的语法是:
path_filename_suffix'SIZEinteger[K|M]
[REUSE]
[AUTOEXTENDOFF|ON]
[NEXTinteger[K|M]]
[MAXSIZEUNLIMITED|integer[K|M]]
1.创建管理标准(小文件)表空间
1.1创建一个标准表空间
11:04:57SQL>createtablespacetest001datafile'/data2/test001_01.dbf'size10m;
Tablespacecreated.
11:13:29SQL>selecttablespace_name,file_name,blocks,bytes/1024/1024Mfromdba_data_fileswhereTABLESPACE_NAME='TEST001';
TABLESPACE_NAMEFILE_NAMEBLOCKSM
--------------------------------------------------------------------------------
TEST001/data2/test001_01.dbf128010
Elapsed:00:00:00.03
11:17:01SQL>altertablespacetest001adddatafile'/data2/test001_02.dbf'size10m;
Tablespacealtered.
1.2为表空间添加数据文件
Elapsed:00:00:00.89
11:30:05SQL>selecttablespace_name,file_name,blocks,bytes/1024/1024Mfromdba_data_fileswhereTABLESPACE_NAME='TEST001';
TABLESPACE_NAMEFILE_NAMEBLOCKSM
--------------------------------------------------------------------------------
TEST001/data2/test001_01.dbf128010
TEST001/data2/test001_02.dbf128010
Elapsed:00:00:00.02
11:30:12SQL>
1.3修改表空间数据文件为自动扩展
11:42:35SQL>alterdatabasedatafile'/data2/test001_02.dbf'autoextendonnext2mmaxsize200m;
Databasealtered.
Elapsed:00:00:00.03
12:11:33SQL>selectfile_id,file_name,tablespace_name,blocks,bytes/1024/1024bytes_M,autoextensiblefromdba_data_fileswhereTABLESPACE_NAME='TEST001';
FILE_IDFILE_NAMETABLESPACE_NAMEBLOCKSBYTES_MAUT
------------------------------------------------------------------------------
6/data2/test001_01.dbfTEST001128010NO
7/data2/test001_02.dbfTEST001128010YES
Elapsed:00:00:00.04
12:11:48SQL>
1.4通过指定段的大小来创建表空间
12:21:53SQL>selectTABLESPACE_NAME,INITIAL_EXTENT/1024,NEXT_EXTENT/1024,EXTENT_MANAGEMENTfromdba_tablespaces;
TABLESPACE_NAMEINITIAL_EXTENT/1024NEXT_EXTENT/1024EXTENT_MAN
-----------------------------------------------------------------
SYSTEM64LOCAL
UNDOTBS164LOCAL
SYSAUX64LOCAL
TEMP10241024LOCAL
USERS64LOCAL
TEST0164LOCAL
TEST00164LOCAL
7rowsselected.
Elapsed:00:00:00.03
12:22:17SQL>createtablespacetest002datafile'/data2/test002_01.dbf'size10mextentmanagementlocaluniformsize1m;
Tablespacecreated.
Elapsed:00:00:00.69
12:23:34SQL>selectTABLESPACE_NAME,INITIAL_EXTENT/1024,NEXT_EXTENT/1024,EXTENT_MANAGEMENTfromdba_tablespaces;
TABLESPACE_NAMEINITIAL_EXTENT/1024NEXT_EXTENT/1024EXTENT_MAN
-----------------------------------------------------------------
SYSTEM64LOCAL
UNDOTBS164LOCAL
SYSAUX64LOCAL
TEMP10241024LOCAL
USERS64LOCAL
TEST0164LOCAL
TEST00164LOCAL
TEST00210241024LOCAL
8rowsselected.
Elapsed:00:00:00.01
12:23:39SQL>
2.创建管理大文件表空间
2.1查询数据库创建表空间的默认信息,该视图得知为小文件表空间,当然这个是可以修改的:
12:27:23SQL>select*fromdatabase_propertieswhereproperty_name='DEFAULT_TBS_TYPE';
PROPERTY_NAMEPROPERTY_VALUEDESCRIPTION
--------------------------------------------------------------------------------------------------------------
DEFAULT_TBS_TYPESMALLFILEDefaulttablespacetype
2.2创建一个大文件表空间:
createbigfiletablespacebigfile001datafile'/data2/bigfile001.dbf'size5m;
Tablespacecreated.
Elapsed:00:00:04.37
2.3查看表空间类型,是否为大文件表空间
12:31:24SQL>SELECTtablespace_name,bigfilefromdba_tablespaces;
TABLESPACE_NAMEBIG
-----------------------
SYSTEMNO
UNDOTBS1NO
SYSAUXNO
TEMPNO
USERSNO
TEST01NO
TEST001NO
TEST002NO
BIGFILE001YES
通过另外一个视图查看
12:32:18SQL>select*fromv$tablespace;
TS#NAMEINCBIGFLAENC
----------------------------------------------------
0SYSTEMYESNOYES
1UNDOTBS1YESNOYES
2SYSAUXYESNOYES
4USERSYESNOYES
3TEMPNONOYES
6TEST01YESNOYES
7TEST001YESNOYES
8TEST002YESNOYES
9BIGFILE001YESYESYES
2.4大文件表空间只允许有一个数据文件,所以相对于的文件号也是只有固定的1024
12:34:18SQL>altertablespacebigfile001adddatafile'/data2/bigfile002.dbf'size4m;
altertablespacebigfile001adddatafile'/data2/bigfile002.dbf'size4m
*
ERRORatline1:
ORA-32771:cannotaddfiletobigfiletablespace
Elapsed:00:00:00.05
12:34:32SQL>
12:53:05SQL>selectfile_id,tablespace_name,bytes/1024/1024bytes_M,autoextensible,relative_fnofromdba_data_files;
FILE_IDTABLESPACE_NAMEBYTES_MAUTRELATIVE_FNO
-------------------------------------------------------
4USERS5YES4
3SYSAUX240YES3
2UNDOTBS125YES2
1SYSTEM480YES1
5TEST013584NO5
6TEST00110NO6
7TEST00110YES7
8TEST00210NO8
9BIGFILE0015YES1024
9rowsselected.
Elapsed:00:00:00.04
2.5这样的话,oracle建议用户将大数据文件表空间设置为可自动扩展,当然在创建的时候也可以指定自动扩展属性:
12:38:37SQL>altertablespaceBIGFILE001autoextendon;
Tablespacealtered.
12:42:59SQL>selectfile_id,file_name,tablespace_name,blocks,bytes/1024/1024bytes_M,autoextensiblefromdba_data_fileswheretablespace_name='BIGFILE001';
FILE_IDFILE_NAMETABLESPACE_NAMEBLOCKSBYTES_MAUT
------------------------------------------------------------------------------
9/data2/bigfile001.dbfBIGFILE0016405YES
Elapsed:00:00:00.03
12:43:19SQL>
2.6那么它可以自动扩展到多大呢?
Tablespacecreated.
3.创建管理临时表空间
3.1查看默认的临时表空间
13:19:00SQL>select*fromdatabase_propertieswhereproperty_name='DEFAULT_TEMP_TABLESPACE';
PROPERTY_NAMEPROPERTY_VALUEDESCRIPTION
-------------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACETEMPNameofdefaulttemporarytablespace
Elapsed:00:00:00.01
3.2创建临时表空间,并切换到新的临时表空间
13:21:01SQL>createtemporarytablespacetemp01tempfile'/data2/temp01_01.dbf'size10m;
Tablespacecreated.
13:24:13SQL>selectfile_id,tablespace_name,file_name,bytes/1024/1024byte_Mfromdba_temp_files;
FILE_IDTABLESPACE_NAMEFILE_NAMEBYTE_M
-----------------------------------------------------------------
1TEMP/oradata/wwl/temp01.dbf20
2TEMP01/data2/temp01_01.dbf10----新创建的临时表空间
Elapsed:00:00:00.07
注意:
新创建的临时表空间可以作为全局临时表空间,同时也可以做为单个用户的临时表空间,甚至可以作为一个临时表空间组中的一个临时表空间成员
3.3切换全局临时表空间
13:24:32SQL>alterdatabasedefaulttemporarytablespacetemp01;
Databasealtered.
Elapsed:00:00:00.18
13:33:01SQL>select*fromdatabase_propertieswhereproperty_name='DEFAULT_TEMP_TABLESPACE';
PROPERTY_NAMEPROPERTY_VALUEDESCRIPTION
-------------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACETEMP01Nameofdefaulttemporarytablespace
3.4创建新用户指定非默认临时表空间
13:35:22SQL>createusertest03identifiedbyoracletemporarytablespaceTEMP;
Usercreated.
13:37:23SQL>selectusername,temporary_tablespace,ACCOUNT_STATUSfromdba_userswhereACCOUNT_STATUS='OPEN';
USERNAMETEMPORARY_TABLEACCOUNT_STATUS
---------------------------------------------------------
SYSTEMTEMP01OPEN
SYSTEMP01OPEN
TEST03TEMPOPEN
TEST01TEMP01OPEN
3.5通过临时表空间组对临时表空间进行管理,可以实现临时表空间负载
创建临时表空间组
13:37:48SQL>altertablespacetemptablespacegrouptmpgroup;
Tablespacealtered.
Elapsed:00:00:00.08
13:41:23SQL>altertablespacetemp01tablespacegrouptmpgroup;
Tablespacealtered.
Elapsed:00:00:00.05
3.5.1查询临时表空间组中的表空间
13:41:44SQL>select*fromdba_tablespace_groups;
GROUP_NAMETABLESPACE_NAME
---------------------------------------------
TMPGROUPTEMP
TMPGROUPTEMP01
Elapsed:00:00:00.02
3.5.2将临时表空间组设为数据库默认临时表空间
13:41:59SQL>alterdatabasedefaulttemporarytablespacetmpgroup;
Databasealtered.
3.5.3查询当前默认临时表空间
13:44:03SQL>select*fromdatabase_propertieswhereproperty_name='DEFAULT_TEMP_TABLESPACE';
PROPERTY_NAMEPROPERTY_VALUEDESCRIPTION
-------------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACETMPGROUPNameofdefaulttemporarytablespace
Elapsed:00:00:00.02
4.创建管理Undo表空间:由于undo表空间的管理非常复杂,在这里不做详细论述,将在后期的体系架构里面做详细说明。
在单个数据库中undo表空间可以有多个,但处于active的只能有一个,并且active的undo表空间是不能offlin和drop。如果未创建undo表空间oracle将使用systemundosegment。
4.1查看默认undo表空间--可以看到当前undotbs1为active表空间。
13:44:05SQL>showparameterundo
NAMETYPEVALUE
-----------------------------------------------------------------------------
undo_managementstringAUTO
undo_retentioninteger900
undo_tablespacestringUNDOTBS1
13:50:36SQL>
4.2创建新的undo表空间并做切换。
4.2.1创建新的UNDO表空间
13:50:36SQL>createundotablespaceundotbs2datafile'/data2/undotbs2_01.dbf'size10m;
Tablespacecreated.
13:54:26SQL>selectTABLESPACE_NAME,STATUS,CONTENTSfromdba_tablespaceswhereCONTENTS='UNDO';
TABLESPACE_NAMESTATUSCONTENTS
---------------------------------
UNDOTBS1ONLINEUNDO
UNDOTBS2ONLINEUNDO
4.2.2切换undo表空间
13:54:49SQL>altersystemsetundo_tablespace='UNDOTBS2';
Systemaltered.
Elapsed:00:00:00.29
13:55:48SQL>showparameterundo;
NAMETYPEVALUE
-----------------------------------------------------------------------------
undo_managementstringAUTO
undo_retentioninteger900
undo_tablespacestringUNDOTBS2
13:55:57SQL>
4.2.3删除非默认undo表空间:
18:39:25SQL>select*fromv$tablespaceorderbyname;
TS#NAMEINCBIGFLAENC
-------------------------------------
9BIGFILE001YESYESYES
2SYSAUXYESNOYES
0SYSTEMYESNOYES
3TEMPNONOYES
11TEMP01NONOYES
7TEST001YESNOYES
8TEST002YESNOYES
6TEST01YESNOYES
1UNDOTBS1YESNOYES
5UNDOTBS2YESNOYES
4USERSYESNOYES
18:40:03SQL>droptablespaceUNDOTBS1includingcontentsanddatafiles;
Tablespacedropped.
Elapsed:00:00:02.23
18:42:37SQL>select*fromv$tablespaceorderbyname;
TS#NAMEINCBIGFLAENC
-------------------------------------
9BIGFILE001YESYESYES
2SYSAUXYESNOYES
0SYSTEMYESNOYES
3TEMPNONOYES
11TEMP01NONOYES
7TEST001YESNOYES
8TEST002YESNOYES
6TEST01YESNOYES
5UNDOTBS2YESNOYES
4USERSYESNOYES
10rowsselected.
Elapsed:00:00:00.02
18:42:43SQL>
4.2.4删除当前undo表空间则报错
18:42:43SQL>droptablespaceUNDOTBS2includingcontentsanddatafiles;
droptablespaceUNDOTBS2includingcontentsanddatafiles
*
ERRORatline1:
ORA-30013:undotablespace'UNDOTBS2'iscurrentlyinuse
11rowsselected.
表空间创建参考语法图如下连接:
创建表空间的语法是:
CREATE[SMALLFILE|BIGFILE][PERMANENT|TEMPORARY|UNDO]TABLESPACE
DATAFILE|TEMPFILEdatafile_clause[,datafile_clause]
[EXTENTMANAGEMENTLOCAL]
[AUTOALLOCATE|UNIFORMSIZEinteger[K|M]]
[SEGMENTSPACEMANAGEMENTAUTO|MANUAL]
[BLOCKSIZEinteger[K|M]]
[MININUMEXTENTinteger[K|M]]
[LOGGING|NOLOGGING]
[ONLINE|OFFLINE[NORMAL|TEMPORARY|IMMEDIATE]];
其中,datafile_clause子句(数据文件子句)的语法是:
path_filename_suffix'SIZEinteger[K|M]
[REUSE]
[AUTOEXTENDOFF|ON]
[NEXTinteger[K|M]]
[MAXSIZEUNLIMITED|integer[K|M]]
1.创建管理标准(小文件)表空间
1.1创建一个标准表空间
11:04:57SQL>createtablespacetest001datafile'/data2/test001_01.dbf'size10m;
Tablespacecreated.
11:13:29SQL>selecttablespace_name,file_name,blocks,bytes/1024/1024Mfromdba_data_fileswhereTABLESPACE_NAME='TEST001';
TABLESPACE_NAMEFILE_NAMEBLOCKSM
--------------------------------------------------------------------------------
TEST001/data2/test001_01.dbf128010
Elapsed:00:00:00.03
11:17:01SQL>altertablespacetest001adddatafile'/data2/test001_02.dbf'size10m;
Tablespacealtered.
1.2为表空间添加数据文件
Elapsed:00:00:00.89
11:30:05SQL>selecttablespace_name,file_name,blocks,bytes/1024/1024Mfromdba_data_fileswhereTABLESPACE_NAME='TEST001';
TABLESPACE_NAMEFILE_NAMEBLOCKSM
--------------------------------------------------------------------------------
TEST001/data2/test001_01.dbf128010
TEST001/data2/test001_02.dbf128010
Elapsed:00:00:00.02
11:30:12SQL>
1.3修改表空间数据文件为自动扩展
11:42:35SQL>alterdatabasedatafile'/data2/test001_02.dbf'autoextendonnext2mmaxsize200m;
Databasealtered.
Elapsed:00:00:00.03
12:11:33SQL>selectfile_id,file_name,tablespace_name,blocks,bytes/1024/1024bytes_M,autoextensiblefromdba_data_fileswhereTABLESPACE_NAME='TEST001';
FILE_IDFILE_NAMETABLESPACE_NAMEBLOCKSBYTES_MAUT
------------------------------------------------------------------------------
6/data2/test001_01.dbfTEST001128010NO
7/data2/test001_02.dbfTEST001128010YES
Elapsed:00:00:00.04
12:11:48SQL>
1.4通过指定段的大小来创建表空间
12:21:53SQL>selectTABLESPACE_NAME,INITIAL_EXTENT/1024,NEXT_EXTENT/1024,EXTENT_MANAGEMENTfromdba_tablespaces;
TABLESPACE_NAMEINITIAL_EXTENT/1024NEXT_EXTENT/1024EXTENT_MAN
-----------------------------------------------------------------
SYSTEM64LOCAL
UNDOTBS164LOCAL
SYSAUX64LOCAL
TEMP10241024LOCAL
USERS64LOCAL
TEST0164LOCAL
TEST00164LOCAL
7rowsselected.
Elapsed:00:00:00.03
12:22:17SQL>createtablespacetest002datafile'/data2/test002_01.dbf'size10mextentmanagementlocaluniformsize1m;
Tablespacecreated.
Elapsed:00:00:00.69
12:23:34SQL>selectTABLESPACE_NAME,INITIAL_EXTENT/1024,NEXT_EXTENT/1024,EXTENT_MANAGEMENTfromdba_tablespaces;
TABLESPACE_NAMEINITIAL_EXTENT/1024NEXT_EXTENT/1024EXTENT_MAN
-----------------------------------------------------------------
SYSTEM64LOCAL
UNDOTBS164LOCAL
SYSAUX64LOCAL
TEMP10241024LOCAL
USERS64LOCAL
TEST0164LOCAL
TEST00164LOCAL
TEST00210241024LOCAL
8rowsselected.
Elapsed:00:00:00.01
12:23:39SQL>
2.创建管理大文件表空间
2.1查询数据库创建表空间的默认信息,该视图得知为小文件表空间,当然这个是可以修改的:
12:27:23SQL>select*fromdatabase_propertieswhereproperty_name='DEFAULT_TBS_TYPE';
PROPERTY_NAMEPROPERTY_VALUEDESCRIPTION
--------------------------------------------------------------------------------------------------------------
DEFAULT_TBS_TYPESMALLFILEDefaulttablespacetype
2.2创建一个大文件表空间:
createbigfiletablespacebigfile001datafile'/data2/bigfile001.dbf'size5m;
Tablespacecreated.
Elapsed:00:00:04.37
2.3查看表空间类型,是否为大文件表空间
12:31:24SQL>SELECTtablespace_name,bigfilefromdba_tablespaces;
TABLESPACE_NAMEBIG
-----------------------
SYSTEMNO
UNDOTBS1NO
SYSAUXNO
TEMPNO
USERSNO
TEST01NO
TEST001NO
TEST002NO
BIGFILE001YES
通过另外一个视图查看
12:32:18SQL>select*fromv$tablespace;
TS#NAMEINCBIGFLAENC
----------------------------------------------------
0SYSTEMYESNOYES
1UNDOTBS1YESNOYES
2SYSAUXYESNOYES
4USERSYESNOYES
3TEMPNONOYES
6TEST01YESNOYES
7TEST001YESNOYES
8TEST002YESNOYES
9BIGFILE001YESYESYES
2.4大文件表空间只允许有一个数据文件,所以相对于的文件号也是只有固定的1024
12:34:18SQL>altertablespacebigfile001adddatafile'/data2/bigfile002.dbf'size4m;
altertablespacebigfile001adddatafile'/data2/bigfile002.dbf'size4m
*
ERRORatline1:
ORA-32771:cannotaddfiletobigfiletablespace
Elapsed:00:00:00.05
12:34:32SQL>
12:53:05SQL>selectfile_id,tablespace_name,bytes/1024/1024bytes_M,autoextensible,relative_fnofromdba_data_files;
FILE_IDTABLESPACE_NAMEBYTES_MAUTRELATIVE_FNO
-------------------------------------------------------
4USERS5YES4
3SYSAUX240YES3
2UNDOTBS125YES2
1SYSTEM480YES1
5TEST013584NO5
6TEST00110NO6
7TEST00110YES7
8TEST00210NO8
9BIGFILE0015YES1024
9rowsselected.
Elapsed:00:00:00.04
2.5这样的话,oracle建议用户将大数据文件表空间设置为可自动扩展,当然在创建的时候也可以指定自动扩展属性:
12:38:37SQL>altertablespaceBIGFILE001autoextendon;
Tablespacealtered.
12:42:59SQL>selectfile_id,file_name,tablespace_name,blocks,bytes/1024/1024bytes_M,autoextensiblefromdba_data_fileswheretablespace_name='BIGFILE001';
FILE_IDFILE_NAMETABLESPACE_NAMEBLOCKSBYTES_MAUT
------------------------------------------------------------------------------
9/data2/bigfile001.dbfBIGFILE0016405YES
Elapsed:00:00:00.03
12:43:19SQL>
2.6那么它可以自动扩展到多大呢?
在这里引入一个参数:db_block_size
12:45:07SQL>showparameterdb_block_size
NAMETYPEVALUE
-----------------------------------------------------------------------------
db_block_sizeinteger8192
单个文件最大限制的对应关系
文件系统(块)文件大小限制文件系统大小限制
ext2/3(2K)256G8T
ext2/3(4K)2T16T
ext2/3(8K)64T32T
ReiserFS3.61E16T
检查操作系统的文件块大小,这个大小是在创建文件系统的时候可以指定:
[root@ora10gadmin]#tune2fs-l/dev/sdb|grepBlock
Blockcount:2097152
Blocksize:4096
Blockspergroup:32768
由以上得出,我们可创建的单个文件的大小为2TB,同时我们上面创建的那个大文件表空间可自动扩展的最大大小同样也为2TB。
超过操作系统规定的单个文件大小将报如下错误:
12:56:12SQL>createbigfiletablespacebigfile002datafile'/data2/bigfile002.dbf'size3Treuse;
createbigfiletablespacebigfile002datafile'/data2/bigfile002.dbf'size3Treuse
*
ERRORatline1:
ORA-01119:errorincreatingdatabasefile'/data2/bigfile002.dbf'
ORA-27044:unabletowritetheheaderblockoffile
LinuxError:27:Filetoolarge
Additionalinformation:4
我们创建2T以下的表空间是可以创建的,没有报错:
13:03:55SQL>createbigfiletablespacebigfile002datafile'/data2/bigfile002.dbf'size1900Greuse;
Tablespacecreated.
3.创建管理临时表空间
3.1查看默认的临时表空间
13:19:00SQL>select*fromdatabase_propertieswhereproperty_name='DEFAULT_TEMP_TABLESPACE';
PROPERTY_NAMEPROPERTY_VALUEDESCRIPTION
-------------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACETEMPNameofdefaulttemporarytablespace
Elapsed:00:00:00.01
3.2创建临时表空间,并切换到新的临时表空间
13:21:01SQL>createtemporarytablespacetemp01tempfile'/data2/temp01_01.dbf'size10m;
Tablespacecreated.
13:24:13SQL>selectfile_id,tablespace_name,file_name,bytes/1024/1024byte_Mfromdba_temp_files;
FILE_IDTABLESPACE_NAMEFILE_NAMEBYTE_M
-----------------------------------------------------------------
1TEMP/oradata/wwl/temp01.dbf20
2TEMP01/data2/temp01_01.dbf10----新创建的临时表空间
Elapsed:00:00:00.07
注意:
新创建的临时表空间可以作为全局临时表空间,同时也可以做为单个用户的临时表空间,甚至可以作为一个临时表空间组中的一个临时表空间成员
3.3切换全局临时表空间
13:24:32SQL>alterdatabasedefaulttemporarytablespacetemp01;
Databasealtered.
Elapsed:00:00:00.18
13:33:01SQL>select*fromdatabase_propertieswhereproperty_name='DEFAULT_TEMP_TABLESPACE';
PROPERTY_NAMEPROPERTY_VALUEDESCRIPTION
-------------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACETEMP01Nameofdefaulttemporarytablespace
3.4创建新用户指定非默认临时表空间
13:35:22SQL>createusertest03identifiedbyoracletemporarytablespaceTEMP;
Usercreated.
13:37:23SQL>selectusername,temporary_tablespace,ACCOUNT_STATUSfromdba_userswhereACCOUNT_STATUS='OPEN';
USERNAMETEMPORARY_TABLEACCOUNT_STATUS
---------------------------------------------------------
SYSTEMTEMP01OPEN
SYSTEMP01OPEN
TEST03TEMPOPEN
TEST01TEMP01OPEN
3.5通过临时表空间组对临时表空间进行管理,可以实现临时表空间负载
创建临时表空间组
13:37:48SQL>altertablespacetemptablespacegrouptmpgroup;
Tablespacealtered.
Elapsed:00:00:00.08
13:41:23SQL>altertablespacetemp01tablespacegrouptmpgroup;
Tablespacealtered.
Elapsed:00:00:00.05
3.5.1查询临时表空间组中的表空间
13:41:44SQL>select*fromdba_tablespace_groups;
GROUP_NAMETABLESPACE_NAME
---------------------------------------------
TMPGROUPTEMP
TMPGROUPTEMP01
Elapsed:00:00:00.02
3.5.2将临时表空间组设为数据库默认临时表空间
13:41:59SQL>alterdatabasedefaulttemporarytablespacetmpgroup;
Databasealtered.
3.5.3查询当前默认临时表空间
13:44:03SQL>select*fromdatabase_propertieswhereproperty_name='DEFAULT_TEMP_TABLESPACE';
PROPERTY_NAMEPROPERTY_VALUEDESCRIPTION
-------------------------------------------------------------------------------------
DEFAULT_TEMP_TABLESPACETMPGROUPNameofdefaulttemporarytablespace
Elapsed:00:00:00.02
4.创建管理Undo表空间:由于undo表空间的管理非常复杂,在这里不做详细论述,将在后期的体系架构里面做详细说明。
在单个数据库中undo表空间可以有多个,但处于active的只能有一个,并且active的undo表空间是不能offlin和drop。如果未创建undo表空间oracle将使用systemundosegment。
4.1查看默认undo表空间--可以看到当前undotbs1为active表空间。
13:44:05SQL>showparameterundo
NAMETYPEVALUE
-----------------------------------------------------------------------------
undo_managementstringAUTO
undo_retentioninteger900
undo_tablespacestringUNDOTBS1
13:50:36SQL>
4.2创建新的undo表空间并做切换。
4.2.1创建新的UNDO表空间
13:50:36SQL>createundotablespaceundotbs2datafile'/data2/undotbs2_01.dbf'size10m;
Tablespacecreated.
13:54:26SQL>selectTABLESPACE_NAME,STATUS,CONTENTSfromdba_tablespaceswhereCONTENTS='UNDO';
TABLESPACE_NAMESTATUSCONTENTS
---------------------------------
UNDOTBS1ONLINEUNDO
UNDOTBS2ONLINEUNDO
4.2.2切换undo表空间
13:54:49SQL>altersystemsetundo_tablespace='UNDOTBS2';
Systemaltered.
Elapsed:00:00:00.29
13:55:48SQL>showparameterundo;
NAMETYPEVALUE
-----------------------------------------------------------------------------
undo_managementstringAUTO
undo_retentioninteger900
undo_tablespacestringUNDOTBS2
13:55:57SQL>
4.2.3删除非默认undo表空间:
18:39:25SQL>select*fromv$tablespaceorderbyname;
TS#NAMEINCBIGFLAENC
-------------------------------------
9BIGFILE001YESYESYES
2SYSAUXYESNOYES
0SYSTEMYESNOYES
3TEMPNONOYES
11TEMP01NONOYES
7TEST001YESNOYES
8TEST002YESNOYES
6TEST01YESNOYES
1UNDOTBS1YESNOYES
5UNDOTBS2YESNOYES
4USERSYESNOYES
18:40:03SQL>droptablespaceUNDOTBS1includingcontentsanddatafiles;
Tablespacedropped.
Elapsed:00:00:02.23
18:42:37SQL>select*fromv$tablespaceorderbyname;
TS#NAMEINCBIGFLAENC
-------------------------------------
9BIGFILE001YESYESYES
2SYSAUXYESNOYES
0SYSTEMYESNOYES
3TEMPNONOYES
11TEMP01NONOYES
7TEST001YESNOYES
8TEST002YESNOYES
6TEST01YESNOYES
5UNDOTBS2YESNOYES
4USERSYESNOYES
10rowsselected.
Elapsed:00:00:00.02
18:42:43SQL>
4.2.4删除当前undo表空间则报错
18:42:43SQL>droptablespaceUNDOTBS2includingcontentsanddatafiles;
droptablespaceUNDOTBS2includingcontentsanddatafiles
*
ERRORatline1:
ORA-30013:undotablespace'UNDOTBS2'iscurrentlyinuse
11rowsselected.
相关文章推荐
- ORACLE空间管理实验1:探索LMT表空间管理下数据文件头的结构及位图中区的记录方式
- oracle学习笔记-存储空间管理(4)
- ORACLE 本地管理表空间与字典管理表空间的比较
- Oracle:undo表空间管理
- ORACLE空间管理实验2:区的管理与分配
- Oracle 空间管理
- Oracle 表空间的段管理
- oracle 表空间管理
- Oracle 自动段空间管理(ASSM:auto segment space management)
- oracle空间管理
- 探索ORACLE之RMAN_07 system表空间丢失恢复
- oracle 11g 最常用的基本管理命令,包括创建用户、表空间、权限等
- oracle 表空间管理
- Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称)
- 00059.Oracle创建数据字典管理的表空间
- Oracle undo 表空间管理
- oracle 创建表空间、创建用户管理该表空间
- oracle 第15章 undo表空间管理
- Oracle用户和表空间管理
- Oracle的UNDO表空间管理总结