Security problem? (ORA-00942 error when creating procedure)
First, in SQL*Plus connect as system user:
SQL>connect system/oracle
Then, create table proctest for user scott and insert records:
SQL>create table scott.proctest ( name varchar2(10)) ;
SQL>insert into scott.proctest values ( 'bigboy' ) ;
SQL>select * from scott.proctest ;
NAME
bigboy
Then, create procedure testproc for user system using table scott.proctest:
SQL>CREATE OR REPLACE PROCEDURE testproc AS
2 v_name VARCHAR2(10) ;
3 BEGIN
4 SELECT Name INTO v_name FROM scott.proctest WHERE rownum < 2 ;
5 DBMS_OUTPUT.PUT_LINE( 'Name: ' || v_name ) ;
6 END ;
7 /
Then, errs report:
SQL>show err;
LINE/COL ERROR
4/2 PL/SQL: SQL
4/2 PL/SQL: SQL Statement ignored
4/37 PL/SQL: ORA-00942: Table or view does not exist
Then, explicitly grant select privilege on proctest to system:
SQL>grant select on scott.proctest to system ;
And at this time compile the above precedure again, there's no errors.
I have got some instruction that if a procedure wants to use some table,
the owner of this procedure has to have corresponding privileges to use this table and
these privileges have to be granted directly to the user. It doesn't work if
the privileges are granted i.e. through roles.
And in the example above the user has select on scott.proctest privilege but
this privilege is granted through DBA role. So it doesn't work if
I do not explicitly grant select privilege to system.
My question is:
Why does Oracle define this rule? Is it a kind of security consideration?
Since stored procedures rely on privileges that are granted directly to the user, Oracle only needs to re-validate stored procedures when direct grants to the schema owner change. In general, the rate at which the privileges assigned to roles are changed is much higher than the rate at which privileges assigned to a particular user are changed, so this cuts down on on the cost of revalidating procedures.
More importantly, Oracle roles can be assigned to users, but a user can also have non-default roles and password-protected roles. If Oracle allowed privileges through roles to affect the privileges of a stored procedure, handling these sorts of cases would be quite difficult and would result in far more confusion than in today's implementation.
Justin
Distributed Database Consulting, Inc.
http://www.ddbcinc.com/askDDBC
Similar Messages
-
Security Network Layer (SNC) error when creating new session
in SAPGUI 710, suddenly some users are getting a popup message ("Security Network Layer SNC error") when they use the Create New Session toolbar button.
SSO works fine when they connect from SAP Logon, its only when attempting to open secondary sessions. Also, its only some users.
Where would I find log information resulting from the error? Or any suggestions on steps to troubleshoot?
Thanks!Hello Erik,
Issue actually belongs to BC-SEC-SNC, not SAPGUI.
The attached note advises how to run a trace to get more information about the issue
150104 collecting dev_trace of user session via SM04
If you recreate the issue again with the active trace, you might have more sucess with a reply.
Just to advise that 7.10 is out of support and 7.20 should be used as soon as possible.
Kind Regards,
Jude -
ORA-00942 error when exporting db
Hi,
Has anyone encountered the following error before? Kindly help.
Connected to: Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
Export done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
About to export the entire database ...
. exporting tablespace definitions
. exporting profiles
. exporting user definitions
. exporting roles
. exporting resource costs
. exporting rollback segment definitions
. exporting database links
. exporting sequence numbers
. exporting directory aliases
. exporting context namespaces
. exporting foreign function library names
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions
EXP-00008: ORACLE error 942 encountered
ORA-00942: table or view does not exist
EXP-00024: Export views not installed, please notify your DBA
EXP-00000: Export terminated unsuccessfully
My exp parameters are full=y grants=y indexes=y rows=yHi,
I have executed catexp.sql but when I run the exp it produced the ff error:
Connected to: Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
Export done in WE8MSWIN1252 character set and AL16UTF16 NCHAR character set
About to export the entire database ...
. exporting tablespace definitions
. exporting profiles
. exporting user definitions
. exporting roles
. exporting resource costs
. exporting rollback segment definitions
. exporting database links
. exporting sequence numbers
. exporting directory aliases
. exporting context namespaces
. exporting foreign function library names
. exporting PUBLIC type synonyms
. exporting private type synonyms
. exporting object type definitions
. exporting system procedural objects and actions
. exporting pre-schema procedural objects and actions
EXP-00008: ORACLE error 21779 encountered
ORA-21779: duration not active
ORA-06512: at "SYS.DBMS_AW", line 106
ORA-06512: at "SYS.DBMS_AW", line 222
ORA-06512: at "SYS.DBMS_AW_EXP", line 264
ORA-06512: at line 1
EXP-00083: The previous problem occurred when calling SYS.DBMS_AW_EXP.schema_info_exp
. exporting cluster definitions
EXP-00056: ORACLE error 31600 encountered
ORA-31600: invalid input value EMIT_SCHEMA for parameter NAME in function SET_TRANSFORM_PARAM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.DBMS_METADATA_INT", line 3926
ORA-06512: at "SYS.DBMS_METADATA_INT", line 4050
ORA-06512: at "SYS.DBMS_METADATA", line 836
ORA-06512: at line 1
EXP-00056: ORACLE error 31600 encountered
ORA-31600: invalid input value EMIT_SCHEMA for parameter NAME in function SET_TRANSFORM_PARAM
ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
ORA-06512: at "SYS.DBMS_METADATA_INT", line 3926
ORA-06512: at "SYS.DBMS_METADATA_INT", line 4050
ORA-06512: at "SYS.DBMS_METADATA", line 836
ORA-06512: at line 1
EXP-00000: Export terminated unsuccessfully -
ORA-20001 error when creating Tabular Form or Form and Report
Whenever I try and add a Tabular Form or Form and Report to my application i am getting the following error at the end of the Wizard.
ORA-20001: Unable to create updateable report. ORA-20001: Error creating shortcut id="" ORA-00001: unique constraint (APEX_030200.WWV_FLOW_SHORTCUT_IDX1) violatedIt's not a problem I have seen when building other apps and clearly I have managed to corrupt this application somehow.
I have loaded the problem onto apex.oracle.com for those that have access. The application number is 20325.
Any help would be very much appreciated.
Cheers ShuntThanks! Never thought of that.
--Andy -
Very weird ORA-06502 error while creating procedure
Hi All,
i try to create the following procedure (on a 10.2 database):
create or replace procedure audit_report
as
cursor c_audit_user (b_start_date date, b_end_date date)
is
select user_id
, os_user
, session_id
, host
, last_program
, last_action
, last_module
, to_char(logon_day,'dd-mm-yyyy') logon_day
, logon_time
, to_char(logoff_day,'dd-mm-yyyy') logoff_day
, logoff_time
, elapsed_minutes
from audit_user
where logon_day >= b_start_date
and logon_day < b_end_date
order by logon_day desc
cursor c_audit_ddl (b_start_date in date, b_end_date in date)
is
select user_name
, to_char(ddl_date,'dd-mm-yyyy hh24:mi:ss') ddl_date
, ddl_type
, object_type
, owner
, object_name
, sql_text
from audit_ddl
where ddl_date >= b_start_date
and ddl_date < b_end_date
order by ddl_date desc
cursor c_audit_trail (b_start_date in date, b_end_date in date)
is
select os_username
, username
, to_char(timestamp,'dd-mm-yyyy hh24:mi:ss') timestamp
, owner
, obj_name
, to_char(action) action
, action_name
, decode(ses_actions,'---S------------','DELETE',
'------S---------','INSERT',
'---------S------','SELECT',
'----------S-----','UPDATE',
'---S--S--S------','DELETE/INSERT/SELECT',
'---S--S--SS-----','DELETE/INSERT/SELECT/UPDATE',
'------S--S------','INSERT/SELECT',
'------S--SS-----','INSERT/SELECT/UPDATE',
'---------SS-----','SELECT/UPDATE',
'DDL ACTION') ses_actions
, priv_used
from dba_audit_Trail
where username <> 'DBSNMP'
and timestamp >= b_start_date
and timestamp < b_end_date
order by timestamp desc
v_header_user varchar2(255);
v_sep_user varchar2(255);
v_header_ddl varchar2(255);
v_sep_ddl varchar2(255);
v_header_dml varchar2(255);
v_sep_dml varchar2(255);
v_record_user varchar2(255);
v_record_ddl varchar2(255);
v_record_dml varchar2(255);
v_report utl_file.file_type;
v_file_dir varchar2(255);
v_file_name varchar2(255);
v_start_date date;
v_end_date date;
v_db_name varchar2(255);
begin
-- Find start and end date of previous week (Sunday to Monday)
if to_char(sysdate,'DAY') = 'MONDAY' then
v_start_date := trunc(sysdate-8);
v_end_date := trunc(sysdate-1);
elsif
to_char(sysdate,'DAY') = 'TUESDAY' then
v_start_date := trunc(sysdate-9);
v_end_date := trunc(sysdate-2);
elsif
to_char(sysdate,'DAY') = 'WEDNESDAY' then
v_start_date := trunc(sysdate-10);
v_end_date := trunc(sysdate-3);
elsif
to_char(sysdate,'DAY') = 'THURSDAY' then
v_start_date := trunc(sysdate-11);
v_end_date := trunc(sysdate-4);
elsif
to_char(sysdate,'DAY') = 'FRIDAY' then
v_start_date := trunc(sysdate-12);
v_end_date := trunc(sysdate-5);
elsif
to_char(sysdate,'DAY') = 'SATURDAY' then
v_start_date := trunc(sysdate-13);
v_end_date := trunc(sysdate-6);
elsif
to_char(sysdate,'DAY') = 'SUNDAY' then
v_start_date := trunc(sysdate-14);
v_end_date := trunc(sysdate-7);
end if;
--Fill headers
v_header_user := 'USER_ID OS_USER SESSION_ID HOST LAST_PROGR'||
' LAST_ACTION LAST_MODULE LOGON_DAY'||
' LOGON_TI LOGOFF_DAY LOGOFF_T ELAPSED_MINUTES';
v_sep_user := '---------- --------- ---------- -------- ----------'||
'-------------------- ----------- ----------- ---------'||
v_header_ddl := 'USER_NAME DDL_DATE DDL_TYPE OBJECT_TYPE'||
' OWNER OBJECT_NAME SQL_TEXT';
v_sep_ddl := '---------- --------------------- ---------- -----------'||
'--------- ---------- -------------------- -------------'||
v_header_dml := 'OS_USERNAME USERNAME TIMESTAMP OWNER'||
' OBJ_NAME ACTION ACTION_NAME SES_ACTIONS'||
' PRIV_USED';
v_sep_dml := '----------- ---------- --------------------- ---------- '||
'--------------- ------ --------------- ------------------'||
--Create audit report file
v_file_dir := 'AUDIT_REPORT_DIR';
select name
into v_db_name
from v$database;
v_file_name := 'audit_report_'||v_db_name||'_'||to_char(v_start_date,'yyyymmdd')||'-'||to_char(v_end_date-1,'yyyymmdd')||'.log';
v_report := utl_file.fopen(v_file_dir, v_file_name, 'w');
--Report Header
utl_file.put_line(v_report,'AUDIT REPORT');
utl_file.put_line(v_report,'------------');
utl_file.put_line(v_report,'Database: '||v_db_name);
utl_file.put_line(v_report,'From : '||to_char(trunc(v_start_date),'dd-mm-yyyy'));
utl_file.put_line(v_report,'To : '||to_char(trunc(v_end_date),'dd-mm-yyyy'));
utl_file.put_line(v_report,'Created : '||to_char(sysdate,'dd-mm-yyyy hh24:mi:ss'));
utl_file.new_line(v_report);
--Report Detail records
utl_file.put_line(v_report,v_header_user);
utl_file.put_line(v_report,v_sep_user);
for r_audit_user in c_audit_user(v_start_date,v_end_date) loop
v_record_user := rpad(r_audit_user.user_id,11,' ')||
rpad(r_audit_user.os_user,11,' ')||
rpad(r_audit_user.session_id,11,' ')||
rpad(r_audit_user.host,9,' ')||
rpad(r_audit_user.last_program,31,' ')||
rpad(r_audit_user.last_action,12,' ')||
rpad(r_audit_user.last_module,12,' ')||
rpad(r_audit_user.logon_day,11,' ')||
rpad(r_audit_user.logon_time,9,' ')||
rpad(r_audit_user.logoff_day,11,' ')||
rpad(r_audit_user.logoff_time,9,' ')||
lpad(r_audit_user.elapsed_minutes,15,' ');
utl_file.put_line(v_report,v_record_user);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report,v_header_ddl);
utl_file.put_line(v_report,v_sep_ddl);
for r_audit_ddl in c_audit_ddl(v_start_date,v_end_date) loop
v_record_ddl := rpad(r_audit_ddl.user_name,11,' ')||
rpad(r_audit_ddl.ddl_date,22,' ')||
rpad(r_audit_ddl.ddl_type,11,' ')||
rpad(r_audit_ddl.object_type,21,' ')||
rpad(r_audit_ddl.owner,11,' ')||
rpad(r_audit_ddl.object_name,21,' ')||
rpad(r_audit_ddl.sql_text,100,' ');
utl_file.put_line(v_report,v_record_ddl);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report,v_header_dml);
utl_file.put_line(v_report,v_sep_dml);
for r_audit_trail in c_audit_trail(v_start_date,v_end_date) loop
v_record_dml := rpad(r_audit_trail.os_username,12,' ')||
rpad(r_audit_trail.username,11,' ')||
rpad(r_audit_trail.timestamp,22,' ')||
rpad(r_audit_trail.owner,11,' ')||
rpad(r_audit_trail.obj_name,16,' ')||
rpad(r_audit_trail.action,7,' ')||
rpad(r_audit_trail.action_name,16,' ')||
rpad(r_audit_trail.ses_actions,19,' ')||
rpad(r_audit_trail.priv_used,20,' ');
utl_file.put_line(v_report,v_record_dml);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report, '*** End of report ***');
utl_file.fclose(v_report);
end;
This gives me the following error:
ERROR at line 1:
ORA-00604: error occurred at recursive SQL level 1
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
ORA-06512: at line 8
When i try to create the procedure as this, i get the same error:
create or replace procedure audit_report
as
/*cursor c_audit_user (b_start_date date, b_end_date date)
is
select user_id
, os_user
, session_id
, host
, last_program
, last_action
, last_module
, to_char(logon_day,'dd-mm-yyyy') logon_day
, logon_time
, to_char(logoff_day,'dd-mm-yyyy') logoff_day
, logoff_time
, elapsed_minutes
from audit_user
where logon_day >= b_start_date
and logon_day < b_end_date
order by logon_day desc
cursor c_audit_ddl (b_start_date in date, b_end_date in date)
is
select user_name
, to_char(ddl_date,'dd-mm-yyyy hh24:mi:ss') ddl_date
, ddl_type
, object_type
, owner
, object_name
, sql_text
from audit_ddl
where ddl_date >= b_start_date
and ddl_date < b_end_date
order by ddl_date desc
cursor c_audit_trail (b_start_date in date, b_end_date in date)
is
select os_username
, username
, to_char(timestamp,'dd-mm-yyyy hh24:mi:ss') timestamp
, owner
, obj_name
, to_char(action) action
, action_name
, decode(ses_actions,'---S------------','DELETE',
'------S---------','INSERT',
'---------S------','SELECT',
'----------S-----','UPDATE',
'---S--S--S------','DELETE/INSERT/SELECT',
'---S--S--SS-----','DELETE/INSERT/SELECT/UPDATE',
'------S--S------','INSERT/SELECT',
'------S--SS-----','INSERT/SELECT/UPDATE',
'---------SS-----','SELECT/UPDATE',
'DDL ACTION') ses_actions
, priv_used
from dba_audit_Trail
where username <> 'DBSNMP'
and timestamp >= b_start_date
and timestamp < b_end_date
order by timestamp desc
v_header_user varchar2(255);
v_sep_user varchar2(255);
v_header_ddl varchar2(255);
v_sep_ddl varchar2(255);
v_header_dml varchar2(255);
v_sep_dml varchar2(255);
v_record_user varchar2(255);
v_record_ddl varchar2(255);
v_record_dml varchar2(255);
v_report utl_file.file_type;
v_file_dir varchar2(255);
v_file_name varchar2(255);
v_start_date date;
v_end_date date;*/
v_db_name varchar2(255);
begin
/*-- Find start and end date of previous week (Sunday to Monday)
if to_char(sysdate,'DAY') = 'MONDAY' then
v_start_date := trunc(sysdate-8);
v_end_date := trunc(sysdate-1);
elsif
to_char(sysdate,'DAY') = 'TUESDAY' then
v_start_date := trunc(sysdate-9);
v_end_date := trunc(sysdate-2);
elsif
to_char(sysdate,'DAY') = 'WEDNESDAY' then
v_start_date := trunc(sysdate-10);
v_end_date := trunc(sysdate-3);
elsif
to_char(sysdate,'DAY') = 'THURSDAY' then
v_start_date := trunc(sysdate-11);
v_end_date := trunc(sysdate-4);
elsif
to_char(sysdate,'DAY') = 'FRIDAY' then
v_start_date := trunc(sysdate-12);
v_end_date := trunc(sysdate-5);
elsif
to_char(sysdate,'DAY') = 'SATURDAY' then
v_start_date := trunc(sysdate-13);
v_end_date := trunc(sysdate-6);
elsif
to_char(sysdate,'DAY') = 'SUNDAY' then
v_start_date := trunc(sysdate-14);
v_end_date := trunc(sysdate-7);
end if;
--Fill headers
v_header_user := 'USER_ID OS_USER SESSION_ID HOST LAST_PROGR'||
' LAST_ACTION LAST_MODULE LOGON_DAY'||
' LOGON_TI LOGOFF_DAY LOGOFF_T ELAPSED_MINUTES';
v_sep_user := '---------- --------- ---------- -------- ----------'||
'-------------------- ----------- ----------- ---------'||
v_header_ddl := 'USER_NAME DDL_DATE DDL_TYPE OBJECT_TYPE'||
' OWNER OBJECT_NAME SQL_TEXT';
v_sep_ddl := '---------- --------------------- ---------- -----------'||
'--------- ---------- -------------------- -------------'||
v_header_dml := 'OS_USERNAME USERNAME TIMESTAMP OWNER'||
' OBJ_NAME ACTION ACTION_NAME SES_ACTIONS'||
' PRIV_USED';
v_sep_dml := '----------- ---------- --------------------- ---------- '||
'--------------- ------ --------------- ------------------'||
--Create audit report file
v_file_dir := 'AUDIT_REPORT_DIR';
select name
into v_db_name
from v$database;
v_file_name := 'audit_report_'||v_db_name||'_'||to_char(v_start_date,'yyyymmdd')||'-'||to_char(v_end_date-1,'yyyymmdd')||'.log';
v_report := utl_file.fopen(v_file_dir, v_file_name, 'w');
--Report Header
utl_file.put_line(v_report,'AUDIT REPORT');
utl_file.put_line(v_report,'------------');
utl_file.put_line(v_report,'Database: '||v_db_name);
utl_file.put_line(v_report,'From : '||to_char(trunc(v_start_date),'dd-mm-yyyy'));
utl_file.put_line(v_report,'To : '||to_char(trunc(v_end_date),'dd-mm-yyyy'));
utl_file.put_line(v_report,'Created : '||to_char(sysdate,'dd-mm-yyyy hh24:mi:ss'));
utl_file.new_line(v_report);
--Report Detail records
utl_file.put_line(v_report,v_header_user);
utl_file.put_line(v_report,v_sep_user);
for r_audit_user in c_audit_user(v_start_date,v_end_date) loop
v_record_user := rpad(r_audit_user.user_id,11,' ')||
rpad(r_audit_user.os_user,11,' ')||
rpad(r_audit_user.session_id,11,' ')||
rpad(r_audit_user.host,9,' ')||
rpad(r_audit_user.last_program,31,' ')||
rpad(r_audit_user.last_action,12,' ')||
rpad(r_audit_user.last_module,12,' ')||
rpad(r_audit_user.logon_day,11,' ')||
rpad(r_audit_user.logon_time,9,' ')||
rpad(r_audit_user.logoff_day,11,' ')||
rpad(r_audit_user.logoff_time,9,' ')||
lpad(r_audit_user.elapsed_minutes,15,' ');
utl_file.put_line(v_report,v_record_user);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report,v_header_ddl);
utl_file.put_line(v_report,v_sep_ddl);
for r_audit_ddl in c_audit_ddl(v_start_date,v_end_date) loop
v_record_ddl := rpad(r_audit_ddl.user_name,11,' ')||
rpad(r_audit_ddl.ddl_date,22,' ')||
rpad(r_audit_ddl.ddl_type,11,' ')||
rpad(r_audit_ddl.object_type,21,' ')||
rpad(r_audit_ddl.owner,11,' ')||
rpad(r_audit_ddl.object_name,21,' ')||
rpad(r_audit_ddl.sql_text,100,' ');
utl_file.put_line(v_report,v_record_ddl);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report,v_header_dml);
utl_file.put_line(v_report,v_sep_dml);
for r_audit_trail in c_audit_trail(v_start_date,v_end_date) loop
v_record_dml := rpad(r_audit_trail.os_username,12,' ')||
rpad(r_audit_trail.username,11,' ')||
rpad(r_audit_trail.timestamp,22,' ')||
rpad(r_audit_trail.owner,11,' ')||
rpad(r_audit_trail.obj_name,16,' ')||
rpad(r_audit_trail.action,7,' ')||
rpad(r_audit_trail.action_name,16,' ')||
rpad(r_audit_trail.ses_actions,19,' ')||
rpad(r_audit_trail.priv_used,20,' ');
utl_file.put_line(v_report,v_record_dml);
end loop;
utl_file.new_line(v_report);
utl_file.put_line(v_report, '*** End of report ***');
utl_file.fclose(v_report);*/
null;
end;
So all code is commented out, but still the error.
Any ideas?
Kind regards,
Davejust out of interest, what output do you get if you desc user_source?
I get:
NAME VARCHAR2(30)
TYPE VARCHAR2(12)
LINE NUMBER
TEXT VARCHAR2(4000) -
ORA-20001 Error when creating a new application
Hi,
I am trying to create a new application of an existing table in the database and I get the following error. The application is created using the wizard (app type Database, from scratch, Report and Form page)
ORA-20001: Unable to create modules. ORA-20001: Create pages error. ORA-20001: Unable to create form page. ORA-20001: Error page=2 item="P2_NON_ORACLE_EMPLOYEE_SPEAKER" id="1975288532127294112" ORA-20001: Error page=2 item="P2_NON_ORACLE_EMPLOYEE_SPEAKER" id="1975288532127294112" has same name as existing application-level item. ORA-0000: normal, successful completion
The table I am creating the app on is defined like this:
CREATE TABLE "TABLE_1"
( "ID" NUMBER,
"SESSION_EXTERNAL_PAPER" VARCHAR2(30),
"OWNER_CFP_SUBMITTER1_FULL_NA" VARCHAR2(255),
"OWNER_CFP_SUBMITTER1_COMPANY" VARCHAR2(255),
"STATUS" VARCHAR2(30),
"SESSION_ID" NUMBER,
"TITLE" VARCHAR2(255),
"ABSTRACT" VARCHAR2(4000),
"SESSION_TYPE" VARCHAR2(30),
"SESSION_CATEGORY" VARCHAR2(30),
"STREAM" VARCHAR2(30),
"PRIMARY_TRACK" VARCHAR2(255),
"OPTIONAL_TRACK" VARCHAR2(255),
"CROSS_STREAM_TRACK" VARCHAR2(30),
"SUPPORTING_VIDEO" VARCHAR2(4000),
"ATTENDEE_ROLE" VARCHAR2(255),
"TO_RATING" VARCHAR2(30),
"TO_COMMENTS" VARCHAR2(4000),
"COMMENTS" VARCHAR2(4000),
"ORACLE_PARTNERNETWORK" VARCHAR2(30),
"IS_YOUR_OPN_MEMBERSHIP_UNDER_A" VARCHAR2(255),
"ORACLE_PARTNER_TYPE" VARCHAR2(255),
"OPN_MEMBERSHIP_LEVEL" VARCHAR2(30),
"ORACLE_REGION_BASED" VARCHAR2(30),
"ORACLE_VALIDATED_INTEGRATION" VARCHAR2(30),
"HAS_YOUR_COMPANY_ACHIEVED_SPEC" VARCHAR2(4000),
"PLEASE_DESCRIBE_THE_VALUE_OF_O" VARCHAR2(4000),
"INCLUDE_CASE_STUDY" VARCHAR2(30),
"PROVIDE_NAME_OF_THE_CUSTOMER_F" VARCHAR2(255),
"PLEASE_PROVIDE_A_BRIEF_DESCRIP" VARCHAR2(4000),
"NON_ORACLE_EMPLOYEE_SPEAKER1_F" VARCHAR2(255),
"NON_ORACLE_EMPLOYEE_SPEAKER1_C" VARCHAR2(255),
"ORACLE_EMPLOYEE_SPEAKER1_FULL" VARCHAR2(255),
"ORACLE_EMPLOYEE_SPEAKER1_COMPA" VARCHAR2(255),
"NON_ORACLE_EMPLOYEE_SPEAKER2_F" VARCHAR2(255),
"NON_ORACLE_EMPLOYEE_SPEAKER2_C" VARCHAR2(255),
"ORACLE_EMPLOYEE_SPEAKER2_FULL" VARCHAR2(255),
"ORACLE_EMPLOYEE_SPEAKER2_COMPA" VARCHAR2(255),
"NON_ORACLE_EMPLOYEE_SPEAKER3_F" VARCHAR2(255),
"NON_ORACLE_EMPLOYEE_SPEAKER3_C" VARCHAR2(255),
"ORACLE_EMPLOYEE_SPEAKER3_FULL" VARCHAR2(255),
"ORACLE_EMPLOYEE_SPEAKER3_COMPA" VARCHAR2(255),
"NON_ORACLE_EMPLOYEE_SPEAKER4_F" VARCHAR2(255),
"NON_ORACLE_EMPLOYEE_SPEAKER4_C" VARCHAR2(255),
"ORACLE_EMPLOYEE_SPEAKER4_FULL" VARCHAR2(255),
"ORACLE_EMPLOYEE_SPEAKER4_COMPA" VARCHAR2(255),
"CREATED" DATE,
"CREATED_BY" VARCHAR2(50),
"LAST_UPDATE" DATE,
"LAST_UPDATED_BY" VARCHAR2(50),
CONSTRAINT "OOW_PAPER_PK" PRIMARY KEY ("ID") ENABLE
) ;I am using APEX version 4.0.2.00.07
Any idea what could be wrong and what can be done to resolve the problem?
Cheers,
AndyThanks! Never thought of that.
--Andy -
HTMLDB Newbie: ORA-01658 error when creating new app or table from sprdsht
Hey there. I'm new to HTML DB and trying to create a new app (or even a new table) from a simple spreadsheet. I've tried both comma and tab delimited, but get the same error message every time. This is in my workspace on htmldb.oracle.com.
"ORA-20001: create_table error: ORA-20001: Excel load run ddl error: ORA-01658: unable to create INITIAL extent for segment in tablespace FLOW_693"Scott,
Thanks, but I don't think that's the problem. My workspace is 100Mb, and it's almost empty. I can install & run sample apps just fine, but not create a new app from a spreadsheet. The spreadsheet is small, to: nine columns and about 50 rows.
Any ideas? -
ORA-00942 Error when trying to deploy a mapping in Paris
Hey all,
I am encountering a "Table or view does not exist" and "SQL Statement Ignored" Error when I deploy a mapping. I have granted all the necessary privileges for each schema but still keep getting the errors, hence the deployment remains invalid. Any thoughts on why this is happening?
The situation is I have created a mapping that maps data from an external table in the source module to a staging table in the staging module, and besides the regular column length and data type mismatch warning, the mapping is valid. The problem is not being able to deploy this mapping.
Any feedback would be appreciated. Thanks.Did you register your target schema with the WB repository? I found that this happened to me sometimes when I forgot to do that.
HTH,
--oswaldo
[osantos] -
Version 3.1 fault - ORA-06502 error when creating SQL Report Region/Page
I usually perfect my query in SQL*PLUS before I create a new report region.
Consequently, I copy the code into the region wizard to create the new page. However, since we have upgraded to Version 3.1, virtually every report I have tried to create has created the following error:
ORA-06502: PL/SQL: numeric or value error: character string buffer too small
It would appear that a maximum of 960 characters can be used to create the region/page. Perversely, once the page/region has been created, I can then edit the source and include as much code as I want (so far I've not run up against a limit)
As it's just annoying, but not stopping me doing what I wanted to do, I've not got around to mentioning this error previously, but it occurred to me that I should (so I am!)
DavidHi David,
Thank you for reporting this. Unfortunately, this was a regression introduced in Application Express 3.1. The workaround is to edit the region, as you suggested. This has been filed as Bug 6956070 and will be corrected in the forthcoming Application Express 3.1.1 patch set.
Joel -
ORA-01445 error when creating a form on a view
Hi,
I am attempting to create a form on a view - the view is a simple select from three tables that are connected to each other via foreign key relationships. When I attempt to submit data via this form, I get the ORA_01445 error. The Oracle8i Error Documentation says that this error is caused when a SELECT statement attempted to select ROWIDs from a view derived from a join operation. Because the rows selected in the view do not correspond to underlying physical records, no ROWIDs can be returned. The solution is to remove ROWID from the view selection clause, then re-execute the statement.
I did not include the rowid when I created my view so I went to look at the package that is generated by Portal to create the form. Sure enough, rowid was appended to the select statements.
Are there any workarounds for this? Why is the rowid appended to the select statement? Do I need to build my view another way? We cannot use master-detail forms because the nature of the data does not allow it. We would like to be able to use just one form to update several tables.
I read in an earlier post that forms cannot be created on views that have DISTINCT, AVG, COUNT, MAX, MIN, GROUP BY, HAVING, START WITH, or CONNECT BY. My view has none of these. It is just a simple select * from a, b, c.Melissa,
This is the current limitation of the forms, we do not support non-updatable views, we expect to have the rowid available, if you want to access non-updatable views, please create a QBE report. If you think this is a very important feature, please file a bug.
Thanks,
Dmitry -
Getting ora-904 error when create objects for the 2DayPlus apex 3.1 demo
Searched metalink and the forum and can't determine the cause of my error below.
CREATE TABLE oehr_categories_tab OF oehr_category_typ
( category_id PRIMARY KEY)
NESTED TABLE TREAT
(OBJECT_VALUE AS oehr_leaf_category_typ).product_ref_list
STORE AS oehr_prod_ref_list_ntab
NESTED TABLE TREAT
(OBJECT_VALUE AS oehr_composite_category_typ).subcategory_ref_list
STORE AS oehr_subcat_ref_list_ntab
ORA-00904: : invalid identifier
DB Version: 9.2.0.7
Any help would be appreciated.Hi,
I believe the issue is with a new pseudocolumn reference introduced in 10gR2. Kindly refer to the Oracle Database SQL Language Reference on [OBJECT_VALUE Pseudocolumns.|http://download.oracle.com/docs/cd/B28359_01/server.111/b28286/pseudocolumns006.htm]
A quick workaround for those using Oracle Database 9iR2 or 10gR1 would be to edit the "Installation Script" (under "Supporting Objects"). Edit the "OEHR_CATEGORIES_TAB" DDL to the following:
bq. CREATE TABLE oehr_categories_tab OF oehr_category_typ \\ ( category_id PRIMARY KEY) \\ NESTED TABLE TREAT \\ (SYS_NC_ROWINFO$ AS oehr_leaf_category_typ).product_ref_list \\ STORE AS oehr_prod_ref_list_ntab \\ NESTED TABLE TREAT \\ (SYS_NC_ROWINFO$ AS oehr_composite_category_typ).subcategory_ref_list \\ STORE AS oehr_subcat_ref_list_ntab;
Reinstall the Supporting Objects.
Hope this helps.
-Amitabh -
Why am I getting an ORA-04052 error when I try to compile a Procedure?
Hi,
The following procedure I'm getting an ORA-04052 error when I try to compile the following procedure.
CREATE OR REPLACE PROCEDURE APPS.Find_String (
pin_referenced_name IN dba_dependencies.referenced_name%TYPE)
IS
cursor cur_get_dependancy
is
SELECT distinct owner, name, type
FROM [email protected] -- prod.world
WHERE lower(referenced_name) = lower(pin_referenced_name) --'ftbv_salesrep_all_1d'
AND referenced_type <> 'SYNONYM'
AND owner <> 'SYS'
order by name;
v_owner varchar2(40);
v_name varchar2(50);
v_type varchar2(40);
BEGIN
dbms_output.put_line(upper(pin_referenced_name)||' is found in the following objects.');
dbms_output.put_line(' ');
dbms_output.put_line(RPAD('OWNER', 30, ' ')||RPAD('NAME', 60, ' ')||RPAD('OBJECT TYPE', 30, ' '));
dbms_output.put_line('-------------------------------------------------------------------------------------------------------------------');
FOR i IN cur_get_dependancy
LOOP
v_owner := RPAD(i.owner, 30, ' ');
v_name := RPAD(i.name, 45, ' ');
v_type := RPAD(i.type, 30, ' ');
dbms_output.put_line(v_owner ||v_name|| v_type);
END LOOP;
END find_string;I'm using the link [email protected]. The procedure compiles for other database links used in the cursor including the one commented to the right of the code 'prod.world'.
What's even stranger is that I took the SELECT statement
SELECT distinct owner, name, type
FROM [email protected] -- prod.world
WHERE lower(referenced_name) = lower(pin_referenced_name) --'ftbv_salesrep_all_1d'
AND referenced_type <> 'SYNONYM'
AND owner <> 'SYS'
order by name;out of the procedure and ran it on the command line using the @pinp.world link, the SQL statement ran just fine. But when I tried to compile the above procedure with that exact same SQL statement with the exact same link I get the following string of errors.
ORA-04052: error occurred when looking up remote object [email protected]
ORA-00604: error occurred at recursive SQL level 1
ORA-02068: following severe error from PINP
ORA-03113: end-of-file on communication channelHow can the link work just fine in a regular SQL statement but then cause an error when its compiled in code that otherwise compile just fine when using any other link or even just a plain database. Does anyone have any suggestions?OK Justin,
Here's the query by itself run in another database using the @pinp.world link and querying the dba_dependencies table in the pinp.world database. As you can see the query using this link works just fine returning the requested rows. I can't figure out why the compiler is having an issue with essentially this same query when I try to compile it in a cursor in TOAD. Also this is the database (dev1.world) that I'm trying to compile this Procedure in.
By the way I'm in an Oracle 9.2.0.6 database and TOAD v9.2.
SQL> conn apps/apps1@dev1
Connected.
SQL> SELECT distinct owner, name, type
2 FROM [email protected]
3 WHERE lower(referenced_name) = lower('ALL_USERS')
4 AND referenced_type <> 'SYNONYM'
5 AND owner <> 'SYS'
6 order by name;
OWNER NAME TYPE
PUBLIC ALL_USERS SYNONYM
XDB DBMS_XDBUTIL_INT PACKAGE BODY
XDB DBMS_XDBZ0 PACKAGE BODY
SYSTEM MVIEW_EVALUATIONS VIEW
SYSTEM MVIEW_EXCEPTIONS VIEW
SYSTEM MVIEW_FILTER VIEW
SYSTEM MVIEW_LOG VIEW
SYSTEM MVIEW_RECOMMENDATIONS VIEW
SYSTEM MVIEW_WORKLOAD VIEW
ORASSO WWCTX_API PACKAGE BODY
PORTAL WWCTX_API PACKAGE BODY
ORASSO WWEXP_UTL PACKAGE BODY
PORTAL WWEXP_UTL PACKAGE BODY
PORTAL WWPOB_API_PAGE PACKAGE BODY
PORTAL WWPOF PACKAGE BODY
ORASSO WWPRO_PROVIDER_VALIDATION PACKAGE BODY
PORTAL WWPRO_PROVIDER_VALIDATION PACKAGE BODY
PORTAL WWSBR_EDIT_ATTRIBUTE PACKAGE BODY
PORTAL WWSBR_FOLDER_PORTLET PACKAGE BODY
PORTAL WWSBR_USER_PAGES_PORTLET PACKAGE BODY
ORASSO WWUTL_API_PARSE PACKAGE BODY
OWNER NAME TYPE
PORTAL WWUTL_API_PARSE PACKAGE BODY
PORTAL WWUTL_EXPORT_IMPORT_LOV PACKAGE BODY
ORASSO WWUTL_LOV PACKAGE BODY
PORTAL WWUTL_LOV PACKAGE BODY
PORTAL WWV_CONTEXT PACKAGE BODY
PORTAL WWV_CONTEXT_UTIL PACKAGE BODY
PORTAL WWV_DDL PACKAGE BODY
PORTAL WWV_GENERATE_UTL PACKAGE BODY
PORTAL WWV_GLOBAL PACKAGE
PORTAL WWV_MONITOR_DATABASE PACKAGE BODY
PORTAL WWV_PARSE_AS_SPECIFIC_USER PACKAGE BODY
PORTAL WWV_PARSE_AS_USER PACKAGE BODY
PORTAL WWV_SYS_DML PACKAGE BODY
PORTAL WWV_SYS_RENDER_HIERARCHY PACKAGE BODY
PORTAL WWV_THINGSAVE PACKAGE BODY
PORTAL WWV_UTIL PACKAGE BODY
PORTAL WWV_UTLVALID PACKAGE BODY
38 rows selected.
SQL>Let me know what you think.
Thanks again. -
ORA-03115 error when calling a Stored Procedure
Hi All,
I'm in the process of porting a Pro/C app from NT to Linux. I've installed 8.1.5 on our Linux box and patched it up to 8.1.5.02.
It all kind of works ok, except that I'm sometimes getting ORA-03115 errors when the app calls a stored procedure. The call in question looks like this:
EXEC SQL BEGIN DECLARE SECTION;
VARCHAR resprows[50][3998];
int numret = 0;
int numrows= 50;
int done= 0;
unsigned long resp_id = 0;
EXEC SQL END DECLARE SECTION;
EXEC SQL AT DB_NAME EXECUTE
BEGIN pkg_something.getdata(
:resp_id, /* IN */
:numrows, /* IN */
:done, /* OUT */
:resprows, /* OUT */
:numret /* OUT */
END;
END-EXEC;
The stored procedure basically uses the resp_id value to select rows from a table;
in each row there is a VARCHAR2(4000) column which it copies into the hostarray resprows.
There may be anything from 1 to numrows returned from the SP.
Initially, the resprows rows were defined to be size [4000]. Unfortunately, this caused ORA-02005 errors - I then changed the size to [3998], which seemed to fix the 02005's (although I'm unclear as to the reasons why).
Now I'm getting the 03115 errors when calling the SP. The oracle manual is not very helpful on what this error means.
This all works chipper on NT.
Any ideas?
Thanks in advance,
Nigel.
PS: The database the app is talking to is still hosted on NT.
nullHiston FTM wrote:
ORA-04063: package body "LAZARUS.LAZARUS" has errors Above, obviously conflicts with the statement that follows:
>
The procedure and package have both compiled without errors and the statement on its own works fine in SQL*Plus.I suggest you take a look in the USER_ERRORS view to see, what the errors are.
And just checking:
You have schema called LAZARUS, which holds a package named LAZARUS, which holds a procedure called POPULATEGRIDPOSITIONS?
Edited by: Toon Koppelaars on Oct 1, 2009 5:55 PM -
ORA-04062 error when running forms with different users
ORA-04062 error when running forms with different users
I have a form that has a block that should display some data from another users tables. (The other user's name is dynamic, it's selected from a list box)
I wrote a stored procedure to get the data from other user's tables.
When I compile the form and run it with the same user I compiled, it works without any error. But when I run the compiled form with another user I get the ORA-04062 (signature of procedure has been changed) error.
I tried setting REMOTE_DEPENDENCIES_MODE to SIGNATURE in init.ora but it didn't help.
My Forms version is 6i with Patch 15.
Database version is 9.
Here is my stored procedure:
TYPE Scenario_Tab IS TABLE OF NUMBER(34) INDEX BY BINARY INTEGER;
TYPE Open_Curs IS REF CURSOR;
PROCEDURE Get_Scenarios(User_Name IN VARCHAR2, Scen_Table OUT Scenario_Tab) IS
Curs Open_Curs;
i NUMBER;
BEGIN
OPEN Curs FOR
'SELECT Seq_No FROM '|| User_Name ||'.scenario';
i := 1;
LOOP
FETCH Curs INTO Scen_Table(i);
EXIT WHEN Curs%NOTFOUND;
i := i + 1;
END LOOP;
END Get_Senarios;
I would be happy to solve this problem. It's really important.
Maybe somebody can tell me another way to do what I want to do. (getting a list of values from another users tables)I think it should be a better solution to create a package,
and put your own TYPES and procedure into it.
CREATE OR REPLACE PACKAGE PKG_XXX IS
TYPE TYP_TAB_CHAR IS TABLE OF .... ;
PROCEDURE P_XX ( Var1 IN VARCHAR2, var2 IN OUT TYP_TAB_CHAR );
END ;
Then in your Form :
Declare
var PKG_XXX.TYP_TAB_CHAR ;
Begin
PKG_XXX.P_XX( 'user_name', var ) ;
End ; -
Error when creating index with parallel option on very large table
I am getting a
"7:15:52 AM ORA-00600: internal error code, arguments: [kxfqupp_bad_cvl], [7940], [6], [0], [], [], [], []"
error when creating an index with parallel option. Which is strange because this has not been a problem until now. We just hit 60 million rows in a 45 column table, and I wonder if we've hit a bug.
Version 10.2.0.4
O/S Linux
As a test I removed the parallel option and several of the indexes were created with no problem, but many still threw the same error... Strange. Do I need a patch update of some kind?This is most certainly a bug.
From metalink it looks like bug 4695511 - fixed in 10.2.0.4.1
Maybe you are looking for
-
Need to add Ignore Blank Cells In Values in Flex Component - How?
Can anyone help in providing any code that will add into the properties the capability to Ignore Blank Cells in Values?
-
List of exchange users with mailbox size per database.
Hello Friends, Need small help i need to take out the list of users start with Alphabet A, B , C till Z per database along with their mailbox size limit so is there any simple way to get the list. Thanks Amit
-
Movie dimensions, blog vs podcast?
I want to create of video podcasts series. I create a podcast, drop a 16x9 movie on the entry page. It's 16x9. I change to the podcast (list) page and it's square. Can't fix it because you can't edit this page, only the enty page which is the right s
-
How to view aperture library from another computer on network?
Hi, I'd like to simply view (not edit) my aperture library from another computer on my home network. The aperture library resides on a mac pro, and I'd like to see the images on a macbook pro to show family members. On the surface, this seems like a
-
UnknowHostException when invoking a remote WebService
I am new at web services and i got develop the follow: I have created a web service with JDeveloper with the option : WebService Client an Proxy. I have not selected the option of copy wsdl to proyect because when I set the package names the web serv