Spatial Tables and Remote Queries
Hi Experts,
Can anyone explain me when and where to use Spatial Tables and Remote Queries with some examples.
Thanks in advance.
Hi,
there are some nice demos from Andrejus:
http://andrejusb.blogspot.com/search/label/Spatial
Hope it helps,
Friedhold
Similar Messages
-
Location of spatial tables and warehouse tables - recommendations
Hi all,
I have a question from a customer who's asking what the recommendation is of storage of the spatial tables and the warehouse tables.
Should they reside on the same database for best performance or doesn't it matter where the spatial tables are located.
Is there any official recommednation from Oracle on this?
Best regards,
HakanHello Mohan ,
Table TOBJ store the authorization data in R/3 System .
For further info refer thread :
What does TOBJ table contain??
Regards ,
Santosh -
Cannot INSERT records into Partitioned Spatial Table and Index
I am trying to tune our Spatial Storage by creating partitioning our spatial_entity table and index. I used the World Geographic Reference System (GEOREF) creating a partition for each 15 x 15 degree grid square assigning a partition key of decimal longitude, decimal_latitude. The build went OK, however when trying to insert a data record I receive an ORA-14400: Inserted partition key does not map to any partition.
I validated the CREATE(s), and all appears correct, but obviously something is not correct, which is prompting for expert help in this forum.
I would be very grateful for your help.
Below are the code snippets for the table and index, and an insert statement.
CREATE TABLE spatial_entity
geoloc_type VARCHAR2 (60 BYTE) NOT NULL
,entity_id NUMBER NOT NULL
,metadata_xml_uuid VARCHAR2 (40 BYTE) NOT NULL
,geoloc MDSYS.sdo_geometry NOT NULL
,nee_method CHAR (1 BYTE) NOT NULL
,nee_status CHAR (1 BYTE) NOT NULL
,decimal_latitude NUMBER (15, 6) NOT NULL
,decimal_longitude NUMBER (15, 6) NOT NULL
PARTITION BY RANGE (decimal_longitude, decimal_latitude)
PARTITION p_lt_0_90s
VALUES LESS THAN (1, -90)
,PARTITION p_lt_0_75s
VALUES LESS THAN (1, -75)
,PARTITION p_lt_0_60s
VALUES LESS THAN (1, -60)
,PARTITION p_lt_0_45s
VALUES LESS THAN (1, -45)
,PARTITION p_lt_0_30s
VALUES LESS THAN (1, -30)
,PARTITION p_lt_0_15s
VALUES LESS THAN (1, -15)
,PARTITION p_lt_0_0
VALUES LESS THAN (1, 0)
,PARTITION p_lt_0_15n
VALUES LESS THAN (1, 15)
,PARTITION p_lt_0_30n
VALUES LESS THAN (1, 30)
,PARTITION p_lt_0_45n
VALUES LESS THAN (1, 45)
,PARTITION p_lt_0_60n
VALUES LESS THAN (1, 60)
,PARTITION p_lt_0_75n
VALUES LESS THAN (1, 75)
,PARTITION p_lt_0_90n
VALUES LESS THAN (1, maxvalue)
CREATE INDEX geo_spatial_ind ON spatial_entity (geoloc)
INDEXTYPE IS mdsys.spatial_index
PARAMETERS ('layer_gtype=MULTIPOINT TABLESPACE=GEO_SPATIAL_IND') LOCAL
(PARTITION p_lt_0_90s,
PARTITION p_lt_0_75s,
PARTITION p_lt_0_60s,
PARTITION p_lt_0_45s,
PARTITION p_lt_0_30s,
PARTITION p_lt_0_15s,
PARTITION p_lt_0_0,
PARTITION p_lt_0_15n,
PARTITION p_lt_0_30n,
PARTITION p_lt_0_45n,
PARTITION p_lt_0_60n,
PARTITION p_lt_0_75n,
PARTITION p_lt_0_90n,
INSERT INTO spatial_entity
geoloc_type
,entity_id
,metadata_xml_uuid
,geoloc
,nee_method
,nee_status
,decimal_latitude
,decimal_longitude
VALUES
'BATCH'
,0
,'6EC25B76-8482-4F95-E0440003BAD57EDF'
,"MDSYS"."SDO_GEOMETRY"
2001
,8307
,"MDSYS"."SDO_POINT_TYPE" (32.915286, 44.337902, NULL)
,NULL
,NULL
,'M'
,'U'
,32.915286
,44.337902
Thank you for you help.
DaveThank you for your quick reply. I did not post the entire CREATE script as it is quite long. The portion of the script that is applicable to the INSERT is:
,PARTITION p_lt_45e_90s
VALUES LESS THAN (23, -90)
,PARTITION p_lt_45e_75s
VALUES LESS THAN (23, -75)
,PARTITION p_lt_45e_60s
VALUES LESS THAN (23, -60)
,PARTITION p_lt_45e_45s
VALUES LESS THAN (23, -45)
,PARTITION p_lt_45e_30s
VALUES LESS THAN (23, -30)
,PARTITION p_lt_45e_15s
VALUES LESS THAN (23, -15)
,PARTITION p_lt_45e_0
VALUES LESS THAN (23, 0)
,PARTITION p_lt_45e_15n
VALUES LESS THAN (23, 15)
,PARTITION p_lt_45e_30n
VALUES LESS THAN (23, 30)
,PARTITION p_lt_45e_45n
VALUES LESS THAN (23, 45)
,PARTITION p_lt_45e_60n
VALUES LESS THAN (23, 60)
,PARTITION p_lt_45e_75n
VALUES LESS THAN (23, 75)
,PARTITION p_lt_45e_90n
VALUES LESS THAN (23, maxvalue)
Or, I do not fully understand. Are you indicating that I must explcitly state the longitude in each clause,
e.g ,PARTITION p_lt_45e_45n
VALUES LESS THAN (45, 45)
,PARTITION p_lt_45w_45n
VALUES LESS THAN (-45, 45)
If so, that answers the question of why it cannot find a partition, however an Oracle White Paper "Oracle Spatial Partitioning Best Practices" Sept 2004, discusses multi column partitioning such as represented by this problem, and gives an INSERT statement example of :
CREATE TABLE multi_partn_table (in_date DATE,
geom SDO_GEOMETRY, x_value NUMBER, y_value NUMBER)
PARTITION BY RANGE (X_VALUE,Y_VALUE)
PARTITION P_LT_90W_45S VALUES LESS THAN (1,-45),
PARTITION P_LT_90W_0 VALUES LESS THAN (1,0),
PARTITION P_LT_90W_45N VALUES LESS THAN (1,45),
PARTITION P_LT_90W_90N VALUES LESS THAN (1,MAXVALUE
and as I am writing this I am seeing that I failed to include the longitude and latitude in the SDO_GEOMETRY clause, so it does appear tht I need to explicitly state the longitude valuues.
What is your judgement sir?
Dave -
View joining two spatial tables and strange CBO behaviour
Hi all,
I've following view in my database:
CREATE OR REPLACE VIEW my_view AS
SELECT id, 'table1' AS source, location FROM my_table1
UNION ALL
SELECT id, 'table2' AS source, location FROM my_table2;
When I execute query:
SELECT * FROM my_view WHERE SDO_RELATE(location, SDO_GEOMETRY(...), 'mask=anyinteract') = 'TRUE';
It works as expected.
When running query like (getting location with subquery):
SELECT * FROM my_view WHERE SDO_RELATE(location, (SELECT location FROM my_table3 WHERE id = 123, 'mask=anyinteract') = 'TRUE';
It doesn't work. Oracle Throws "DatabaseError: ORA-13226: interface not supported without a spatial index"
Further investigation revealed strange behaviour of CBO:
In first case Oracle CBO uses Spatial index just fine and as expected.
But second query and CBO get's a bit strange - unique index scan is used for subselect, but for view tables is full table scan is used and SDO_RELATE is not happy with that since no spatial index is used.
How I can use spatial indexes regardless of that subselect?Hi folks,
Looking over these responses and not finding a lot of clarity yet in terms of leaving a trail for future readers to glean an answer from. I was just looking through the back-and-forth and curious myself about the issue First of all I think Jani's observations are quite on target. This CBO reaction is weird and does not work they way most Oracle users would expect it to work. Secondly, Jani really should tell us his Oracle version and folks providing answers should as well - the CBO is always being tweaked. Thirdly, Stefan provides a solution though it's a rather expensive solution to my taste. And finally, I think we as a group need to spend a bit more time reproducing things in code. I will give it a shot, feel free to correct anything I got wrong.
So first of all, I wrote this up quick on 12.1.0.2 and verified it was the same on 11.2.0.4
DROP TABLE my_table1 PURGE;
CREATE TABLE my_table1(
objectid INTEGER NOT NULL
,tsource VARCHAR2(30 Char)
,shape MDSYS.SDO_GEOMETRY
,PRIMARY KEY(objectid)
DROP TABLE my_table2 PURGE;
CREATE TABLE my_table2(
objectid INTEGER NOT NULL
,tsource VARCHAR2(30 Char)
,shape MDSYS.SDO_GEOMETRY
,PRIMARY KEY(objectid)
DROP TABLE my_table3 PURGE;
CREATE TABLE my_table3(
objectid INTEGER NOT NULL
,tsource VARCHAR2(30 Char)
,shape MDSYS.SDO_GEOMETRY
,PRIMARY KEY(objectid)
CREATE OR REPLACE PROCEDURE seeder(
p_count IN NUMBER
AS
sdo_foo MDSYS.SDO_GEOMETRY;
int_counter NUMBER := 1;
FUNCTION random_line
RETURN MDSYS.SDO_GEOMETRY
AS
num_x1 NUMBER;
num_y1 NUMBER;
num_offx NUMBER;
num_offy NUMBER;
BEGIN
num_x1 := dbms_random.value(-179,179);
num_y1 := dbms_random.value(-89,89);
RETURN MDSYS.SDO_GEOMETRY(
2002
,8265
,NULL
,MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1)
,MDSYS.SDO_ORDINATE_ARRAY(
num_x1
,num_y1
,num_x1 + 0.0001
,num_y1 + 0.0001
END random_line;
BEGIN
FOR i IN 1 .. p_count
LOOP
sdo_foo := random_line();
INSERT INTO my_table1
VALUES (
int_counter
,'table1'
,sdo_foo
int_counter := int_counter + 1;
sdo_foo := random_line();
INSERT INTO my_table2
VALUES (
int_counter
,'table2'
,sdo_foo
int_counter := int_counter + 1;
sdo_foo := random_line();
INSERT INTO my_table3
VALUES (
int_counter
,'table3'
,sdo_foo
int_counter := int_counter + 1;
END LOOP;
INSERT INTO my_table1
VALUES (
0
,'table1'
,MDSYS.SDO_GEOMETRY(
2002
,8265
,NULL
,MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1)
,MDSYS.SDO_ORDINATE_ARRAY(
-87.8211111
,42.5847222
,-87.8212
,42.5848
INSERT INTO my_table3
VALUES (
0
,'table3'
,MDSYS.SDO_GEOMETRY(
2002
,8265
,NULL
,MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1)
,MDSYS.SDO_ORDINATE_ARRAY(
-87.8211111
,42.5848
,-87.8212
,42.5847222
COMMIT;
END seeder;
BEGIN
seeder(100000);
END;
SELECT 'my_table1: ' || COUNT(*) AS invalid_count FROM my_table1 WHERE MDSYS.SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(shape,0.05) <> 'TRUE'
UNION ALL
SELECT 'my_table2: ' || COUNT(*) AS invalid_count FROM my_table2 WHERE MDSYS.SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(shape,0.05) <> 'TRUE'
UNION ALL
SELECT 'my_table3: ' || COUNT(*) AS invalid_count FROM my_table3 WHERE MDSYS.SDO_GEOM.VALIDATE_GEOMETRY_WITH_CONTEXT(shape,0.05) <> 'TRUE';
BEGIN
INSERT INTO user_sdo_geom_metadata(
table_name
,column_name
,diminfo
,srid
) VALUES (
'MY_TABLE1'
,'SHAPE'
,MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-180,180,.05),MDSYS.SDO_DIM_ELEMENT('Y',-90,90,.05))
,8265
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;
BEGIN
INSERT INTO user_sdo_geom_metadata(
table_name
,column_name
,diminfo
,srid
) VALUES (
'MY_TABLE2'
,'SHAPE'
,MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-180,180,.05),MDSYS.SDO_DIM_ELEMENT('Y',-90,90,.05))
,8265
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;
BEGIN
INSERT INTO user_sdo_geom_metadata(
table_name
,column_name
,diminfo
,srid
) VALUES (
'MY_TABLE3'
,'SHAPE'
,MDSYS.SDO_DIM_ARRAY(MDSYS.SDO_DIM_ELEMENT('X',-180,180,.05),MDSYS.SDO_DIM_ELEMENT('Y',-90,90,.05))
,8265
COMMIT;
EXCEPTION
WHEN OTHERS
THEN
NULL;
END;
CREATE INDEX my_table1_spx ON my_table1
(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX
NOPARALLEL;
CREATE INDEX my_table2_spx ON my_table2
(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX
NOPARALLEL;
CREATE INDEX my_table3_spx ON my_table3
(shape)
INDEXTYPE IS MDSYS.SPATIAL_INDEX
NOPARALLEL;
BEGIN
dbms_stats.gather_table_stats(USER, 'MY_TABLE1');
dbms_stats.gather_index_stats(USER, 'MY_TABLE1_SPX');
dbms_stats.gather_table_stats(USER, 'MY_TABLE2');
dbms_stats.gather_index_stats(USER, 'MY_TABLE2_SPX');
dbms_stats.gather_table_stats(USER, 'MY_TABLE3');
dbms_stats.gather_index_stats(USER, 'MY_TABLE3_SPX');
END;
CREATE OR REPLACE VIEW my_view
AS
SELECT
objectid
,'table1' AS tsource
,shape
FROM
my_table1
UNION ALL
SELECT
objectid
,'table2' AS tsource
,shape
FROM my_table2;
set timing on;
-- QUERY #1
-- Jani's original setup, works as expected
SELECT
COUNT(*) AS single_geom_counter
FROM
my_view a
WHERE
MDSYS.SDO_RELATE(
a.shape
,MDSYS.SDO_GEOMETRY(
2002
,8265
,NULL
,MDSYS.SDO_ELEM_INFO_ARRAY(1,2,1)
,MDSYS.SDO_ORDINATE_ARRAY(
-87.8211111
,42.5848
,-87.8212
,42.5847222
,'mask=anyinteract'
) = 'TRUE';
-- QUERY #2
-- Now the problem statement
SELECT
COUNT(*) AS table_problem_counter
FROM
my_view a
WHERE
MDSYS.SDO_RELATE(
a.shape
,(SELECT b.shape FROM my_table3 b WHERE b.objectid = 0)
,'mask=anyinteract'
) = 'TRUE';
-- QUERY #3
-- Stefan's solution
SELECT /*+ ORDERED */
COUNT(*) AS stefans_solution
FROM
my_table3 a
,my_view b
WHERE
a.objectid = 0
AND MDSYS.SDO_RELATE(
a.shape
,b.shape
,'mask=anyinteract'
) = 'TRUE';
Anyhow, so the hard coded query #1 that Jani provided works exactly the way most folks would expect, the second item in the relate is applied to each spatial index participating in the view. I think we can agree this is what we want.
Now when we move on to the problem, well its all goes off the rails as I think its looks to apply the spatial filter to the view itself which lacks an index (not sure really)
So as Stefan says, you can work around this by rewriting things as query #3 does above though now its a full table scan of both tables in the view. This is a long way performance wise from Query #1!
So on my 12c test box
query #1 Elapsed: 00:00:00.016
query #3 Elapsed: 00:00:33.534
On 11g production box
query #1 Elapsed: 00:00:00.49
query #3 Elapsed: 00:02:31.45 (ouch!)
So hopefully someone else can jump in with more information on better solutions?
I overall tend to avoid the kind of unioned views that Jani is using here. I have a hard time recalling why but I must have been burned similarly many years ago when I was first starting with Oracle spatial. I tend to always want my spatial indexes right there where I can keep a grim stink eye on them. It may be that a unioned view with multiple spatial indexes behind it might just be a bad practice better done with a materialized view? Or maybe a lesser term? Unprofitable practice? fraught? "Best if you don't do that"?
Anyhow, I would be interested in what others have as input on the matter.
Cheers,
Paul -
Spatial tables in Data warehouse database or separate?
Hi all,
I have a question from a customer who's asking what the recommendation is of storage of the spatial tables and the warehouse tables.
Should they reside on the same database for best performance or doesn't it matter where the spatial tables are located.
Is there any official recommednation from Oracle on this?
Best regards,
HakanHi Hakan,
it's not easy to give a quick answer here.
a) you want to compare warehouse tables with spatial tables
To answer this very well you should define what is a warehouse table and what is a spatial table. In this forum you will get for spatial tables the definition "A spatial table is a table with one or more columns of type SDO_GEOMETRY". How do you define a spatial table and how do you define a warehouse table?
b) you ask for performance
Performance is not depending only on table type. Performance is depending on a lot of steps. For example on the work which has to be done to answer the question, can data read from buffer cache or must they be read from physical devices, execution plan .....
I don't know if there is a official statement from Oracle which is usefull to answer your query.
Can you ask a little bit particular please?
In my experience there it is not adviseable to store tables in different databases (instances) when I have to query it together. If you split the tables in different instances, the execution has much more overhead because you have to talk to 2 instances and it will very hard for the optimizer to find the best execution plan.
Regards
U. Martin -
How to add spatial information and property information in one transaction
Hi All:
I have a oracle spatial table and property table,they are joined by equal key fields.
I don't know how to realize to commit the spatial information and property information in one transaction.
How to realize it?
Thanks in advance.
zhiminthrough triggers
-
I have some spatial tables in 10g. I can use 'select query' on non spatial attributes but if try
select * or
select geom then my SQL plus gives error ::
Program Error - sqlplusw.exe has generated errors and will be closed by Windows. You will need to restart the program. An error log is being created.
<Cancel>
But I am able to use isqlplus without any errors.
Earlier SQL plus used to work fine. I don't understand what happened to it in between.
How can I bring my SQL plus working again.I created a copy for a spatial table using.
create table copy as select * from original, and it was successful .
Other than that I haven't done anything other than select queries. -
3 queries 3 tables and in a NON-relational DBMS
3 queries 3 tables and in a NON-relational DBMS
i got this msg box error:
Error prop_id is a invalid identifier.
basically i have querying form a non rel_dbms.
with this statement
select a.case_nbr, a.Aplc_id
from Tcase a
, tloc b
, tla_prop c
where c.plan_area_nbr = '1'
and b.loc_id = a.Prop_id
and a.Aplc_id = b.aplc_id
thanks for responding
here is the first
query.
select prop_id, plan_area_nbr
from tla_prop
where plan_area_nbr = '1'
then i got a bunch of prop_id's from tla_prop that has plan_area_nbr of 1
the second query will have
select aplc_id, loc_id
from tloc
where loc_id is equal/the same prop_id from the table tla_prop
the third selection
will contain aplc_id from table tcase = aplc_is from the table tloc
select case_nbr, Aplc_id
from Tcase
where Aplc_id = Secondselection.prop_id
the goal is really to get the case_nbr with all criterias from query1,2,3 and table 1,2,3.
any ideas?
hmm, thanks in advanceHi
Try this:
select a.case_nbr, a.Aplc_id
from Tcase a , tloc b , tla_prop c
where c.plan_area_nbr = '1'
and b.loc_id = c.Prop_id
and a.Aplc_id = b.aplc_id
Ott Karesz
http://www.trendo-kft.hu -
Ora-01219 database not open; only queries on fixed tables and views.
Hi everyone
There is another post stating this error, but since the source is different, I think is okay to make a different post as well.
Our database was working fine until the other day, when suddenly power went off, UPS was damaged and didn't hold, and when we restarted the database this is what happens:
Using Enterprise Manager Console, we can make a succesful connection in the same machine, but if we choose Schema, the following error appears:
ora-01219 database not open; only queries on fixed tables and views.
When accesing from a different machine:
ORA-01033: ORACLE initialization or shutdown in progress
Thanks in advanceHere is the last entries of alert log
Fatal NI connect error 12638, connecting to:
(DESCRIPTION=(LOCAL=YES)(ADDRESS=(PROTOCOL=beq)))
VERSION INFORMATION:
TNS for 32-bit Windows: Version 11.1.0.7.0 - Production
Oracle Bequeath NT Protocol Adapter for 32-bit Windows: Version 11.1.0.7.0 - Production
Time: 20-JUL-2010 15:48:31
Tracing not turned on.
Tns error struct:
ns main err code: 12638
TNS-12638: Fallo de recuperación de credenciales
ns secondary err code: 0
nt main err code: 0
nt secondary err code: 0
nt OS err code: 0
Tue Jul 20 15:50:50 2010
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
IMODE=BR
ILAT =18
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 11.1.0.7.0.
Using parameter settings in server-side spfile E:\ORACLE\CRIMINALISTICA\PRODUCT\11.1.0\DB_1\DATABASE\SPFILECRIM.ORA
System parameters with non-default values:
processes = 150
memory_target = 816M
control_files = "E:\ORACLE\ORADATA\CRIM\CONTROL01.CTL"
control_files = "E:\ORACLE\ORADATA\CRIM\CONTROL02.CTL"
control_files = "E:\ORACLE\ORADATA\CRIM\CONTROL03.CTL"
db_block_size = 8192
compatible = "11.1.0.0.0"
db_recovery_file_dest = "E:\Oracle\flash_recovery_area"
db_recovery_file_dest_size= 2G
undo_tablespace = "UNDOTBS1"
remote_login_passwordfile= "EXCLUSIVE"
db_domain = ""
dispatchers = "(PROTOCOL=TCP) (SERVICE=CRIMXDB)"
audit_file_dest = "E:\ORACLE\ADMIN\CRIM\ADUMP"
audit_trail = "DB"
db_name = "CRIM"
open_cursors = 300
diagnostic_dest = "E:\ORACLE"
Tue Jul 20 15:50:55 2010
PMON started with pid=2, OS id=1688
Tue Jul 20 15:50:55 2010
VKTM started with pid=3, OS id=2236 at elevated priority
Tue Jul 20 15:50:55 2010
DIAG started with pid=4, OS id=2332
Tue Jul 20 15:50:55 2010
DBRM started with pid=5, OS id=2328
Tue Jul 20 15:50:55 2010
PSP0 started with pid=6, OS id=2432
VKTM running at (20)ms precision
Tue Jul 20 15:50:55 2010
DIA0 started with pid=7, OS id=2160
Tue Jul 20 15:50:55 2010
MMAN started with pid=8, OS id=2156
Tue Jul 20 15:50:55 2010
DBW0 started with pid=9, OS id=2064
Tue Jul 20 15:50:55 2010
LGWR started with pid=10, OS id=3176
Tue Jul 20 15:50:55 2010
CKPT started with pid=11, OS id=3180
Tue Jul 20 15:50:55 2010
SMON started with pid=12, OS id=3184
Tue Jul 20 15:50:55 2010
RECO started with pid=13, OS id=3188
Tue Jul 20 15:50:55 2010
MMON started with pid=14, OS id=3192
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
starting up 1 shared server(s) ...
ORACLE_BASE from environment = E:\Oracle
Tue Jul 20 15:50:55 2010
MMNL started with pid=15, OS id=3196
Tue Jul 20 15:50:56 2010
alter database mount exclusive
Setting recovery target incarnation to 2
Successful mount of redo thread 1, with mount id 1304879008
Database mounted in Exclusive Mode
Lost write protection disabled
Completed: alter database mount exclusive
alter database open
Errors in file e:\oracle\diag\rdbms\crim\crim\trace\crim_dbw0_2064.trc:
ORA-01157: cannot identify/lock data file 9 - see DBWR trace file
ORA-01110: data file 9: 'E:\ORACLE\ORADATA\STOPCRIM5\STOPCRIM5TABLESPACE.ORA'
ORA-27047: unable to read the header block of file
OSD-04006: fallo de ReadFile(); no se ha podido leer del archivo
O/S-Error: (OS 38) Se ha alcanzado el final del archivo.
Errors in file e:\oracle\diag\rdbms\crim\crim\trace\crim_dbw0_2064.trc:
ORA-01157: cannot identify/lock data file 16 - see DBWR trace file
ORA-01110: data file 16: 'E:\ORACLE\ORADATA\PRUEBACARLOS\PRUEBACARLOSTABLESPACE.ORA'
ORA-27047: unable to read the header block of file
OSD-04006: fallo de ReadFile(); no se ha podido leer del archivo
O/S-Error: (OS 38) Se ha alcanzado el final del archivo.
Errors in file e:\oracle\diag\rdbms\crim\crim\trace\crim_dbw0_2064.trc:
ORA-01157: cannot identify/lock data file 17 - see DBWR trace file
ORA-01110: data file 17: 'E:\ORACLE\ORADATA\PRUEBACARLOS\PRUEBACARLOSINDEX.ORA'
ORA-27047: unable to read the header block of file
OSD-04006: fallo de ReadFile(); no se ha podido leer del archivo
O/S-Error: (OS 38) Se ha alcanzado el final del archivo.
ORA-1157 signalled during: alter database open...
Tue Jul 20 16:04:39 2010
db_recovery_file_dest_size of 2048 MB is 0.00% used. This is a
user-specified limit on the amount of space that will be used by this
database for recovery-related files, and does not reflect the amount of
space available in the underlying filesystem or ASM diskgroup. -
OBIEE bypasses smaller aggregate table and queries largest aggregate table
Hello,
Currently we are experiencing something strange regarding queries that are generated.
Scenario:
We have 1 detail table and 3 aggregate tables in the RPD. For this scenario I will only refer to 2 of the Aggregates.
Aggregate 1 (1 million rows):
Contains data - Division, Sales Rep, Month, Sales
Aggregate 2 (13 milliion rows):
Contains data - Division, Product, Month, Sales
Both tables are set at the appropriate dimension levels in the Business Model. Row counts have been updated in the physical layer in the RPD.
When we create an answers query that contains Division, Month and Sales, one would think that OBIEE would query the smaller and faster of the two tables. However, obiee wants to query the table with 13 million records completely bypassing the smaller table. If we make the larger aggregate inactive, then OBIEE queries the smaller table. We can't figure out why OBIEE wants to immediately go to the larger table.
Has anyone experienced something such as this? Any help would be greatly appreciated.
Edited by: gwb on Aug 19, 2009 7:45 AMHave you try to change the sort order of the logical table source in your logical table ?
!http://gerardnico.com/wiki/_media/temp/obiee_logical_table_sources_sort.jpg!
Set the Aggregate 1 first.
Cheers
Nico -
Copy all tables and data from remote schema to local schema
Hi,
I am using Oracle 10g Enterprise edition as a database and Windows 7 as the operating system.
My Requirement is to copy all the tables and data from remote machine database to my local machine.
I created a DB link between my location schema and remote machine schema. Database link created successful. Error what i am getting when i am trying to import all the tables from the remote data is as mentioned below
I created a directory gave all the privilege to do read and write on the directory.
Directory name : DUMP
Local Schema name / PASSWORD : PRODUCTION / PRODUCTION
Remote Schema name / Password : portal / m3892!2
When i run this scrip from command prompt
impdp PRODUCTION/PRODUCTION DIRECTORY=DUMP LOGFILE=LOCALPROD_MERUPROD.log network_link=MERU_DEV_LOCAL_PROD schemas=portal remap_schema=portal:PRODUCTION TABLE_EXISTS_ACTION=REPLACE
It is giving me following error please suggest me what is the mistake i couldn't trace
ORA-31631: privileges are required
ORA-39149: cannot link privileged user to non-privileged user
Thanks
SudhirThanks I gave the grant permission for the "portal" remote user. I didn't not get the error. Issue am facing now is I need to copy the entire schema of production to my local system production.
I am currently using the below script to copy. it not working. what might be the reason there is no error message coming but still i don't see any tables in my local system after executing this script
impdp PRODUCTION/PRODUCTION DIRECTORY=DUMP LOGFILE=LOCALPROD_MERUPROD.log network_link=MERU_DEV_LOCAL_PROD schemas=portal remap_schema=portal:PRODUCTION TABLE_EXISTS_ACTION=REPLACE
Or suggest me some other script to copy all the tables and procedure function from remote database to my local database using impdp script
Thanks
Sudhir -
Linked Server and Distributed Queries in Oracle
In MSSQL, Linked Server and Distributed Queries provide SQL Server with access data from remote data sources. How about in Oracle ?
I have a table A at Server A and table B at Server B, i wanna join these two table together. How can i do this in Oracle ?Use a database link: http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_5005.htm
For instance, if you have created on database A a link to database B with name 'database_b'
you can use
select * from table@database_b -
Heavy remote queries runs forever
Hi everybody,
I'm usign SQL Developer and SQL Tool to execute remote queries on a Oracle Database. I think i have some problem with my pc 'cause when I try to exceute heavy queries on large tables the query starts but never ends. When I try to stop the query i get the following error message "ORA-12152: TNS:unable to send break message" (Cause: Unable to send break message. Connection probably disconnected). When my associates try to perform same queries, they manage to get results.
May anyone tell me if there's a problem with my PC (i.e.: tcp/ip configuration).
I think I have the same problem when I try to access BPEL Console: sometimes, i don'tmanage to access a tab and i think the problem is that DB connection gets down (time-out problem).
Thanks for your help!Hello,
You might already know about the error text, I recommend your to look on metalink around this error. If your co-worker able to execute and get results successfully, then its your connection might be handled differently, and get your network admin/dba involved.
Error: ORA 12152
Text: TNS:unable to send break message
Cause: Unable to send break message. Connection probably disconnected.
Action: Re-establish connection. If the error is persistent, turn
n tracing and reexecute the operation.
Something you can try in agreement with your DBA and network admmin
Add SQLNET.EXPIRE_TIME to the database sqlnet.ora file. This is the file located $ORACLE_HOME/network/admin directory or the directory specified by
The EXPIRE_TIME should be set to the highest value possible that is within the firewall idle connection timeout, to limit the amount of network traffic generated. For example if the firewall timeout is 20 minutes set:
SQLNET.EXPIRE_TIME=15
Regards -
Remote System and Remote Key Mapping at a glance
Hi,
I want to discuss the concept of Remote System and Remote Key Mapping.
Remote System is a logical system which is defined in MDM Console for a MDM Repository.
We can define key mapping enabled at each table level.
The key mapping is used to distinguish records at Data Manager after running the Data Import.
Now 1 record can have 1 remote system with two different keys but two different records cannot have same remote system with same remote key. So, Remote key is an unique identifier for record for any remote system for each individual records.
Now whenever we import data from a Remote System, the remote system and remote key are mapped for each individual records. Usually all records have different remote keys.
Now, when syndicating back the record with default remote key is updated in the remote system that is sent by xml file format.
If same record is updated two times from a same remote system, the remote key will be different and the record which is latest contains highest remote key.
Now, I have to look at Data Syndication and Remote key.
I have not done Data Syndication but my concept tell if there is duplicate record with same remote system but different remote keys both will be syndicated back. But if same record have two remote keys for same remote system then only the default remote key is syndicated back.
Regards
Kaushik BanerjeeYou are right Kaushik,
I have not done Data Syndication but my concept tell if there is duplicate record with same remote system but different remote keys both will be syndicated back.
Yes, but if they are duplicate, they needs to be merged.
But if same record have two remote keys for same remote system then only the default remote key is syndicated back.
This is after merging. So whichever remote key has tick mark in key mapping option(default) , it will be syndicated back.
Pls refer to these links for better understanding.
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/80eb6ea5-2a2f-2b10-f68e-bf735a45705f
https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/library/uuid/7051c376-f939-2b10-7da1-c4f8f9eecc8c%0c
Hope this helps,
+ An -
Search for [Remote Key] and [Remote System] in Data Manager
Hello all
I would like to be able to search on the remote key and the remote system in the MDM Data Manager is that not possible? I thought I remembered seeing that possibility under the Free-Form Search but now I can't find it.
I have, however, found this in the Data Manager reference guide:
REMOTE SYSTEM AND REMOTE KEY FIELDS
MDM uses the remote systems defined in the Remote Systems table
within the MDM Console to store and maintain key mapping information
for each record or text attribute. It does this using a virtual key
mapping field that you never see in the MDM Client.
This virtual key mapping field is very much like a qualified lookup field
into a virtual key mapping qualified lookup table.
Key Mapping information stored in virtual lookup field
The Remote System and Remote Key fields are normally not visible;
however, they do appear in several places in the MDM Client.
Specifically, both fields: (1) appear in the File > Export dialogs in Record
mode for exporting value pairs; (2) are recognized by the File > Import
dialog in Record mode for importing value pairs; and (3) appear in the
Edit Key Mappings dialogs in both Record mode and Taxonomy mode,
for viewing and editing value pairs.
Is there any way to search on the value in the remote key from the Data Manager?Not sure search i think not possible.
But you can see keys as mentioned:
Enable Key mapping in Console.
MDM Client maens MDM Data Manager.
They do appear in several places in the MDM Client or Data Manager. Three different methods to see in DM are given already below:
Specifically, both fields: (1) appear in the File > Export dialogs in Record mode for exporting value pairs; (2) are recognized by the File > Import dialog in Record mode for importing value pairs; and (3) appear in the Edit Key Mappings dialogs in both Record mode and Taxonomy mode, for viewing and editing value pairs.
BR,
Alok
Maybe you are looking for
-
A friend recently gave me their old Macbook pro 15 because they broke the screen and the Apple store quoted them $500-600 to fix it. I looked online and bought a screen of ebay for $170 in hopes of fixing it myself. After getting the screen I hooked
-
How do I change the password of a sparseimage?
I searched for an answer to this question, but the information I found was out of date. Apparently there used to be a "Change password" item in the "Images" menu of Disk Utility. Now (under Mac OS 10.7, a.k.a. Lion) it seems there's just a "Change" m
-
Sun One (Netscape) Plugin: Losing HTTP Session Problem
Hi All, We are having some trouble with HTTP sessions. Sometimes our browser will have a session cookie set but will be issued a new session cookie anyways. This seems to occur only one in every 10 attempts, and seems to occur more frequently on cert
-
Bar Code entry while trying to create one through FB03
Hi Guru We recently had techical upgrade to ECC6.0. While trying to create a barcode entry for a document through FB03 I am getting the following error message oa280 - Bar code not active -system administration . All the configuration are in place in
-
Hi All We have two units for these two units we want to use the LECI with diff number range How can we do the same Regs Niti Narayan