1.修改默认数据库表空间:
C:\>set ORACLE_SID=irmdb
C:\>sqlplus /nolog
SQL*Plus: Release 10.2.0.3.0 - Production on 星期日 2月 17 13:42:19 2008
Copyright (c) 1982, 2006, Oracle. All Rights Reserved.
SQL> conn / as sysdba;
已连接。
SQL> desc database_properties;
名称 是否为空? 类型
----------------------------------------- -------- ---------------------
PROPERTY_NAME NOT NULL VARCHAR2(30)
PROPERTY_VALUE VARCHAR2(4000)
DESCRIPTION VARCHAR2(4000)
SQL> select property_value fromdatabase_properties
2 where property_name = 'DEFAULT_PERMANENT_TABLESPACE';
PROPERTY_VALUE
-------------------------------------------------------------------------
USERS
SQL>alter database default tablespace system;
数据库已更改。
SQL> select property_value from database_properties
2 where property_name = 'DEFAULT_PERMANENT_TABLESPACE';
PROPERTY_VALUE
-------------------------------------------------------------------------
SYSTEM
SQL> alter database default tablespace users;
数据库已更改。
SQL> select property_value from database_properties
2 where property_name = 'DEFAULT_PERMANENT_TABLESPACE';
PROPERTY_VALUE
-------------------------------------------------------------------------
USERS
2.不同块大小的支持
SQL> create tablespace myspace
2 datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\myspace.dbf' size 10m
3 blocksize 2048;
create tablespace myspace
*
第 1 行出现错误:
ORA-29339: 表空间块大小 2048 与配置的块大小不匹配
SQL> show parameter db_2k_cache_size;
NAME TYPE VALUE
------------------------------------ ----------- ----------------------------
db_2k_cache_size big integer 0
SQL> alter system set db_2k_cache_size=10m;
系统已更改。
SQL> create tablespace myspace
2 datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\myspace.dbf' size 10m
3 blocksize 2048;
表空间已创建。
3.重命名表空间(Oracle 10g support)
为了避免在传输表空间的时候,源数据库和目标数据库的表空间命名存在冲突,特别enable了这个特性:
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
EXAMPLE
TEST
UNDO_SMALL
RBTEST
MYSPACE
已选择10行。
SQL>alter tablespace myspace rename to myalan;
表空间已更改。
SQL> select tablespace_name from dba_tablespaces;
TABLESPACE_NAME
------------------------------
SYSTEM
UNDOTBS1
SYSAUX
TEMP
USERS
EXAMPLE
TEST
UNDO_SMALL
RBTEST
MYALAN
已选择10行。
4.删除表空间中的数据文件(Oracle 10gR2以后support)
SQL> alter tablespace myalan
2 add datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\myspace02.dbf' size 10m;
表空间已更改。
SQL> select file_name from dba_data_files where tablespace_name='MYALAN';
FILE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF' offline drop;
数据库已更改。
SQL> select file_name from dba_data_files where tablespace_name='MYALAN';
FILE_NAME
--------------------------------------------------------------------------------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE.DBF
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF
SQL> alter tablespace myalan drop datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF';
alter tablespace myalan drop datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF'
*
第 1 行出现错误:
ORA-03264: 无法删除本地管理的表空间中的脱机数据文件
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF' online;
alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF' online
*
第 1 行出现错误:
ORA-01113: 文件 10 需要介质恢复
ORA-01110: 数据文件 10: 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF'
SQL> recover datafile 10;
完成介质恢复。
SQL> alter database datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF' online;
数据库已更改。
SQL> select file_name,status from dba_data_Files where tablespace_name='MYALAN';
FILE_NAME
--------------------------------------------------------------------------------
STATUS
---------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE.DBF
AVAILABLE
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF
AVAILABLE
SQL> alter tablespace myalan drop datafile 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE02.DBF';
表空间已更改。
SQL> select file_name,status from dba_data_Files where tablespace_name='MYALAN';
FILE_NAME
--------------------------------------------------------------------------------
STATUS
---------
D:\ORACLE\PRODUCT\10.2.0\ORADATA\IRMDB\MYSPACE.DBF
AVAILABLE