Difference between revisions of "Oracle Tidbits"

From ChipWiki
Jump to navigationJump to search
(ORA-00942: table or view does not exist)
Line 21: Line 21:
 
<li>SET LONG 90000</li>
 
<li>SET LONG 90000</li>
 
</ul>
 
</ul>
 +
 +
==ORA-00942: Stored Procedures Do Not Respect ROLE based Rights==
 +
If you get "ORA-00942: Table or view does not exist" during a stored procedure compilation, and you're otherwise sure that you have the right table/view/synonym names of course, then it may be that the RIGHTS to the object are granted through a role, which the stored procedure does not respect.  Try GRANTing the rights directly to the Procedure's owner, rather via a Role, and see if that doesn't help.

Revision as of 18:19, 21 April 2008

Useful things I always forget about Oracle

If Archive Logs Fill Up

After you've made some space, or to direct archiving to an emptier place, remind Oracle where to right the archive files. When it locks up, it resets something in memory that needs to be reset.

  • SQLPLUS /NOLOG
  • Connect internal
  • alter system set log_archive_dest_1="LOCATION=F:\ORACLE\EDWD" SCOPE=MEMORY;

Retrieving DDL from Oracle 9i

Use this:

SELECT DBMS_METADATA.GET_DDL(object_type, object_name, owner)

as in:

SELECT DBMS_METADATA.GET_DDL('TABLE', MY_TABLE, CHIP);

Setting Up a Clean Output for long Spools from SQL*Plus

  • SET HEAD OFF
  • SET FEED OFF
  • SET PAGESIZE 0
  • SET LINESIZE 200 (or whatever)
  • SET LONG 90000

ORA-00942: Stored Procedures Do Not Respect ROLE based Rights

If you get "ORA-00942: Table or view does not exist" during a stored procedure compilation, and you're otherwise sure that you have the right table/view/synonym names of course, then it may be that the RIGHTS to the object are granted through a role, which the stored procedure does not respect. Try GRANTing the rights directly to the Procedure's owner, rather via a Role, and see if that doesn't help.