Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 765161
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 14, 20262026-05-14T16:50:41+00:00 2026-05-14T16:50:41+00:00

I didn’t find much data about the internals of PL/Scope. I’d like to use

  • 0

I didn’t find much data about the internals of PL/Scope.

I’d like to use it to analyze identifiers in PL/SQL scripts. Does it work only on Oracle 11g instances? Can I reference its dlls to use it on a machine with only ORACLE 9/10 installed?

In a related manner, do I have to execute the script in order for its identifiers to be analyzed?

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-14T16:50:42+00:00Added an answer on May 14, 2026 at 4:50 pm

    To answer the easy question first, we do not have to execute the program unit. We have to compile it. That is relatively simple:

    SQL> alter session set plscope_settings='IDENTIFIERS:ALL'
      2  /
    
    Session altered.
    
    SQL> alter function str_to_number_tokens compile
      2  /
    
    Function altered.
    
    SQL> SELECT LPAD(' ', level*2, ' ') || name AS name, type, usage, usage_id, line, col
      2  FROM   user_identifiers
      3  START WITH usage_context_id = 0
      4  CONNECT BY PRIOR usage_id = usage_context_id;
    
    NAME                           TYPE               USAGE         USAGE_ID       LINE        COL
    ------------------------------ ------------------ ----------- ---------- ---------- ----------
      STR_TO_NUMBER_TOKENS         FUNCTION           DECLARATION          1          1         10
        STR_TO_NUMBER_TOKENS       FUNCTION           DEFINITION           2          1         10
          P_STRING                 FORMAL IN          DECLARATION          3          2         10
          P_SEPARATOR              FORMAL IN          DECLARATION          4          3         13
            P_SEPARATOR            FORMAL IN          ASSIGNMENT           5          3         13
          RETURN_VALUE             VARIABLE           DECLARATION          6          6          5
          REGEX_STR                VARIABLE           DECLARATION          7          7          5
          REGEX_STR                VARIABLE           ASSIGNMENT           8         10          9
            P_SEPARATOR            FORMAL IN          REFERENCE            9         10         31
          REGEX_STR                VARIABLE           REFERENCE           10         17         46
          P_STRING                 FORMAL IN          REFERENCE           11         17         36
          REGEX_STR                VARIABLE           REFERENCE           12         16         47
          P_STRING                 FORMAL IN          REFERENCE           13         16         37
          REGEX_STR                VARIABLE           REFERENCE           14         12         57
          P_STRING                 FORMAL IN          REFERENCE           15         12         47
          RETURN_VALUE             VARIABLE           ASSIGNMENT          16         14         22
          RETURN_VALUE             VARIABLE           REFERENCE           17         19         16
    
    17 rows selected.
    
    SQL> 
    

    (Credit where credit is due, I took that query from my mate Tim Hall’s Oracle-Base site)

    Incidentally, note that PL/Scope operates on named PL/SQL programs (procedures, functions, packages, etc). It doesn’t work on anonymous PL/SQL blocks. I mention this because you talk of “scripts” rather than programs. It won’t do anything with a SQL script containing some PL/SQL blocks.

    The other thing to bear in mind is that PL/Scope populates tables on the SYSAUX tablespace, and can chew up a lot of storage. That’s why it isn’t run by default, and it’s why we should use it judiciously.

    As for backwards compatibility: it is a new feature in 11g, and it is a compiler feature at that. So I doubt whether it is something you could just crowbar into a 10g install.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I didn't find information about performance issues with auto_ptr and shared_ptr (I use tr1
I didn't find a way to debug Greasemonkey scripts with the Firebug extension. Does
I didn't find any tip about DirectX installation at Inno-Setup web site. So, is
I didn't find anything about parsing HTML in the XML::LibXML::Reader documentation. And I tried
I didn't find much in tutorials on this specific question.. So I have a
I didn't find a Example how to use a fluid partial in a extbase
didn't find an answer to this. I like KeyedCollection, because it keeps the insertion
I didn't have much luck finding out much about this one… I have an
I didn't see any answered questions about this. Currently I use Jquery UI Dialog
I didn't find anything about that. Here's my query: SELECT p.*, pa.*, a.* FROM

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.