每一个数据库,都有一个默认永久表空间与之对应。既然冠以“默认”的称号,索引这个表空间是不允许轻易被删除的。本文给出Oracle默认表空间的查询方法以及删除方法。
1.获取数据库的默认永久表空间
此信息可以通过DATABASE_PROPERTIES视图获取。
sys@ora10g> set lines 131
sys@ora10g> col property_name for a30
sys@ora10g> col property_value for a30
sys@ora10g> col description for a40
sys@ora10g> select * from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
---------------------------- -------------- ------------------------------------
DEFAULT_PERMANENT_TABLESPACE USERS Name of default permanent tablespace
此系统的默认永久表空间是USERS。
2.尝试删除默认永久表空间
sys@ora10g> drop tablespace USERS including contents and datafiles;
drop tablespace USERS including contents and datafiles
*
ERROR at line 1:
ORA-12919: Can not drop the default permanent tablespace
此时的“ORA-12919”报错详细的记录了问题原因。
3.默认永久表空间的删除方法
既然是因为是“默认”的永久表空间不可以删除,我们仅需将默认的永久表空间指定到其他表空间,然后USERS表空间便可以被顺利删除。
1)将数据库系统的默认永久表空间调整到TBS_SEC_D
sys@ora10g> alter database default tablespace TBS_SEC_D;
Database altered.
2)确认调整效果
sys@ora10g> select * from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
---------------------------- -------------- ------------------------------------
DEFAULT_PERMANENT_TABLESPACE TBS_SEC_D Name of default permanent tablespace
3)删除原默认永久表空间USERS
sys@ora10g> drop tablespace USERS including contents and datafiles;
Tablespace dropped.
删除成功。
4.小结
本文给出了Oracle数据库默认永久表空间的查询及删除方法。
BTW,通过database_properties视图我们可以获取数据库很多其他默认信息。如下所示。
sys@ora10g> select * from database_properties;
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
------------------------------ ------------------------------ ------------------------------------
DICT.BASE 2 dictionary base tables version #
DEFAULT_TEMP_TABLESPACE TEMP Name of default temporary tablespace
DEFAULT_PERMANENT_TABLESPACE TBS_SEC_D Name of default permanent tablespace
DBTIMEZONE +08:00 DB time zone
DEFAULT_TBS_TYPE SMALLFILE Default tablespace type
NLS_LANGUAGE AMERICAN Language
NLS_TERRITORY AMERICA Territory
NLS_CURRENCY $ Local currency
NLS_ISO_CURRENCY AMERICA ISO currency
NLS_NUMERIC_CHARACTERS ., Numeric characters
NLS_CHARACTERSET WE8ISO8859P1 Character set
NLS_CALENDAR GREGORIAN Calendar system
NLS_DATE_FORMAT DD-MON-RR Date format
NLS_DATE_LANGUAGE AMERICAN Date language
NLS_SORT BINARY Linguistic definition
NLS_TIME_FORMAT HH.MI.SSXFF AM Time format
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM Time stamp format
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR Time with timezone format
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR Timestamp with timezone format
NLS_DUAL_CURRENCY $ Dual currency symbol
NLS_COMP BINARY NLS comparison
NLS_LENGTH_SEMANTICS BYTE NLS length semantics
NLS_NCHAR_CONV_EXCP FALSE NLS conversion exception
NLS_NCHAR_CHARACTERSET AL16UTF16 NCHAR Character set
NLS_RDBMS_VERSION 10.2.0.1.0 RDBMS version for NLS parameters
GLOBAL_DB_NAME ORA10G Global database name
EXPORT_VIEWS_VERSION 8 Export views revision #
27 rows selected.
Good luck.
secooler
11.06.20
-- The End --
1.获取数据库的默认永久表空间
此信息可以通过DATABASE_PROPERTIES视图获取。
sys@ora10g> set lines 131
sys@ora10g> col property_name for a30
sys@ora10g> col property_value for a30
sys@ora10g> col description for a40
sys@ora10g> select * from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
---------------------------- -------------- ------------------------------------
DEFAULT_PERMANENT_TABLESPACE USERS Name of default permanent tablespace
此系统的默认永久表空间是USERS。
2.尝试删除默认永久表空间
sys@ora10g> drop tablespace USERS including contents and datafiles;
drop tablespace USERS including contents and datafiles
*
ERROR at line 1:
ORA-12919: Can not drop the default permanent tablespace
此时的“ORA-12919”报错详细的记录了问题原因。
3.默认永久表空间的删除方法
既然是因为是“默认”的永久表空间不可以删除,我们仅需将默认的永久表空间指定到其他表空间,然后USERS表空间便可以被顺利删除。
1)将数据库系统的默认永久表空间调整到TBS_SEC_D
sys@ora10g> alter database default tablespace TBS_SEC_D;
Database altered.
2)确认调整效果
sys@ora10g> select * from database_properties where property_name='DEFAULT_PERMANENT_TABLESPACE';
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
---------------------------- -------------- ------------------------------------
DEFAULT_PERMANENT_TABLESPACE TBS_SEC_D Name of default permanent tablespace
3)删除原默认永久表空间USERS
sys@ora10g> drop tablespace USERS including contents and datafiles;
Tablespace dropped.
删除成功。
4.小结
本文给出了Oracle数据库默认永久表空间的查询及删除方法。
BTW,通过database_properties视图我们可以获取数据库很多其他默认信息。如下所示。
sys@ora10g> select * from database_properties;
PROPERTY_NAME PROPERTY_VALUE DESCRIPTION
------------------------------ ------------------------------ ------------------------------------
DICT.BASE 2 dictionary base tables version #
DEFAULT_TEMP_TABLESPACE TEMP Name of default temporary tablespace
DEFAULT_PERMANENT_TABLESPACE TBS_SEC_D Name of default permanent tablespace
DBTIMEZONE +08:00 DB time zone
DEFAULT_TBS_TYPE SMALLFILE Default tablespace type
NLS_LANGUAGE AMERICAN Language
NLS_TERRITORY AMERICA Territory
NLS_CURRENCY $ Local currency
NLS_ISO_CURRENCY AMERICA ISO currency
NLS_NUMERIC_CHARACTERS ., Numeric characters
NLS_CHARACTERSET WE8ISO8859P1 Character set
NLS_CALENDAR GREGORIAN Calendar system
NLS_DATE_FORMAT DD-MON-RR Date format
NLS_DATE_LANGUAGE AMERICAN Date language
NLS_SORT BINARY Linguistic definition
NLS_TIME_FORMAT HH.MI.SSXFF AM Time format
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM Time stamp format
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR Time with timezone format
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR Timestamp with timezone format
NLS_DUAL_CURRENCY $ Dual currency symbol
NLS_COMP BINARY NLS comparison
NLS_LENGTH_SEMANTICS BYTE NLS length semantics
NLS_NCHAR_CONV_EXCP FALSE NLS conversion exception
NLS_NCHAR_CHARACTERSET AL16UTF16 NCHAR Character set
NLS_RDBMS_VERSION 10.2.0.1.0 RDBMS version for NLS parameters
GLOBAL_DB_NAME ORA10G Global database name
EXPORT_VIEWS_VERSION 8 Export views revision #
27 rows selected.
Good luck.
secooler
11.06.20
-- The End --
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/519536/viewspace-700343/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/519536/viewspace-700343/