过着简单,真实的生活,喜欢收藏变形金刚(TFE,G1,SL系列),研究金融股市,KOF98,篮球,学习研究Oracle技术,我并不是一个全职的Oracle DBA,但是对于Oracle技术的热爱和研究,是一个不争的事实,愿意结交广大Oracle技术爱好者!MSN:oracle_kof_tf@hotmail.com

表空间的一些零碎管理

上一篇 / 下一篇  2008-02-17 13:49:02 / 个人分类:Oracle数据库技术-数据库管理

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


TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar