Users tablespace physical IO
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,
Nanjappan
Seems 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.
Similar Messages
-
Users, tablespaces, sequences & synonyms disappear from physical model
I added users, tablespaces, sequences & synonyms to my physical model, then I added tablespaces to tables & indexes, and some privileges to users. After that I saved and closed Data Modeler. When I reopened the design, all this information had disappeared. However I found the users, tablespaces, synonyms and sequences from the xml-files and for some reason Data Modeler can't show them in the physical model. Has anyone else had this kind of problem?
1. I did open the physical model and that's when I noticed that some things were missing.
2. I only have one physical model in my design.
3. After reopening the design this appeared in datamodeler.log:
2011-06-27 10:32:55,566 [main] INFO DataModelerAddin - Oracle SQL Developer Data Modeler 3.0.0.665
2011-06-27 10:39:41,407 [Thread-14] ERROR XMLTransformationManager - Unable to load object from XML: O:\MyDesigns\Design1\rel\579836B5-E123AC4CCCD2\phys\D9582E4E-2ED963CB9D32\SType\seg_0\47E390DE-0671-C4B1-8428-0F45CBEE18F8.xml
java.io.FileNotFoundException: O:\MyDesigns\Design1\rel\579836B5-E123AC4CCCD2\phys\D9582E4E-2ED963CB9D32\SType\seg_0\47E390DE-0671-C4B1-8428-0F45CBEE18F8.xml
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(FileInputStream.java:106)
at oracle.dbtools.crest.model.metadata.XMLToObjectTransformer.transformToObject(Unknown Source)
at oracle.dbtools.crest.model.metadata.XMLTransformationManager.transformFromXMLToObject(Unknown Source)
at oracle.dbtools.crest.model.metadata.XMLTransformationManager.openPhysicalModel(Unknown Source)
at oracle.dbtools.crest.swingui.browser.BrowserPanel$80.run(Unknown Source) -
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. -
How to find out where the tablespace physical file *.dbf ?
How to find out where is my tablespace physical file *.dbf ?
Can I increase tablespace_name: TEMP and how to increase it.
First, I need to know where is the TMP *.pdf file, am I right?
Thanks in advanceThis forum is for issues with the SQL Developer tool. You'd get more response in the General Database forum.
Have fun,
K. -
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 -
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 -
Moving objects from USERS tablespace
Hi All,
I want to clean my database and this involves moving all objects from USERS tablespace to their respective tablespaces. I have following types of objects in my database:
INDEX
INDEX PARTITION
INDEX SUBPARTITION
LOBINDEX
LOBSEGMENT
TABLE
TABLE PARTITION
TABLE SUBPARTITION
Syntax of moving TABLES and INDEXES is pretty simple. But, since there are other objects like TABLE PARTITION, INDEX PARTITION etc. Can anybody help me in finding out what are the syntax of all the above objects movement?
Thanks,
Danish
Edited by: Danish on Dec 5, 2008 5:19 AMHi..
You need to use the SUBPARTITION <name> instead of PARTITON<name>
For partition
ALTER TABLE parts MOVE PARTITION abc TABLESPACE xyz parallel (degree 2);
For subpartition
ALTER TABLE parts MOVE SUBPARTITION def TABLESPACE xyz PARALLEL (DEGREE 2);
This is because every segment represents one and only one type of database object,such as a table, a partition of a partitioned tables etc.For partitioned table , every partition resides in its own segment.
Anand
Edited by: Anand... on Dec 5, 2008 5:20 PM -
User Photo physical location in Who Is Who iView
Hi ,
Could you please let me know where will be the user photo physical location after uploading with Who Is Who iView.
ThanksHi,
from UserPhotoService class I can see method getPhoto, where:
public InputStream getPhoto(String uniqueID, String type) {
IUser user = getReadOnlyUser(uniqueID);
byte photo[] = user.getBinaryAttribute("com.sap.ip.collaboration.ume", "photo" + type);
return new ByteArrayInputStream(photo);
So I would assume, that the photo is uploaded into the UME.
Romano -
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 -
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 -
User tablespace did not copy during cold backup
Can anybody explain why this happened and how to fix?
I was doing regular weekly coldbackup and all other tablespaces got copied except user tablespace. I can not find any error in alert log and windows event log. The file size is 25G. Any idea?
ThanksThe original poster has declared that this a cold backup, so presumably no BEGIN/END BACKUP involved here. Further, how would those commands do anything to cause a backup script to SKIP the files for a tablespace?
As for the OP's problem, I will guess that this is occurring on Windows. Because the default flag that Windows programs use to open files often specify exclusivity, many backup scripts and packages will not be able to open (or copy) a file that is open by another process. Notably, if the backup is hitting such a problem it should be receiving (and hopefully logging) and error.
I can't guess what other program might have had the files open, but if Oracle did not successfully shut down completely, or if some threads failed to exit during shutdown, you would end up with some files with open filehandles. That would prevent commands like COPY from working on those files.
Solutions (if this is windows and my theory holds water) would include:
- Providing exception handling in the cold backup script to verify that Oracle has shutdown completely and that no Oracle threads remain.
- Switching to ocopy.exe (Oracle nonexclusive copy program for Windows) so that the backup would not fail on files with open filehandles. I guess this is a little reckless since the database could be open and the cold backup could proceed heedless of that fact.
- Use process explorer to track down what program has the files open after shutdown.
Hope this helps,
Jeremiah Wilton
ORA-600 Consulting
http://www.ora-600.net -
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. -
Hey to all
I want to drop USER tablespace wid data file but as we know many oracle users Scott OE data reside in users. How can I protect their data. One method which I read on net to export and import once again is quite cumbersome I run this query
SELECT
owner
, segment_name
, segment_type
FROM
dba_segments
WHERE
tablespace_name='USERS'
it give me two user OE and SCOTT. How can I protect their data before drop the user tablespaceHi..
As you said direct load takes place, then the rows which are inserted are always inserted above the HWM.So the datafile size size kept on increasing.
i read about segment advisor i run the advisor it shrink the segment but users tablespace size on OS still 200 GB could anyone tell why??You would have run alter table <table_name> shrink space; -- This statement will procede in two steps:
- The first step makes the segment compact by moving rows further down to free blocks at the beginning of the segment.
- The second step adjusts the high watermark. For this Oracle needs an exclusive table lock,but for a very short moment only.
The HWM goes below, and table are now more well organized.This command doesn't resize the datafile at the OS level.So, the datafile sizes will remain the same.One thing which you can do is resize(decrease) the datafile.
MINIMUM DATAFILE SIZE
COLUMN block_size NEW_VALUE v_block_size
SELECT TO_NUMBER(value) AS block_size
FROM v$parameter
WHERE name = 'db_block_size';
COLUMN tablespace_name FORMAT A20
COLUMN file_name FORMAT A50
COLUMN current_bytes FORMAT 999999999999999
COLUMN shrink_by_bytes FORMAT 999999999999999
COLUMN resize_to_bytes FORMAT 999999999999999
SET VERIFY OFF
SET LINESIZE 200
SELECT a.tablespace_name,
a.file_name,
a.bytes/1024/1024 AS current_MB,
(a.bytes - b.resize_to)/1024/1024 AS shrink_by_MB,
b.resize_to/1024/1024 AS resize_to_MB
FROM dba_data_files a,
(SELECT file_id, MAX((block_id+blocks-1)*&v_block_size) AS resize_to
FROM dba_extents
GROUP by file_id) b
WHERE a.file_id = b.file_id
ORDER BY a.tablespace_name, a.file_name;Edited by: Anand... on Feb 17, 2009 12:01 PM -
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
Maybe you are looking for
-
How to find out the table from the field.
Hi Friends, I want to know the table name from the field. I mean i know the field with which i want to know the table. I tried but could find the structure only but how can i find the table. Please guide me. siva.
-
Error-handling in form routines to be called from maintenance view
hello, i have created a table maint. dialog. Under 'enviroment->modification->events' you can create form-routines for your own coding. I have the maint.event '01 - Before saving the data in the database'. Here i do some checks if entered values in s
-
OEHR Sample Objects Installation - ORA-00902: invalid datatype
When I was trying to install the supporting objects, I received a CREATE TYPE privilege error previously. Then the DBA updated APEX to 2.2.1 to fix the problem. It did but know I'm gettingn ORA-00901:invalid datatype and othere errors with creating t
-
Dear all, a month ago I bought an external drive (WD - My Passport) to store my iPhoto library as it was taking too much disk space. Although I've read that Snow Leopard does not provide default writing capabilities for NTFS, everything worked fine s
-
Receiving credit for online delivered orders that are pickup for return
I'm having a frustrating time with online delivered orders that are pickup for return. Items picked up and confirmed via email on 8/8/14...why does it take so long to return to best buy master card. Plus still no replacement gift card or reissue of r