System tablespace Vs User Tablespace
I'm running oracle 8i at Win2000 Server.
I have a database which have two SYSTEM tablepspaces and One User tablespace. Both SYSTEM Tablepspaces are near to FULL. Right now , The database performance is very poor. I can't understand why my SYSTEM tablespaces are growing fastly instead of User Tablepspace.
You cannot have multiple SYSTEM tablespaces... Do you mean that you have multiple datafiles associated with your SYSTEM tablespace?
Unless you assign users a default tablespace, objects that they create without specifying a tablespace will be placed in the SYSTEM tablespace, which is a bad thing. You probably have user objects in your SYSTEM tablespace.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC
Similar Messages
-
Reasons to use separate temp tablespace for user tablespace
Hi,
I know that guideline says is not use system tablespace for user tables. But need i create for user tablespace separate TEMP teblespace or i can use same TEMP tablespace for all tablespaces?Hi,
>>But need i create for user tablespace separate TEMP tablespace or i can use same TEMP tablespace for all tablespaces?
You can use one temp tablespace for a database , Temp tablespace usage are for sorting the data.
for more detail you can go with :Creating Tablespaces
HTH -
Transport table from system tablespace to another tablespace
hi there,
how can we transport a table from system tablespace to another tablespace(example users tablespace)?Assuming you are not trying to move any data dictionary tables.
Use alter table to move it,
ALTER TABLE my_table MOVE TABLESPACE USERS;
Rebuild index after move.
This will work on Oracle 9i and above. -
Should Default Tablespace for User DIP be "SYSTEM" or "USERS"?
Oracle Enterprise Manager is giving me a warning about some non-system users who have a default tablespace of SYSTEM. One of the users is DIP. Is it OK for me to change the default tablespace for DIP to USERS, or should it remain SYSTEM?
Thank you,
BillTo the best of my knowledge user DIP was created automatically by Oracle software when I upgraded my database from 8i to 10gR2. In my mind that means it is needed for managing some system function in the database. That is why I hesitate to change the default tablespace from SYSTEM to USERS.
If user DIP is tied to use of Oracle Directory Integration and Provisioning then I am not knowingly using the DIP account. I do not know what Directory Integration and Provisioning is and read about it only when researching this tablespace question. That being said, I expect that Oracle software does a lot of things internally that I am not aware of.
I was hoping someone familiar with user DIP could tell me that changing the default tablespace to USERS for this Oracle supplied account would do no harm.
Thank you,
Bill -
Oracle 11gR2 Partition tables not creating in default user tablespace
Hi all:
Not sure if i'm missing something or overlooked but when i create a partition table in a user schema, it is not creating in the schema's default tablespace instead creating with no assigned to any and using SYSTEM tablesspace.
create user dgp identified by dgp default tablespace dgp temporary tablespace temp;
grant connect, resource to dgp;select USERNAME,DEFAULT_TABLESPACE from dba_users where username ='DGP';
USERNAME DEFAULT_TABLESPACE
DGP DG
select table_name, tablespace_name, partitioned from all_tables where owner='DGP';
TABLE_NAME TABLESPACE_NAME PAR
AUDITLOG_P2 DG NO
AUDITLOG_P YES
This is the partition script i used --i also gave the tablespace name:
CREATE TABLE dgp.AUDITLOG_P(
entry_time DATE,
username VARCHAR2(14),
groupname VARCHAR2(100),
ip VARCHAR2(15),
command VARCHAR2(15),
directory VARCHAR2(300)
PARTITION BY RANGE (entry_time)
partition P_PAST VALUES LESS THAN (TO_DATE('2010-01-01','YYYY-MM-DD')),
tablespace DG;
============
What is it i'm missing? Anything different with Oracle 11gR2 on the partition creations?
Thanks for your help..
Regards,
AshYes, i tried using the schema login adn creating the table as well as system with schemaname prefix....
this is what i get from the below
SQL> select def_tablespace_name from dba_part_tables where table_name ='AUDITLOG_P';
DEF_TABLESPACE_NAME
DG
SQL> select partition_name, tablespace_name from dba_tab_partitions where table_name='AUDITLOG_P';
PARTITION_NAME TABLESPACE_NAME
P_PAST DG
P_20100101 DG
P_20100102 DG
P_20100103 DG
P_20100104 DG
P_20100105 DG
P_20100106 DG
P_20100107 DG
P_20100108 DG
P_20100109 DG
P_20100110 DG
P_20100111 DG
P_20100112 DG
P_20100113 DG
P_20100114 DG
P_20100115 DG
P_20100116 DG
P_20100117 DG
P_20100118 DG
P_20100119 DG
P_20100120 DG
P_20100121 DG
P_20100122 DG
P_20100123 DG
P_20100124 DG
P_20100125 DG
P_20100126 DG
P_20100127 DG
P_20100128 DG
P_20100129 DG
P_FUTURE DG
31 rows selected. -
TIP 01: Default User Tablespace in 10g by Joel Pèrez
Hi OTN Readers!
Everyday I get connection on Internet and one of the first issues that
I do is to open the OTN main page to look for any new article or any
new news about the Oracle Technology. After I open the main page of
OTN Forums and I check what answers I can write to help some people
to work with the Oracle Technology and I decide to begin to write some
threads to help DBAs and Developers to learn the new features of 10g.
I hope you can take advantage of them which will be published here in
this forum. For any comment you can write to me directly to : [email protected]
Please do not replay this thread, if you have any question related to
this I recommend you to open a new post. Thanks!
The tip of this thread is: DEFAULT USER TABLESPACE
Joel Pérez
http://otn.oracle.com/expertsStep 9: At the step 5 We changed the default tablespace of the database but there is an
important detail that We have to realize. That detail is the following : when you change
the default tablespace of the database. The users were using it are move to store its objects
in the new default tablespace but the objects that were stored in the original tablespace
remain there. Let's go to look at it:
Here We are connected to the database as system user
SQL> show user
USER is "SYSTEM"Let's go to get connection as new_user user in order to create a table
SQL> conn new_user/new_user@base1
Connected.
Creating a table in the schema NEW_USER
SQL> create table t1_new_user(c1 number);
Table created.As you can see that table is stored in the default tablespace assigned to the user new_user
SQL> select TABLE_NAME, TABLESPACE_NAME from dba_tables
2 where owner='NEW_USER';
TABLE_NAME TABLESPACE_NAME
T1_NEW_USER USERS1Now, We are going to perform the change at the database level regarding the default tablespace
SQL> alter database default tablespace TEST;
Database altered.Now, Let's go to see where the object is stored
SQL> select TABLE_NAME, TABLESPACE_NAME from dba_tables
2 where owner='NEW_USER';
TABLE_NAME TABLESPACE_NAME
T1_NEW_USER USERS1The object remain in the original tablespace assigned to the user new_user.
Here We can realize that the change was successful but the table still remain in the original
tablespace. You will have to move manually the objects to a new default tablespace.
SQL> select USERNAME, DEFAULT_TABLESPACE from dba_users
2 where username='NEW_USER';
USERNAME DEFAULT_TABLESPACE
NEW_USER TESTJoel Pérez
http://otn.oracle.com/experts -
Grant previleges on tablespace to user.
Hai,
I have created one tablespace calles detail. I created one user student and set default tablespace of detail.
But while creating table in student user, it says 'no privileges on tablespace 'detail'.
How to grant that privilege to user student. Reply ASAP.
Thanks & Regards,
Kannan.I have created one tablespace calles detail. I created one user student and set default tablespace of detail.
But while creating table in student user, it says 'no privileges on tablespace 'detail'.
How to grant that privilege to user student. Reply ASAP.
Grant user student access to use all space in the detail tablespace:
ALTER USER student QUOTA UNLIMITED ON detail;
Prevent user student from using space in the system tablespace:
ALTER USER student QUOTA 0 ON system; -
Problem Exporting 'USER' Tablespace Metadata
I am having problem using Data Pump Export to export the 'USERS' tablespace metadata.
When I make the USERS tablespace read only and run the Data Export job, the job aborts with "ORA-01647: tablespace 'USERS' is read only, cannot allocate space in it."
But then when I make the USERS tablespace read and write, the job aborts with "ORA-29335: tablespace 'USERS' is not read only."
I've been caught in this CATCH-22 for the 2nd day now, and I could really use some help. I'm on a Windows 32 platform running Oracle 10g, and here is a copy of the Data Pump Export script/command that I am running at the operating system prompt, which works fine for other tablespaces' metadata, like 'EXAMPLE':
$ expdp myusername/**mypassword* TRANSPORT_TABLESPACES=users TRANSPORT_FULL_CHECK=Y DIRECTORY=dtpump DUMPFILE=expdp_users.dmp logfile=expdp_users.log
Thanks!Hi,
The problem is that the datapump creates a table called the master table. It creates this in the schema running the job. If this schema has a default tablespace that you are trying to transport, then this won't work. You will have to use a different schema that does not use the set of tablespaces that you are transporting, or alter the use that is running the datapump job to have a different default tablespace.
So, basically, datapump requires write access to the tablesspace that the user uses and transportable requires the tablespace to be read only.
If it were me, I would do this:
sqlplus username/password
alter user username default tablespace system;
exit
run your expdp command
sqlplus username/password
alter user username default tablespace orig_tablespace;
exit
Dean -
Import Date Go to User Tablespace
i create one tablespace for one user and grant this tablespace or put default tablespace to user .but when import tables go directly in USERS tablespace. Please Advice Me How Make Solution.
Ahmed.Where were the tables on the source database created. If they were created in tablespace users, then that is where they will be created on the target system. Just because you changed the default tablespace on the target database doesn't mean that is where the tables will be loaded.
If you want to move them to a different tablespace I think you need to make sure the old tablespace is not there.
If you use datapump, you can use the remap_tablespace parameter
remap_tablespace=old_tablespace:new_tablespace
This is not available on exp/imp.
Dean
Edited by: Dean Gagne on Aug 13, 2009 10:50 AM -
Hello,
After I created an Oracle 9i database using Database Configuration Assistance, I noticed several tablespaces are created including SYSTEM, UNDO, and USER.
I created one permanent and one temporary tablespaces of my own (TESTTB1, TESTTEMPTB1). Then I created a user and assigned my new user to the tablespaces that I created (TESTTB1,TESTTEMPTB1).
During our application load test, I noticed the USER tablespace, the one that got created during database creation is being used a lot.
I am curious to know who is using the USER tablespace and for what kind of work? My understanding was that the Oracle uses the SYSTEM, UNDO and TEMP tablespaces.
Thank you,
MitraTry this script to find out who and what is occupying you USERS tablespace
select owner,segment_name, segment_type, tablespace_name,bytes,blocks
from dba_segments
where tablespace_name = 'USERS'
Best Regards
Krystian Zieja / mob -
Hi All,
In my database I have users tablespace and its datafile is users01.dbf. File size is 24.5 GB, but used data is 1.2 GB. I got this information from OEM, see below image:
https://picasaweb.google.com/100555146235257804098/Oracle_a1#5759303022195932370
How can I free the unused 23GB space?
Just to let you know about my background knowledge, I am an OBI report developer.
Thanks!Just in case if this also helps.
I got a query to find the free space from
SELECT /* + RULE */ df.tablespace_name "Tablespace",
df.bytes / (1024 * 1024) "Size (MB)",
SUM(fs.bytes) / (1024 * 1024) "Free (MB)",
Nvl(Round(SUM(fs.bytes) * 100 / df.bytes),1) "% Free",
Round((df.bytes - SUM(fs.bytes)) * 100 / df.bytes) "% Used"
FROM dba_free_space fs,
(SELECT tablespace_name,SUM(bytes) bytes
FROM dba_data_files
GROUP BY tablespace_name) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,df.bytes
UNION ALL
SELECT /* + RULE */ df.tablespace_name tspace,
fs.bytes / (1024 * 1024),
SUM(df.bytes_free) / (1024 * 1024),
Nvl(Round((SUM(fs.bytes) - df.bytes_used) * 100 / fs.bytes), 1),
Round((SUM(fs.bytes) - df.bytes_free) * 100 / fs.bytes)
FROM dba_temp_files fs,
(SELECT tablespace_name,bytes_free,bytes_used
FROM v$temp_space_header
GROUP BY tablespace_name,bytes_free,bytes_used) df
WHERE fs.tablespace_name (+) = df.tablespace_name
GROUP BY df.tablespace_name,fs.bytes,df.bytes_free,df.bytes_used
ORDER BY 4 DESC;
Results are:
TABLESPACE SIZE(MB) FREE(MB) %FREE %USED
USERS 24544.1875 23344.25 95 5
UNDOTBS1 965 878.25 91 9
EXAMPLE 100 21.6875 22 78
SYSAUX 828.8125 48.1875 6 94
SYSTEM 760 6.3125 1 99
TEMP 1315 0 0 100
thanks for your time let me know if you need any other information. -
Unable to drop USERS tablespace.
Hi All,
I am trying to drop USERS tablespace and facing below error.
PLATFORM:
OS: Linux Ubuntu 9.04 LTS
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for Linux: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
PROBLEM:
SQL> drop tablespace users including contents and datafiles cascade constraints;
drop tablespace users including contents and datafiles cascade constraints
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables
When I see, dba_queue_tables...
SQL> select owner, queue_table, object_type from dba_queue_tables;
OWNER QUEUE_TABLE OBJECT_TYPE
SYS ALERT_QT SYS.ALERT_TYPE
SYS AQ$_MEM_MC
SYS AQ_EVENT_TABLE SYS.AQ$_EVENT_MESSAGE
SYS AQ_SRVNTFN_TABLE SYS.AQ$_SRVNTFN_MESSAGE
SYS KUPC$DATAPUMP_QUETAB SYS.KUPC$_MESSAGE
SYS SCHEDULER$_EVENT_QTAB SYS.SCHEDULER$_EVENT_INFO
SYS SCHEDULER$_JOBQTAB SYS.ANYDATA
SYS SYS$SERVICE_METRICS_TAB SYS.SYS$RLBTYP
SYSMAN MGMT_NOTIFY_QTABLE SYSMAN.MGMT_NOTIFY_NOTIFICATION
SYSTEM DEF$_AQCALL
SYSTEM DEF$_AQERROR
11 rows selected.
Also, there are no tables in USERS tablespace now, as I've moved all to other tablespace.
SQL> select count(*) from dba_tables where tablespace_name='USERS';
COUNT(*)
0
USERS tablespace is not permanent tablespace as I've changed it to some other, still the problem.
SQL> select property_name, property_value from database_properties where PROPERTY_NAME = 'DEFAULT_PERMANENT_TABLESPACE'
PROPERTY_NAME PROPERTY_VALUE
DEFAULT_PERMANENT_TABLESPACE DEV
Can you please help me drop the USERS tablespace.Thanks Hemant,
I queried as below.
SQL> select count(*) from dba_segments where tablespace_name='USERS';
COUNT(*)
7
SQL> SELECT owner, segment_name, segment_type from dba_segments where tablespace_name='USERS';
OWNER SEGMENT_NAME
SEGMENT_TYPE
IX SYS_IOT_TOP_62384
INDEX
IX SYS_IOT_TOP_62386
INDEX
IX SYS_IOT_TOP_62390
INDEX
IX SYS_IOT_TOP_62392
INDEX
IX SYS_IOT_TOP_62395
INDEX
IX SYS_IOT_TOP_62397
INDEX
IX SYS_IOT_TOP_62401
INDEX
7 rows selected.
SQL> drop user ix cascade;
drop user ix cascade
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-24005: must use DBMS_AQADM.DROP_QUEUE_TABLE to drop queue tables
Then connected as 'IX' user.
IX@devdb> exec sys.DBMS_AQADM.DROP_QUEUE_TABLE(queue_table=>'SYS_IOT_TOP_62384',force => TRUE);
BEGIN sys.DBMS_AQADM.DROP_QUEUE_TABLE(queue_table=>'SYS_IOT_TOP_62384',force => TRUE); END;
ERROR at line 1:
ORA-24002: QUEUE_TABLE IX.SYS_IOT_TOP_62384 does not exist
ORA-06512: at "SYS.DBMS_AQADM_SYS", line 4084
ORA-06512: at "SYS.DBMS_AQADM", line 197
ORA-06512: at line 1
IX@devdb> alter index SYS_IOT_TOP_62384 rebuild tablespace dev;
alter index SYS_IOT_TOP_62384 rebuild tablespace dev
ERROR at line 1:
ORA-28650: Primary index on an IOT cannot be rebuilt
IX@devdb> SELECT INDEX_TYPE,TABLE_NAME,TABLESPACE_NAME,STATUS FROM USER_INDEXES;
INDEX_TYPE TABLE_NAME TABLESPACE_NAME STATUS
LOB STREAMS_QUEUE_TABLE DEV VALID
NORMAL ORDERS_QUEUETABLE DEV VALID
NORMAL STREAMS_QUEUE_TABLE DEV VALID
NORMAL AQ$_ORDERS_QUEUETABLE_S DEV VALID
NORMAL AQ$_STREAMS_QUEUE_TABLE_C DEV VALID
NORMAL AQ$_STREAMS_QUEUE_TABLE_S DEV VALID
LOB STREAMS_QUEUE_TABLE DEV VALID
LOB ORDERS_QUEUETABLE DEV VALID
IOT - TOP AQ$_STREAMS_QUEUE_TABLE_T USERS VALID
IOT - TOP AQ$_STREAMS_QUEUE_TABLE_I USERS VALID
IOT - TOP AQ$_STREAMS_QUEUE_TABLE_H USERS VALID
IOT - TOP AQ$_STREAMS_QUEUE_TABLE_C USERS VALID
IOT - TOP AQ$_ORDERS_QUEUETABLE_T USERS VALID
IOT - TOP AQ$_ORDERS_QUEUETABLE_I USERS VALID
IOT - TOP AQ$_ORDERS_QUEUETABLE_H USERS VALID
15 rows selected.
IX@devdb> alter table AQ$_STREAMS_QUEUE_TABLE_T move tablespace dev;
alter table AQ$_STREAMS_QUEUE_TABLE_T move tablespace dev
ERROR at line 1:
ORA-08108: may not build or rebuild this type of index online -
Alter user default tablespace and temporary tablespace
Hi guru,
target : to ensure that users don't have the SYSTEM tablespace as their TEMPORARY or DEFAULT tablespace
scenario :
user default tablespace temporary tablespace
xxyym system system
Question: How to alter user ?
tqIn a scenario, let's say you want to make USERS the default tablespace for existing users and TEMP the default temporary tablespace, you can also create the alter statements as below into one script based on the output and run it.
select 'ALTER USER '||username||' DEFAULT TABLESPACE USERS;' FROM DBA_USERS WHERE DEFAULT_TABLESPACE IN('SYSTEM')
and username not in('SYS','SYSTEM');
select 'ALTER USER '||username||' TEMPORARY TABLESPACE TEMP;' FROM DBA_USERS WHERE TEMPORARY_TABLESPACE IN('SYSTEM');As magnus mentioned, don't forget to do this(if USERS and TEMP is what you want to go with) :
ALTER DATABASE DEFAULT TABLESPACE USERS;
ALTER DATABASE DEFAULT TEMPORARY TABLESPACE TEMP; -
Hello,
I have a database set up with a separate disk volume for users.dbf.
I also create an additional tablespace in a different disk volume by
create tablespace test_users datafile '/opt/vxfs/temp10/test_users.dbf' size 128K autoextend on next 8K ;
"test_users" tablespace is dedicated for the test table. I run some queries on the test table.
As expected majority of the physical IO transactions are in the volume that holds the "test_users.dbf". But what confuses me is the few physical IO happening on "users.dbf" volume. Although the number of IO blocks transferred is less in users.dbf, compared to test_users.dbf, it is significantly high.
Note: No other table is queried that could be using users.dbf. Actually there is no other table that I created in the database.
system details : HPUX ,oracle11G
Any explanation for physical IO activity in users.dbf or some references would be great.
TIA,
NanjappanSeems like you are not factoring two caches into your equation.
There is an Oracle db buffer cache sitting between SQL + PL/SQL and the objects in the USERS tablespace.
There is a Unix file system cache sitting between Oracle accessing the physical datafile and the o/s kernel fs driver performing actual physical I/O on that file and that fs volume. -
Error when dropping a user/tablespace
Hi
I am trying to drop user/tablespaces, but I got the following error
SQL> drop user SM92 cascade;
drop user SM92 cascade
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-00942: table or view does not exist
Currently this user has not tables or view, the statement select * from all_tables where owner='SM92' return no row
ANyone knows why I can't drop this user? What should I check?
Thanks
LiHi, probably the user has dependency with other schemas, please review the Note:361576.1 into metalink site.
Good luck.
Regards.
Maybe you are looking for
-
Error while posting Vendor Excise Invoice
Hi Balance in transaction currency Message no. F5702 Diagnosis A balance has occurred in transaction currency 'INR' with the following details: Exchange rate '00', amount ' 18.16' and currency key 'INR'. The data in the transaction currenc
-
HT1535 Can I use 1 itunes library for 2 devices?
I have iphone 3gs which i sync with itunes on my laptop. I also have lots of music on my ipod. Can I transfer music from my ipod to the same itunes library that Iuse for my phone?
-
Android Simulator causes Kernel Panics
I don't know if this is system related or just a problem with the Android Simulator. I'm doing some development for Android 3.0 and i keep getting kernel panics when running Simulator. It's really bad, since I can get several reboots a day... Anyone
-
Recording loses brilliance from the studio to the car
I have a non RTFM question! LOL! I just finished a song that sounds really good on my recording monitors......all the brilliance and clarity in the sounds are there. Then when I crunch it to MP3 and put the CD in my car it sounds like a cheap demo. L
-
Hi, my o/p screen is divided into 2 parts, left is tree control and right selection-screen shud be displayed when i click on a node of tree control, it is dispalying a selection-screen on the next screen but i want it to be displayed on that screen i