當(dāng)前位置:
首頁(yè) >
Oracle-USERS表空间解读
發(fā)布時(shí)間:2025/3/21
58
豆豆
生活随笔
收集整理的這篇文章主要介紹了
Oracle-USERS表空间解读
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
背景
同事在使用數(shù)據(jù)泵導(dǎo)入dmp文件時(shí),拋出了一個(gè)異常
ORA-39171: Job is experiencing a resumable wait. ORA-01691: unable to extend lob segment CC_CK.SYS_LOB0000089385C00045$$ by 128 in tablespace USERSUSERS表空間無(wú)法擴(kuò)展了.
事實(shí)上,我們的數(shù)據(jù)不應(yīng)該存放在默認(rèn)的表空間內(nèi)。
概述
USERS表空間也就是默認(rèn)用戶表空間。
在創(chuàng)建一個(gè)用戶并沒(méi)有指定此用戶使用表空間時(shí),該用戶所有信息都會(huì)放入到users表空間中。
常用操作
查看默認(rèn)用戶表空間
SQL>select * from database_properties where property_name like '%DEF%';創(chuàng)建表空間
SQL> create tablespace TAB_XGJ datafile '/oradata/datafile/tab_xgj01.dbf' size 1024m autoextend on next 2000M maxsize unlimited extent management local autoallocate segment space management auto ;各種屬性根據(jù)實(shí)際情況取舍。
指定單個(gè)用戶默認(rèn)表空間
建立用戶時(shí)直接指定
SQL> create user xgj identified by xgj default tablespace tab_xgj;或者
SQL> create user xgj identified by xgj ; SQL> alter user xgj default tablespace tab_xgj;如果需要指定臨時(shí)表空間
SQL>create user xgj identified by xgj default tablespace tab_xgjtemporary tablespace temp;查看所有用戶的默認(rèn)表空間
SQL> select username,default_tablespace from dba_users;創(chuàng)建用戶實(shí)例
oracle@entel2:[/oracle]$sqlplus sys/system as sysdba;SQL*Plus: Release 11.2.0.4.0 Production on Sat Jan 7 12:46:58 2017Copyright (c) 1982, 2013, Oracle. All rights reserved.Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing optionsSQL> create user cc_ck identified by xgj;User created.SQL> grant dba to cc_ck;Grant succeeded.SQL> GRANT CONNECT ,RESOURCE TO cc_ck;Grant succeeded.SQL> GRANT ALL PRIVILEGES TO cc_ck;Grant succeeded.SQL> alter user cc_ck default tablespace TAB_CC;User altered. 或者在創(chuàng)建時(shí)指定TABLESPACE CREATE USER cc_CK IDENTIFIED BY smart DEFAULT TABLESPACE TAB_CC;SQL> exit Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production With the Partitioning, OLAP, Data Mining and Real Application Testing options oracle@entel2:[/oracle]$附
查詢表空間大小的SQL
--Oracle 表空間使用率 SELECT D.TABLESPACE_NAME, SPACE || 'M' "SUM_SPACE(M)", SPACE - NVL (FREE_SPACE, 0) || 'M' "USED_SPACE(M)", ROUND ( (1 - NVL (FREE_SPACE, 0) / SPACE) * 100, 2) || '%' "USED_RATE(%)", FREE_SPACE || 'M' "FREE_SPACE(M)" FROM ( SELECT TABLESPACE_NAME, ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE, SUM (BLOCKS) BLOCKS FROM DBA_DATA_FILES GROUP BY TABLESPACE_NAME) D, ( SELECT TABLESPACE_NAME, ROUND (SUM (BYTES) / (1024 * 1024), 2) FREE_SPACE FROM DBA_FREE_SPACE GROUP BY TABLESPACE_NAME) F WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) UNION ALL --如果有臨時(shí)表空間 SELECT D.TABLESPACE_NAME, SPACE || 'M' "SUM_SPACE(M)", USED_SPACE || 'M' "USED_SPACE(M)", ROUND (NVL (USED_SPACE, 0) / SPACE * 100, 2) || '%' "USED_RATE(%)", NVL (FREE_SPACE, 0) || 'M' "FREE_SPACE(M)" FROM ( SELECT TABLESPACE_NAME, ROUND (SUM (BYTES) / (1024 * 1024), 2) SPACE, SUM (BLOCKS) BLOCKS FROM DBA_TEMP_FILES GROUP BY TABLESPACE_NAME) D, ( SELECT TABLESPACE_NAME, ROUND (SUM (BYTES_USED) / (1024 * 1024), 2) USED_SPACE, ROUND (SUM (BYTES_FREE) / (1024 * 1024), 2) FREE_SPACE FROM V$TEMP_SPACE_HEADER GROUP BY TABLESPACE_NAME) F WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME(+) ORDER BY 1;總結(jié)
以上是生活随笔為你收集整理的Oracle-USERS表空间解读的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Oracle优化07-分析及动态采样-动
- 下一篇: Oracle海量数据优化-01分区的渊源