Links
Home
Oracle DBA Forum
Frequent Oracle Errors
TNS:could not resolve the connect identifier specified
Backtrace message unwound by exceptions
invalid identifier
PL/SQL compilation error
internal error
missing expression
table or view does not exist
end-of-file on communication channel
TNS:listener unknown in connect descriptor
insufficient privileges
PL/SQL: numeric or value error string
TNS:protocol adapter error
ORACLE not available
target host or object does not exist
invalid number
unable to allocate string bytes of shared memory
resource busy and acquire with NOWAIT specified
error occurred at recursive SQL level string
ORACLE initialization or shutdown in progress
archiver error. Connect internal only, until freed
snapshot too old
unable to extend temp segment by string in tablespace
Credential retrieval failed
missing or invalid option
invalid username/password; logon denied
unable to create INITIAL extent for segment
out of process memory when trying to allocate string bytes
shared memory realm does not exist
cannot insert NULL
TNS:unable to connect to destination
remote database not found'>ora-02019
exception encountered: core dump
inconsistent datatypes
no data found
TNS:operation timed out
PL/SQL: could not find program
existing state of packages has been discarded
maximum number of processes exceeded
error signaled in parallel query server
ORACLE instance terminated. Disconnection forced
TNS:packet writer failure
see ORA-12699
missing right parenthesis
name is already used by an existing object
cannot identify/lock data file
invalid file operation
quoted string not properly terminated
Snapshots on prebuilt tables with reduced precision

Snapshots on prebuilt tables with reduced precision

2004-10-12       - By Parker, Matthew
Reply:     1     2  

"With Reduced Precision " simply allows you to place a materialized view =
over a prebuilt table that the definition of the prebuilt table does not =
match the the precision of columns in the defining query of the =
materialized view. If you have data in the master that is larger than =
the precision of the prebuilt table, it will fail on refresh.
This would best be used if the prebuilt table had the larger precision =
definition than the master since smaller data size data would be =
replicated to the MV and this would allow any previous data in the =
prebuilt table that is larger than the master site to still maintain =
it 's size. If you had a prebuilt table with smaller column widths than =
the master, then I would alter those columns on the prebuilt table to =
the larger size, instead of having the materialized view possibly fail =
in the future for the ORA-01401 (See ORA-01401.ora-code.com).

create table yo (col1 varchar2(10));

create table yoyo (col1 varchar2(8));

alter table yo add constraint pk_yo primary key (col1);

alter table yoyo add constraint pk_yoyo primary key (col1);

create materialized view yoyo on prebuilt table with reduced precision =
refresh force as select * from yo;

insert into yo values ( '0123456789 ');

commit;

exec dbms_mview.refresh( 'YOYO ', 'C ');
BEGIN dbms_mview.refresh( 'YOYO ', 'C '); END;

*
ERROR at line 1:
ORA-12008 (See ORA-12008.ora-code.com): error in materialized view refresh path
ORA-01401 (See ORA-01401.ora-code.com): inserted value too large for column
ORA-06512 (See ORA-06512.ora-code.com): at "SYS.DBMS_SNAPSHOT ", line 803
ORA-06512 (See ORA-06512.ora-code.com): at "SYS.DBMS_SNAPSHOT ", line 860
ORA-06512 (See ORA-06512.ora-code.com): at "SYS.DBMS_SNAPSHOT ", line 841
ORA-06512 (See ORA-06512.ora-code.com): at line 1

Drop materialized view yoyo;

alter table yoyo modify (col1 varchar2(10));

create materialized view yoyo on prebuilt table with reduced precision =
refresh force as select * from yo;

exec dbms_mview.refresh( 'YOYO ', 'C ');

PL/SQL procedure successfully completed.


-- --Original Message-- --
From: oracle-l-bounce@(protected) =
[mailto:oracle-l-bounce@(protected)] On Behalf Of Kaing, Leng
Sent: Tuesday, October 12, 2004 12:45 AM
To: oracle-l@(protected)
Subject: Snapshots on prebuilt tables with reduced precision

Greetings all,

Initially I thought the option "with reduced precision " was used to get =
=3D around the problem of replication tables where column orders or =
number =3D of columns do not match. eg. master table has 4 columns but =
we only want =3D to replicate 3 of the columns. And/or the order of the =
columns on the =3D master and slave tables do not match.

However, today I 've just discovered this definition in the Oracle =3D
manuals: "Specify WITH REDUCED PRECISION to authorize the loss of =3D =
precision that will result if the precision of the table or materialized =
=3D view columns do not exactly match the precision returned by =
subquery "=3D20 I 'm now confused. What does "authorise the loss of =
precision " mean? =3D Master column can be varchar(10) and slave column =
can be varchar(8) and =3D
2 characters dropped off in the process?
Am I right to assume that "with reduced precision " is used with the =3D =
number of columns and/or order in the master and slave do not match?

TIA,

Leng.

--
http://www.freelists.org/webpage/oracle-l


--
http://www.freelists.org/webpage/oracle-l