TOAD User's Guide
TOAD User's Guide
TOAD User's Guide
USER’S GUIDE
Version 7.0
© Quest Software, Inc. 2001. All Rights Reserved.
This guide contains proprietary information, which is protected by copyright. The software
described in this guide is furnished under a software license or nondisclosure agreement. This
software may be used or copied only in accordance with the terms of the applicable agreement.
No part of this guide may be reproduced or transmitted in any form or by any means, electronic or
mechanical, including photocopying and recording, for any purpose other than the purchaser’s
personal use without the written permission of Quest Software, Inc.
Warranty
The information contained in this document is subject to change without notice. Quest Software
makes no warranty of any kind with respect to this information. QUEST SOFTWARE
SPECIFICALLY DISCLAIMS THE IMPLIED WARRANTY OF THE MERCHANTABILITY
AND FITNESS FOR A PARTICULAR PURPOSE. Quest Software shall not be liable for any
direct, indirect, incidental, consequential, or other damage alleged in connection with the
furnishing or use of this information.
Quest™ and TOAD® are trademarks of Quest Software, Inc. Other trademarks and registered
trademarks used in this guide are the property of their respective owners.
Contents
C O N T E N T S
TOAD User’s Guide
1 INTRODUCTION..........................................................................................................................................9
2 LOGON/LOGOFF.......................................................................................................................................11
LOGON OPTIONS ............................................................................................................................................14
CONNECTING TO PERSONAL ORACLE .............................................................................................................19
END CONNECTION..........................................................................................................................................19
3 SCHEMA PREPARATION ........................................................................................................................21
TOAD
TOAD is a powerful low-overhead tool built around an advanced SQL and PL/SQL
editor. It was designed from the developer’s perspective, and the result is an easy to
use, fast, and effective interface. The GUI object browsers provide quick access to
database objects.
You don’t have to be a PL/SQL expert to access database objects when you’re using
TOAD. You can view the Oracle Dictionary, tables, indexes, stored procedures, and
more-- all through a multi-tabbed browser.
PL/SQL script writers can use the advanced editing features to save time and
increase productivity. Code can be created from shortcuts and code templates. You
can even create your own code templates.
Use TOAD to
§ Create, browse, or alter objects (tables, views, indexes, etc.) including Oracle8
TYPE objects
§ Graphically build, execute, and tune queries
§ Edit, debug, and profile “stored procedures” including procedures, functions,
packages, and triggers
§ Search for objects
§ Find and fix database problems with constraints, triggers, extents, indexes, and
grants
10
This guide is a how-to and reference for new users and users already familiar with
TOAD. The guide does not cover every TOAD Window, Option, and Function. The
guide covers the following major windows and topics:
§ SQL Editor
§ Procedure Editor
§ Schema Browser
§ PL/SQL Debugger (an optional feature)
§ DBA (an optional feature)
Once you are comfortable navigating around a few of these windows you’ll discover
that the other TOAD windows have a similar design. The manual also covers the
following major topics:
§ Logon/logoff
§ Navigation and shortcuts
§ Additional features and windows
Note that this User’s Guide was prepared in March 2001. New or changed TOAD
features since March 2001 are not reflected in this version of the guide. Refer to
TOAD Help for the latest information.
Note that colors are presented in the .PDF, which commercial TOAD users can
download from www.quest.com. The printed version of the TOAD User’s Guide is
in black and white, so the color differences are not always distinguishable.
For details on installing and uninstalling TOAD, refer to the TOAD Getting Started
Guide.
Remember, you can always access TOAD Help while in TOAD by pressing
the F1 Key.
Logon/Logoff
When you Start TOAD a Login screen displays. The screen lists your previous
connections (server, user, and the date and time of the connection). You can create a
new connection to Oracle or select from a list of previous connections. If the Build
Oracle Alias List checkbox is checked, TOAD will fill the database dropdown with
the database aliases listed in the TNSNAMES.ORA file. If you double-click to select
a previous logon from the list of previous logons, the default password is the same as
the username. So, if this is your first time running TOAD, your password is your
Username.
Here, BEQ-LOCAL is the database, the Username is SCOTT and the password entered is TIGER.
12
The previous connections list can be sorted by clicking on the Server, User, or Last
Connect column header. Click once on a header, and the associated list is sorted
chronologically, or in ascending order. Click twice on a header, and the associated
list is sorted in descending order.
The date format comes from the workstation setting in Settings > Control Panel >
Regional Settings > Date > Short date style option.
Logon
You can use Oracle usernames without passwords in TOAD. Whatever you enter in
Database, Username, and Password boxes are passed to the database. If the database
permits default passwords, you can connect.
Server Login
You get to this dialog via the File > New Connection menu item, or when TOAD
starts up.
You can create a new connection to Oracle or select from a list of previous
connections. TOAD will fill the database dropdown with the names of previous
sessions and any aliases in TNSNAMES.ORA.
If you are having trouble running TOAD with Personal Oracle 8.1.5:
If you are using TOAD with Personal Oracle 8.1.5 or later and receiving errors like
“No Listener” try the following:
1 Open a Command Prompt.
2 Type “lsnrctl” and <ENTER>
3 Type the command “start”
14
Logon Options
If a SQL*Net entry is not valid, you can click the Advice button for suggestions.
Chapter 2 Logon/Logoff 17
Before you check the Save passwords for Oracle Connections box, be
sure you work in a secure environment where your TOAD.INI file will not
fall into the wrong hands.
To turn on the option for TOAD Save Passwords for Oracle Connections
1 Go to View > Options > Oracle.
2 Click Save Passwords for Oracle Connections to check that option.
3 Either quit TOAD and restart
OR
Click the Save All Options button in the main toolbar.
4 If you do not check the Save Passwords for Oracle Connections checkbox,
then the username is copied to the password box because most development
schemas are created as user/user. So, during login, the password = Username.
If you are having trouble connecting to Personal Oracle or creating a SQL*Net alias
for PO7 or PO8, try one of the following four entries for the database name on the
TOAD login window:
2:
BEQ-LOCAL
LOCAL
TCP-LOOPBACK
DEMO/DEMO
SCOTT/TIGER
SYS/CHANGE_ON_INSTALL
SYSTEM/MANAGER
End Connection
The following features of TOAD require the creation of database objects: Saved and
Recalled Explain Plans, TOAD Features Security, TOAD Source Control, and
Oracle 8i Profiler Analysis. The scripts to create these tables are in the \TEMPS
folder as follows:
Saved/Recalled Explain Plans TOADPREP.SQL
TOAD Features Security TOADSECURITY.SQL
TOAD Source Control TOADVCS.SQL
Oracle 8i Profiler Analysis TOADPROFILER.SQL
You can create these objects in every schema in which you intend to use them (i.e.,
every schema would have these same tables), but the ideal solution would be to
create a new user TOAD, create the objects once in the schema TOAD, and grant
access to them to all users via synonyms. These scripts contain the statements for
accomplishing all of this; however, the connection to Oracle used to execute the
script must have the rights to do so.
If you do not want to create a separate TOAD schema or if you want to create the
required tables in several schemas, you can load and execute the script file
NOTOAD.SQL for Saved/Recalled Explain Plans. This script will place all of the
necessary objects for Saved/Recalled Explain Plans in the current schema for the
current Oracle session.
NOTE: On the View > Options > Oracle page, you can specify the name of the
Explain Plan table that TOAD should utilize. If you change the default setting from
TOAD_PLAN_TABLE to PLAN_TABLE, TOAD will use your existing table, and
you do not have to create the TOAD table. On the other hand, if you still do not
execute the TOAD scripts, you will not be able to recall previous Explain Plan
results.
22
This section contains basic information about TOAD buttons, Hot Keys, Right-Click
Menus, etc. If you are unfamiliar with windows navigation/operation, or you have
come across a button you don’t understand, this section should help.
Mouse
TOAD is designed to be used with a mouse. In addition to pointing and clicking on
items, the right-click button displays Right-Click Menus that are associated with
different areas of TOAD. Right-Click Menus are discussed in the Right-Click Menu
section of this chapter, page 32.
Expand/Collapse buttons
Some sections will have a list of categories with expand buttons next to each
category item. Click the expand symbol to expand the list. This is similar to double-
clicking a file folder in Explorer to open its contents. If the category is already
expanded, you can click the collapse symbol to collapse the list.
Drill down buttons indicate another level of information. Click the drill down button
to “drill down” another layer, which is usually another window.
Clicking on the drill down button on this window will display a fonts window.
Radio buttons
Radio buttons let you select one choice. You cannot select more than one radio
button from a radio button list at the same time. To select a radio button click in the
button area (or on the corresponding text to the right of the button), and a black dot
will display in the selected button.
Chapter 4 Basic Navigation 25
Checkboxes
You will find checkboxes throughout TOAD. The program is designed to be flexible,
and with checkboxes you control how TOAD looks and functions. Unlike the radio
buttons, you can check multiple items in a checkbox list. Remember, options you’ve
set in one checkbox might affect options in another checkbox.
To place a check in a checkbox or remove a check from a checkbox
Click in the checkbox area
OR
Tab to the area with the checkboxes and press the up and down arrow keys until your
option is highlighted. Press the space bar.
Dropdown lists
test
Dropdown lists are used throughout the TOAD screens. The down arrow activates a
dropdown list from which you can choose an item.
Textboxes
For textboxes, click in the textbox area and then type in the text or numeric entry.
Chapter 4 Basic Navigation 27
Keyboard
You can use the keyboard for navigation and selection for part of the TOAD menus.
TAB
The TAB key lets you advance the cursor forward from one area of a window to
another area. The first item in the area you tab to will highlight.
For textboxes, you can TAB to the textbox, and the text cursor displays ready for you
to type.
UP/DOWN ARROWS
The UP ARROW and DOWN ARROW let you move your cursor up and down the
items or list of whatever area your cursor is positioned in. In a dropdown list the UP
and DOWN ARROWS scroll through the choices in the list. The UP and DOWN
ARROWS are referred to as the UP and DOWN keys.
LEFT/RIGHT ARROWS
The LEFT ARROW and RIGHT ARROW let you move left and right across a list of
radio button choices. Once you reach your choice, TAB to move out of the area (or
click outside of the area with your mouse), and your choice remains. You can also
use the UP/DOWN arrow keys to move through the radio button choices.
For the Expand and Collapse buttons the LEFT ARROW collapses the list and the
RIGHT ARROW expands the list.
You can also activate the Expand and Collapse buttons using the <+> and <-> keys
on the numeric keypad. The plus sign “+” expands the list and the minus sign “-”
collapses the list. For hierarchy lists, the multiplication sign “*” expands to all levels.
SPACEBAR
The spacebar lets you check and uncheck checkboxes or click buttons with focus.
Chapter 4 Basic Navigation 29
ENTER
ENTER is similar to a mouse-click. It activates whatever button has focus. For
example, if you <TAB> to a CANCEL button and press <ENTER>, you will cancel
your choices and exit the window. Pressing <SPACEBAR> on buttons with focus
also clicks the buttons.
ESC
ESC cancels most modal dialogs.
Hotkeys – adding/altering
The Editor Options Dialog list of key assignments contains a list of the basic editing
functions.
<CTRL><INSERT>, <SHIFT><INSERT>, and <SHIFT><DELETE> are
mapped to copy (<CTRL>C), paste (<CTRL>V), and cut (<CTRL>X)
automatically.
When you highlight a command, you can alter the key assigned to that command OR
add an additional key. All commands allow for two-part keystrokes; for example, the
old WordStar commands such as Control-K, 0 for the command "set Bookmark 0."
If Key2 shows anything other than <none>, that command expects a second
keystroke.
To remove the second keystroke
1 Click in the textbox labeled Key2.
2 Press <ESC> to clear the keystroke, <none> will display.
Chapter 4 Basic Navigation 31
DO NOT CLICK the buttons ADD or DELETE unless the keys you just entered
should be in addition to the default keystrokes OR you want to remove the displayed
keystrokes entirely. If you click DELETE while looking at a command, the hotkey
for that command is removed.
This options tab is also useful for documenting the default keystrokes and
key-activated functions.
See the Right-Click Menu topic, page 32, for more information.
32
Right-Click Menus
This section gives an overview of the Right-Click Menus. The items in different
Right-Click Menus are discussed in detail in the applicable sections of this guide.
For example, the Debugger Right-Click Menu is discussed in detail in the Debugger
chapter.
A Right-Click Menu is specific to the window that you are in. Some items in the
menu are shortcuts to commands or windows that can be found elsewhere, and some
items are unique to the Right-Click Menu and cannot be found anywhere else in
TOAD.
SQL Editor
Editor
The edit window (or editor) Right-Click Menu includes the following functions:
Paste, Set Bookmark, Goto Bookmark, Describe, Search Knowledge Base, Upper
Case, Lower Case, Format SQL (uses PL/Formatter from RevealNet if installed,
otherwise, uses basic formatting), Comment Block, Uncomment Block, Find
Closing Block, Blank DBMS Output Statement, Make DBMS Output Statement,
Save, Load, Show Editor Toolbar, Editing Options, Unix Style Save, Autotrace,
SQL Trace (tkprof), and Optimizer Mode.
Procedure Editor
Editor
The Procedure Editor Right-Click Menu includes the following functions: Paste,
Upper Case, Lower Case, Set Bookmark, Goto Bookmark, Debug, Describe,
Search Knowledge Base, Compile, Save to File, Load from File, Check in Source,
Unix Style Save, Load Procedure, Show Navigator List, Comment Block,
Uncomment Block, Format Statement (requires PL/Formatter from RevealNet),
Blank DBMS Output Statement, Make DBMS Output Statement, Find Closing
Block, Show Edit Toolbar, and Editing Options.
34
Schema Browser
Object Lists
The Right-Click Menu over the label tabs on any of the main lists on the left hand
side of the window displays a menu to show/hide the main panels, for example, to
hide the Synonyms list if you do not require access to Synonyms. You cannot hide
the Tables tab.
Tables Tab
Create Script, Export Data, Privileges, Truncate, Analyze, Add Column, Add
Index, Add Constraint, Show Column Comments in List
Procs Tab
Save to File, Compile, Compile Dependencies, Load in Procedure Editor, Execute
Procedure, Privileges, Copy Source to Clipboard, Copy Selected Source to
Clipboard, and Print Source
Views Tab
Compile, Format SQL, Copy to Clipboard, Load Source in SQL Editor, and Show
Column Comments in List
Data Grids
The Data grids for Tables and Views also has a Right-Click Menu for the
following functions: Memo Editor, Print Grid, Posting Changes/Edits, Selecting
Columns, Saving to File/Clipboard, Row Height, Number of Fixed/Anchored
Columns, Copy Row, Record Count, Allowing Multi-Select, Displaying Row
Numbers, and Row Highlight.
Chapter 4 Basic Navigation 35
When you first run TOAD, the Main window displays with the main toolbar.
Open a new SQL Edit window with the current active connection
Open a new Schema Browser window with the current active connection
Open a new Procedure Edit window with the current active connection
Open a new SQL Modeler window with the current active connection
Open a new Explain Plan window with the current active connection
Open a new Object Search window with the current active connection
Open a modal TOAD Reports dialog with the current active connection
Open a new Offline Text Editor window (no Oracle connection required)
If you have never used TOAD, the SQL Edit window is a good starting point. The
window contains an editor to compose SQL statements or scripts and a results grid to
display the results from SELECT SQL statements. At the end of the chapter, step-by-
step examples are provided for various SQL Edit procedures.
The SQL Editor lets you type, edit, execute, and tune. When you first start TOAD
you are in a SQL Edit window. The SQL Edit window has two panels. The SQL
Editor is the top panel and the Results Grid, the lower panel, displays fetched data.
The Results Grid contains tabs for Data, Explain Plan, Auto Trace, and DBMS
Output. A horizontal splitter between the editor and results grid lets you size each
component accordingly.
The SQL Edit window has two toolbars. The top toolbar is for SQL Edit specific
functions. The bottom toolbar, or edit toolbar, is for common editing functions such
as copy, cut, and paste. The edit toolbar is also on the Procedure Edit window.
Delete the current row of data from the SQL Results Grid
Save to File
Take the current SQL statement and create a development tool code statement
Take a development tool code statement and strip out the Oracle SQL statement
Tune the selected SQL statement with the SQLab Xpert module
Shortcut Keys
F1
You can press F1 while in the SQL Edit window to display a help file that lists the
shortcut keys.
F4
Describes an item (table, view, procedure, function, or package) in a popup window
F6
Toggles the cursor between the SQL Editor and the Results Grid
F10
Displays the Right-Click Menu for the section (Editor or Results Grid) that the
cursor is in
<CTRL>T
Columns Dropdown – You put the cursor on the table name, and a popup window
lists the columns in that table.
<ALT><UP>
Goes to the previously executed statement that you’ve run
<ALT><DOWN>
Goes to the most recently executed statement
<HOME>
Goes to the beginning of the line
<CTRL><HOME>
Goes to the top of the editor. In the results grid, goes to the first row of the column
the cursor is in
<END>
Goes to the end of the line
42
<CTRL><END>
Goes to the last row of the column you are in
CAUTION: You need to be careful when using <CTRL><END>. TOAD shows
queries quickly. Even in a table with a million rows the response is almost
immediate. This is because TOAD only fetches and displays what it needs. But with
<CTRL><END> TOAD has to fetch EVERYTHING. This can be a long process.
So, if a table has only a hundred rows, TOAD can quickly fetch data when you press
<CTRL><END>, but if a table has a million rows, the process could be time
consuming.
If you need to examine rows at the end of a large recordset, refine your query with
something like:
Select * from table
Where primary_key > value
KEYSTROKE FUNCTION
F1 Display SQL Editor section of TOAD Help file
F2 Toggle between full screen Editor and Editor/Results Grid display
F3 Find next occurrence
<SHIFT>F3 Find previous occurrence
F4 Describe Table, View, Procedure, Function, or Package in popup window
F6 Toggle cursor between Editor and Results Grid
F7 Clear all text
F8 Recall previous SQL statement (invokes SQL Statement Recall window)
F9 Execute statement
<CTRL>F9 Verify statement without execution (parse)
<SHIFT>F9 Execute current statement at cursor
F10 Display Right-Click Menu
F12 Pass the editor contents to the specified External Editor
<CTRL>A Select all text
<CTRL>C Copy
<CTRL>D Show Procedure Arguments
<CTRL>E Execute Explain Plan on the current statement
<CTRL>F Find text (invokes Find Text window)
<CTRL>G Goto line (invokes Goto Line window)
<CTRL>L Convert text to lowercase
<CTRL>M Make Code Statement
<CTRL>N Recall Named SQL Statement (invokes SQL Statement Recall window)
<CTRL>O Open a text file
<CTRL>P Strip Code Statement
<CTRL>R Find and Replace (invokes Find and Replace Text window)
44
Alternatively, you can type the TOAD EDIT command to translate the command
into a SELECT SQL statement with ROWID column.
Edit dept
and press <CTRL><ENTER> or F9 to execute. Then you can edit the data.
If you want to choose a table and can’t remember the title or schema, click the Show
Tables window button. and the Table Names Select window displays from which
you can choose the owner and the table. You can even click on a table name and
drag and drop that name to the SQL Edit window.
46
Notice the status panel indicator at the bottom of the screen turns green. This
indicates that the table data can be edited. When the indicator is red, the data cannot
be edited, but it can still be selected and copied.
Chapter 6 SQL Editor 47
Click the Single Record View button, and the Single Record View window displays
for the record of the item you’ve selected. The arrow buttons in the window let you
move up and down the columns. You can also insert records, delete records, and post
edits.
Last record
Cancel edit
Insert record
Refresh data
48
Commit
Commit
The Commit command executes an Oracle Commit, sending data to the database.
When you edit a cell in a table, a transaction occurs. Other users can only see the old
data until you commit. Commit writes the transaction to the database. Rollback
cancels that transaction.
You can choose Commit from the Database > Commit menu item or click the
Commit button from the main toolbar. This performs a commit for all windows that
are open in the current session.
Commit can be ON or OFF. The status panel on the bottom of the window shows
you the status of Commit. Data is not available to other users until you choose
Commit. So, with Commit OFF you can make changes without affecting other users.
Notice a related option on the next line is Prompt for Commit when closing TOAD
if autocommit is disabled. If the Commit automatically after every statement is
unchecked, and the Prompt for Commit when closing TOAD option is checked,
TOAD will ask you whether or not you want to perform a commit to the changes
before you close a session.
Chapter 6 SQL Editor 49
As soon as you start editing a table, the Update Grid Edits button is enabled. The
Update Grid Edits command sends the latest edits (or data) to the database. If
autocommit is ON at the time the Update Grid Edits is activated, the data will be
committed. If autocommit is OFF, the data is buffered in the transaction.
When you edit data in a row, the changes are not sent to the Oracle transaction buffer
until you change rows (click in another row). However, if you only have one row,
you can’t change rows. That’s where the Update Grid Edits command is useful. You
can edit in the row and then, without changing rows, click the Update Grid Edit
button, and the data is sent to the Oracle transaction buffer. If autocommit is OFF, it
stays in the buffer. If autocommit is ON, the data is committed.
So, if Commit is ON and you type in a row and then change rows, the data is
available to other users. With Commit OFF, you can make changes, but other users
will see the old data until you choose Commit.
Reverse Changes
Next to the Update Grid Edits button is the Reverse Changes button. This lets you
reverse the changes you’ve made that have not yet been posted. For example, typing
in col 1, pressing <TAB>, typing in col 2, pressing <TAB>, then clicking the
Reverse Changes button will reset col 1 and col 2 to their previous values.
50
Explain Plan
Explain Plan (also called Execution Plan) displays steps that will occur in the
selected SQL statement. This lets you visually see the steps. The purpose of Explain
Plan is to determine the execution plan Oracle follows to execute a specified SQL
statement. The Explain Plan function inserts a row describing each step of the
execution plan into a specified plan table. If you are using cost-based optimization,
Explain Plan also determines the cost of executing the statement.
NOTE:
Viewing previous Explain Plans via View > Explain Plan will not work unless you
first run the TOADPREP.SQL script, which is explained in this section. <CTRL> E
Explain Plans in the SQL Editor will work regardless of TOADPREP.SQL, but if
you have not run TOADPREP.SQL you must to set the View > Options > Oracle >
Explain Plan Table name option to point to your own plan table (Plan_Table).
TEMPS – TOADPREP.SQL
The Explain Plan window will not display previous Explain Plans unless you run
TOADPREP.SQL which creates the temp tables needed for storage and retrieval of
Explain Plans. TOADPREP requires you to step through and execute each statement
in the script. This is explained in the README file. You must have System or DBA
access in order to run the TOADPREP.SQL script.
Excerpt from the README file:
1 Connect to the SYS or SYSTEM schema, or a schema with the DBA role.
2 Go to File > Open File.
3 Open your TOAD > TEMPS folder.
4 Double-click on TOADPREP.SQL.
5 This loads TOADPREP.SQL into your SQL Editor.
6 Execute each statement in the script by clicking on the statement and pressing
<CTRL><ENTER>.
NOTE: If this is your first time running the TOADPREP.SQL script and you
execute a Drop statement, you receive an error message. This is because there is
nothing to drop. You can click OK and continue. However, you can just skip all
the drop statements (don’t execute the drop statements), since TOAD has
nothing to drop.
7 For the Connect statement, you need to modify the statement for your
connection.
8 When you exit, TOAD will ask you if you want to save changes. Click Yes.
So, the first time you run TOAD you need to execute TOADPREP so it can create
the two tables of information that Explain Plan needs (TOAD_PLAN_SQL and
TOAD_PLAN_TABLE).
Notice the Explain Plan results have expand and collapse buttons. They let you
display the details that you need to see.
If you attempt to activate an Explain Plan and you have not created the needed
TOAD temp tables, you get an error message telling you the table or view does not
exist.
You can copy the Explain Plan hierarchy to the Windows clipboard or send it to the
printer with a right mouse-click over the Explain Plan output and selecting either the
Copy to Clipboard or Print Results menu item
NOTE: You must have the View > Options > Oracle > Explain Plan Table
Name menu item entered, or you will not be able to view previous plans. The default
entry is TOAD_PLAN_TABLE.
Refer to Oracle documentation for how to read and interpret an Explain Plan output.
Chapter 6 SQL Editor 53
Opens a new Offline Text Editor window (no Oracle connection required)
TOAD has an Offline Text Editor window. So, you can edit scripts without being
connected to an Oracle database.
For example, by modifying the script files that define how the TOAD Editor should
highlight keywords, you could edit HTML files and have TOAD highlight the
HTML markup tags in various colors.
The file language types supported are:
§ PL/SQL
§ HTML
§ INI
§ JAVA
§ TEXT
The file associations for file name extension and language type is set up in the
View > Options > Files dialog.
Each language type supports separate lists of:
§ Editor Options
§ Key Assignments
§ Editor Parser Scripts
§ Auto Substitutions
54
You access the Add and Recall SQL dialogs items through the SQL-Window menu.
The purpose of Add/Recall SQL is to create a list of previously executed SQL
statements in order to recall them at a later date, instead of having to retype them.
There are three different types of Add/Recall SQL statements:
§ Recall Previously Executed
§ Recall Personal SQL
§ Recall Named SQL
The SQL Statement Recall window displays. It includes options for searching in
SQL statements, deleting SQL statements, and displaying all or selected SQL
statements.
The Recall window displays a list of the last X number of statements executed. The
default number is 100, but you can change this in the options. See the Options for the
SQL Editor topic, page 61, for more details. The list of SQL statements is written to
and read from the SQLS.DAT file from the TOAD folder.
You access the window by clicking the Recall Personal SQL button in the SQL Edit
toolbar or via the SQL-Window > Recall Personal SQL menu item.
You have to add a Personal SQL Statement before you can Recall a Personal SQL
Statement. Recall Personal SQL only lists the ones that you’ve added to the list.
This window functions identically to SQL Statement Recall, except that the list and
order of statements is controlled by the TOAD user.
Use this dialog to pick a SQL statement from your named list of SQLs, then copy it
back to the SQL Edit window for execution. The Recall SQL window for Recall
Named SQL lists the names on the left panel and highlights the corresponding SQL
statement on the right panel.
The SQL statements are stored in the NAMEDSQL.DAT file in the TOAD\TEMPS
folder.
This window is a combination of SQL Command Recall, Recall Personal SQLs, and
Recall Named SQL.
Bind Variables
You can execute SQL statements in the SQL Editor using bind variables, where a
colon leads the bind variable name, e.g.,
Select * from employee where last_name = :NAME
and TOAD will present the Variables popup window for you to input the value for
the NAME bind variable. The values you enter are stored and retrieved for
subsequent queries in the PARAMS.TXT file in the TOAD\TEMPS folder.
Substitution Variables
You can also execute SQL statements with substitution variables, where the
ampersand leads the substitution variable name, e.g.,
SELECT * FROM &schema.EMPLOYEE
and TOAD will present the same Variables popup window for you to enter the value
for &schema. If you want to query DEMO.EMPLOYEE, enter DEMO. If you
wanted to query SCOTT.EMPLOYEE, enter SCOTT.
Chapter 6 SQL Editor 61
The View > Options > SQL Editor page contains numerous options.
NOTE: Options for the SQL Editor are spread across three dialogs:
View > Options > SQL Editor, View > Options > Editors, and Edit > Editor
Options.
See page 79 for more information on the Edit > Editor Options menu.
62
“SQL Window” button on SQL Recall window appends rather than replaces
Default – Unchecked
If checked, the default button and behavior will append the selected SQL to the
current contents of the SQL Edit window. If unchecked, the default button and
behavior will REPLACE the current contents of the SQL Edit window.
Executing Statements
If the SQL Edit window has a single statement that you wish to execute
Press F9
OR
Click the Execute Statement button on the toolbar.
TOAD supports query statements, DDL statements, blocks of procedure SQL, etc.
Chapter 6 SQL Editor 67
The SQL Edit window can process SQL scripts that contain DDL statements, Insert
statements, and more. Some SQL*Plus commands are ignored as TOAD processes a
SQL script. These commands include Set and Prompt. For scripts that contain other
SQL*Plus commands, you can still execute your script using the SQL-Window >
Execute SQL Window via SQL*Plus menu item.
As TOAD processes a SQL script, you can also embed one script within another via
the “@” sign. For example,
REM This is the start of my script.
@c:\scripts\doscript.sql
etc.
68
Table/View Aliases
Setting up table or view aliases permits a shortcut for entering columns of a query.
The ALIASES.TXT file is in the TOAD\TEMPS directory. It should look like this:
table_name=alias
such as:
AAX_ACCESSGROUP_APPLICATION=aax
ACA_ACTIVITY_ACTION=aca
ACC_ACTIVITY_CATEGORY=acc
ACD_ACTION_DESCRIPTION=acd
ACP_ACTIVITY_CONTACT_PARTIC=acp
ACT_ANALYSIS_CATEGORY_TYPE=act
ADD_ADDENDUM=add
ADT_ADDRESS_TYPE=adt
AFP_ACTIVITY_FIRM_PARTIC=afp
AGX_APPLICATION_GROUP_ITEM=agx
DEPARTMENT=dept
and a column list will popup for the DEPARTMENT Oracle table.
If you set up these table aliases in ALIASES.TXT, they will be presented on the SQL
Modeler dialog when you select that table to build your query.
To complete the SELECT SQL statement above, use Auto Replace Substitutions
named similarly to the table aliases. These are accessible through the Edit > Editor
Options > Auto Replace tab. However, it would take you a long time to add a
reasonably sized schema, so it is recommended that you edit
\TEMPS\PLSQLSUB.TXT. It should look like this:
Chapter 6 SQL Editor 69
the popup should appear. Select your column name, then continue.
select dept.NAME
from dep_
The editor in TOAD is used on the SQL Editor and Procedure Editor windows to edit
SQL text. The same editor is used in read-only mode on many other windows
throughout TOAD. This section highlights some of the configurable features. The
Editor Options, which include some of the following options, are discussed in detail
in the next section. Right-Click Options are also discussed in detail in the Right-
Click section of this chapter.
Here, the default color of green for comment is being changed to light blue and italics has been unchecked.
72
If you want to add or remove Oracle SQL Reserved words, PL/SQL Reserved words,
or Oracle Keywords from the lists that are syntax highlighted, then edit the
PLSQLSCR.TXT file. If you want to add or remove words from the syntax
highlighting of the other languages, edit the corresponding editor parser script for
that language.
§ Bookmarks
Bookmarks help you manage files. They are especially useful when you are trying to
manage large files. Mark a position within the SQL Editor so that you can easily
jump back to that line. You can set up to 10 separate bookmarks within one editor.
Bookmarks can be accessed from the Right-Click Menu.
To set a bookmark
Press <CTRL><SHIFT># where # is a number between 0 and 9. A small green box
containing the bookmark number will appear in the editor gutter.
Thereafter, you can continue to alter the substitutions in the Editor Options window
or directly in the [Language]SUB.TXT file.
Chapter 6 SQL Editor 75
Where:
"crbl" is the macro for the template (the text YOU type)
"entire cursor block" is the description of the template
everything following until the next template is the body of the template
NOTE:
Do not leave spaces between the end of the template description and
the final right bracket! NT4.0 API calls to manage profile strings have
a bug which will cause reading of the templates file to fail.
If you type "crbl" and press <CTRL><SPACE>, TOAD will load the body of the
template and place the cursor at the position of the vertical pipe char. If the word or
phrase under the cursor does not match an existing macro verbatim, a dropdown list
of all macros is displayed.
76
\TEMPS\PLSQL.DCI contains sample templates which you can alter to suit your
needs.
You can edit the code completion templates directly in the Editor Options dialog,
Code Templates tab, or via text editor on the *.DCI files.
§ Undo/Redo
These basic editing commands are accessed from the Edit menu.
Command Keyboard Shortcut
Undo <CTRL>Z
Redo <SHIFT><CTRL>Z
This drill down button lets you change the reports font.
Chapter 6 SQL Editor 79
Editor Options
Editor Options can be selected, deselected, and modified on the popup dialog
window that is available either from the Right-Click Menu of the editor (on the SQL
Edit or Procedure Edit windows) or from the Edit > Editor Options menu item.
The Editor Options lists categories in the left panel: General Options, Highlighting,
Key Assignments, Auto Replace, and Code Templates. Click any of these items to
display its corresponding options in the right panel.
The editor options are stored in the [Language]KEYS.BIN and
[Language]OPTS.TXT files in the TOAD\TEMPS folder, where [Language] is either
HTML, INI, JAVA, PLSQL, or TEXT. When a change is made to the Editor
Options, the appropriate OPTS.TXT and KEYS.BIN files are written out. Do not
attempt to edit these files with a text editor. Use the Editor Options dialog.
NOTE:
The Key Assignments, Auto Replace, and Code Templates items have Load from
File and Save to File buttons. Each of these buttons lets you set up two or more
collections of keystrokes, auto replaces, and code templates. This is useful on
multi-user machines. For example, one user might prefer to use one set of assigned
keys, auto replaces, and code templates, and another user might have a different set
for a preference.
80
General Options
Click the General Options item to display the collapsed categories in the right panel.
General Options contains four categories:
Printing Options
Display Options
Control Options
General Options
Chapter 6 SQL Editor 81
Click the “+” next to each option to expand its corresponding checklist.
If the checklist is expanded, click the “–” to close the corresponding checklist.
Here, the Printing Options list is expanded. A click on the minus sign will
collapse the list. A click on the pluses in the other options will expand their
corresponding lists.
82
Printing Options
These options are used when you print the editor comments to paper.
Display Options
The display options let you control what is displayed in the editor.
Show gutter
Default – Checked
When checked, this option displays the gutter. When unchecked, a gutter does not
display. So, if you have chosen to display line numbers, but you have the Show
gutter option unchecked, your line numbers, which would display in the gutter, will
not display.
Gutter
84
Control Options
But when you begin the line with your specified character “>”
>This is over 16 chars and will not word wrap.
88
General Options
Auto indent
Default – Checked
If you have an indention already set, when you type, it automatically indents the
following lines.
Type this:
This line of code starts in column 5
So does this line
Chapter 6 SQL Editor 89
Word-wrap lines
Default – Unchecked
When checked, text will automatically wrap at the Word-wrap Column margin. If
this option is selected, you cannot type beyond the right margin even if the Cursor
beyond EOL option is checked.
90
Highlighting
The highlighting options are designed to allow you to select colors, fonts, and
capitalization preferences for different items, names, etc. in the current schema. For
example, Reserved word refers to Oracle reserved words. You can change the
foreground or background colors for Reserved words, the font, the type size, and
even the capitalization. This lets you customize the way your code will appear for
whatever is easiest for you to read. A preview pane is provided in the lower part of
the window that shows you how the selections you make affect the preview example.
Here, the underline option is checked for datatypes. In the preview screen, the datatype is underlined.
Chapter 6 SQL Editor 91
For example, you could syntax highlight SYS view names like this:
You can syntax highlight tablenames in your schema applying different colors and
capitalization effects like this:
And the result would be “ALLOCATION” in light green, in all uppercase letters.
92
Display Item
This lists the display items from which you can choose to modify how they will
appear. The last three display items, Selected Text, Left Margin, and Gutter, do not
refer to actual code content. They have only certain options enabled.
Selected Text
This is an item in the display items that refers to the colors that will display when
you select text by either clicking and dragging the mouse over a section of text, or
pressing <SHIFT> and one of the arrow keys to select a portion of text. You can
change both the foreground and background colors that will display for the selected
text. You can preview your new selected text colors before clicking OK, by selecting
text in the preview window and seeing how the new colors affect the selected text.
The other selection areas such as font are disabled when you click on the Selected
Text item. Only the foreground and background color sections are enabled.
Left Margin
This item only enables the background color choice. If the background color default
box is already checked, the dropdown menu will be disabled. In such a case, you
must uncheck the default box to enable the dropdown menu. The dropdown menu
displays a color palette from which you can choose the color for the left margin
vertical bar.
Chapter 6 SQL Editor 93
Gutter
This item only enables the background color choice. If the Use Default box for the
background color is already checked, the dropdown button is disabled. In such a
case, you need to uncheck the Use Default box so that the dropdown button is
enabled.
Default
The default item lets you change the appearance of your default text if you want to
use colors or fonts that are different from the defaults.
Item Foreground
This option includes a dropdown list from which you can choose a color from the
color palette. You can also click the Use Default box to the right of the dropdown
button, to select the default foreground color. If the Use Default box is already
checked, the dropdown button is disabled. In such a case, you must uncheck the Use
Default box so you can enable the dropdown button.
94
Item Background
Like item foreground, this option includes a dropdown list from which you can
choose a color from the color palette. You can also click the Use Default box to the
right of the dropdown button to select the default foreground color. If the Use
Default box is already checked, the dropdown button is disabled. In such a case, you
must uncheck the Use Default box so you can enable the dropdown button. If you are
going to change the item background, make sure that it will have enough contrast
from the item’s foreground color to be easily readable.
Editor Font
This is a dropdown list of fonts that you can select. The default is Courier New.
NOTE: The editor supports only one font name for all display items.
Size
This is a dropdown list of point sizes that you can select. The default size is 10 point.
NOTE: Some fonts won’t have all the point sizes that are in the list. You need to
look at the preview window and see if your selection actually changes the size of the
display font.
B,I,U,S
These are checkboxes for bold, italics, underlined, or strikethrough text effects.
Multiple checkboxes, or effects, can be selected for each item.
Character Set
This is a dropdown list of character sets from which you can choose. The default is
ANSI.
Capitalization Effect
This dropdown list lets you choose how your item will be capitalized. However, the
Apply Capitalization Effects checkbox that is in General Options > Display
Options must be checked in order for your capitalization effects to display.
Chapter 6 SQL Editor 95
For object names that contain the underscore character, the first letter after the
underscore will also be capitalized, e.g., Table_Name.
Capitalization effects are only applied to your text after you change lines up or down
in the editor. E.g., type:
select * from table_name
and you will not get capitalization effects until you press <ENTER> or go up or
down one or more lines then it is translated to:
SELECT * From Table_Name
96
Key Assignments
Clicking on the Key Assignments item displays the corresponding Key Assignments
options. The Key command categories listed are:
Bookmarks
Caret movement
Clipboard operations
Deletion operations
Miscellaneous
Chapter 6 SQL Editor 97
Edit sequence
This lets you edit the existing sequence through a series of step boxes.
Delete sequence
This deletes whatever sequence is currently highlighted in the Activation key
sequences window. If a list of sequences is in the box, you can click a sequence from
the list to highlight it and then click the delete sequence button to delete that
highlighted sequence.
98
Auto Replace
Add definition
This box is enabled after you click in the Current selection window and type a
character. The first blank window is where you type the text that you want
automatically replaced. The window to the right is where you type the replacement
text. Then click the Add definition button to add this to the Auto Replace list.
Remember to Click OK before exiting the window. If you exit the window without
clicking OK the new definition will not be added.
Replace definition
This button is enabled after you make a selection from the already defined Auto
Replace list, click in the With window (the window next to the current selection
window), and type a character in the With window. After you type the new entry that
you want to replace the current selection with, click OK and the list will be updated.
Delete definition
This button is enabled after you select a definition from the existing Auto Replace
list. Click the Delete definition button to delete the definition from the list. Click
OK and the definition will be deleted.
Code Templates
Shortcut/Description window
This window lists the code templates that are already defined.
Click on an item from this window and its template will display in the display
window that is under the Shortcut/Description window.
Chapter 6 SQL Editor 101
Add definition
Click the Add definition button, and a new line with the word new appears in the
shortcut templates window. You can then type in the shortcut name. Then tab and
type in the description.
Delete definition
The Delete definition button is enabled when you click on a line from the
Shortcut/Description window. To delete a definition, select the
Shortcut/Description you want to delete, click the Delete definition button, and
then click OK.
Right-Click Menu
Click the right mouse button while you are in the SQL Editor to access the
corresponding Right-Click Menu. This provides a shortcut to the functions listed in
the menu. You can also press F10 to display the Right-Click Menu.
This Right-Click Menu has a few features that are not anywhere else in
TOAD. These functions are:
Format SQL
This formats your SQL statements using RevealNet’s PL/Formatter product
if installed or just a basic format if PL/Formatter is not installed.
Optimizer Mode
This changes the optimizer mode for the entire session. Options include
Choose, Default, Rule, First Rows, and All Rows.
Chapter 6 SQL Editor 103
The SQL Results Grid has four tabs: Data, Explain Plan, Auto Trace, and DBMS
Output.
Data tab
The SQL Results Grid Data tab is for viewing output from select statements. The
Grid lets you take the results of a query and perform a variety of functions and
display options. It’s more flexible than using SQL* Plus, because you can format the
results visually or graphically.
You can:
§ Change the font
§ Allow or disallow multi-selection of records
§ Size the column widths to the width of the data
§ Display row numbers in the record selector area
§ Change the row height from single, to double or triple
in the SQL Editor, you can see all rows and columns of the given table in the results
grid.
104
Rearrange Columns
You can drag and drop column names without having to re-execute your queries.
TOAD retains the column layout (order and widths) from query to query as long as
the column list in the query remains the same.
For example:
select * from employee
would be updateable.
To overcome this obstacle, you can substitute EDIT Items which TOAD will
translate into the updateable version of the statement.
For example:
edit employee
If the resultset is editable but remains read-only, make sure Read-Only on the
Options window is not enabled. This is a common FAQ concerning TOAD.
A red or green box displays in the status panel at the bottom of the SQL Edit window
indicating whether the recordset is editable (green) or not editable (red).
Chapter 6 SQL Editor 105
The Right-Click Menu for the Results Grid provides numerous display, printing, and
exporting options.
Memo Editor
The Memo Editor is for LONG, CLOB, or VARCHAR data type columns. Blob Edit
is for LONG RAW/BLOB data type columns. For columns that are long (200
characters or more), when you double-click, a text editor displays. This is not
designed for numeric columns. It’s designed for text. For date columns, a date picker
is displayed where you can select a date from a calendar presentation.
Print Grid
This invokes a Grid Print Setup window where you can custom set the width of the
columns, add headers, and custom set other page print options. Use this dialog to
select your grid print options; then print the grid contents to paper.
You can total a number column. Click on a Column in the Report will print as
shown window. Check the Total the Column checkbox, and your column will be
totaled.
108
The tabs in the Grid-Print Setup window are for Headers/Footers, Columns, and
Page Setup.
Headers/Footers
You can select a top line and second line header and a one line footer.
You can also check the Print page numbers box, and the page numbers will be
printed.
Page Setup
A dropdown button lets you select the printer.
Default orientation in the page setup is Landscape. Because the width of the screen is
greater than the width of Portrait orientation, you should print using Landscape
orientation.
Columns
A checkbox lets you Print Column Titles in Bold.
A Text Alignment dropdown list lets you choose left, centered, or right alignment.
The Remove Column button lets you remove columns.
A Data Alignment dropdown list lets you choose left, centered, or right alignment.
If you want to total a column, select the column in the Report will print as shown
display and then check the Total this column checkbox.
Because the screen fonts are slightly different from the printer fonts, it is best to
leave space between columns so that the printed version has sufficient space
between columns.
After you select your options, click the Print button.
Save As
The Save As dialog from the Right-Click Results Grid menu displays the Save Grid
Contents window which contains format and file location options.
Delimiters
Some programs require commas, which is a popular standard, to distinguish the data
from one column to another column. The ASCII standard for dividing data is the
<TAB> character. The Save As dialog from the Right-Click Results Grid Menu lets
you choose a comma delimiter, a tab delimiter, or you can enter a different delimiter
character.
110
§ File
If you choose File, you can type in the file location or you can click the drill down
button to find your target directory.
§ Clipboard
Save to Clipboard saves the text to clipboard ready for you to Paste to another
application such as Word or Excel.
After you click OK, TOAD will display a confirmation message that states the
number of rows that were exported.
Select Columns
You can check or uncheck the columns you want to see.
You can also Select All or Unselect All
<ALT><RIGHT ARROW> will move the current column to the end, leaving the
columns at left unchanged. <ALT><LEFT ARROW> will move the column at the
far right to the current column position.
For example, if you have the following columns:
1 2 3 4 5
Clicking on column 2 and pressing <ALT><RIGHT ARROW> will result in this
column layout:
1 3 4 5 2
And pressing <ALT><LEFT ARROW> will take the column from the end and insert
it into the current column position, yielding:
1 2 3 4 5
Spec Filename
You can type in your filename or use the drill down to choose a target path.
Execute
This button exports the data to the file.
Generate Columns
This creates columns for your specifications file based on the DDL for the table, not
the width of the actual table data.
Find Data
The Grid Data Find window lets you search through selected columns for selected
values or characters. You can specify whether you want the search case sensitive,
and whether or not you want to have partial matches.
To find data
1 From the Right-Click Menu or from the main Grid menu select Find Data.
The Grid Data Find window displays.
2 Select the Column you want to search.
3 Enter the keyword or Value to find.
4 Click the ADD button.
5 Select the desired case sensitive and partial match options.
6 Click OK.
TOAD will search all records for the value, and position the recordset to the first
matching value. If the records are cached, the search is fast. If TOAD needs to query
ahead in the recordset, you’ll have to wait for additional rows to be fetched from the
database.
This dialog lets you enter a multiple column search criteria.
Example:
ENAME = ‘SMITH’ AND JOB = ‘CLERK’
Chapter 6 SQL Editor 117
Copy Row
This item lets you copy an entire row.
Record Count
This displays a message window that shows the count of the number of records in the
recordset.
# Fixed/Anchored Columns
This displays a dropdown window where you can select 1, 2, 3, or the number you
type in Other. You can even select None. After selection, starting at the left, the
number of columns you’ve selected are fixed and not editable. Horizontal scrolling
in the grid will keep the fixed columns in view.
Row Height
This displays a dropdown window where you can select single, double, or triple
space row height. The default is single. The selection applies to all the rows in the
grid.
118
Allow Multi-Select
When this is checked, you can select more than one row by pressing <CTRL> and
the rows you want to select. If you accidentally select a row you want to deselect,
press <CTRL> and click the row and it will be deselected.
When Multi-Select is not checked, you can only select one row at a time.
Font
This displays the font window where you can change the font for your Results Grid
data. The font you choose is applied to all the data in the grid.
Row Numbers
When checked, the Row Numbers display in the record selector area.
The total number of rows returned in the resultset will display in the status bar at the
bottom of the window only after you have scrolled to the end of the resultset. This is
because the resultset is fetched only as required, to improve overall performance.
When the last row is fetched, TOAD will know and display the total count.
To return the Oracle pseudo-column ROWNUM in the SQL Results Grid, add
"ROWNUM" to the query:
select rownum, emp.* from employee emp
Remember that rownum is an Oracle pseudo-column, not stored with the table
definition or data, but derived when queried.
To return the ROWID in the query use the select ROWIDTOCHAR(rowid) command
OR
Check the View > Options > Data grids page > Show ROWID in data grids
option checkbox.
Row Highlight
When this is checked, the entire row is highlighted when any cell in the row is
clicked. When this is unchecked, only the individual cell highlights when selected.
Chapter 6 SQL Editor 119
The Data Grids options are accessed via the View > Options > Data Grids menu
item.
NOTE: Dates can only be entered in mm/dd/yy, mm/dd/yyyy, or the Windows
Control Panel, Regional Settings, Data, Short Data Style format. For example, in
French, date entry of dd/mm/yy or dd/mm/yyyy is acceptable. Dates entered in dd-
mon-yy format will be rejected.
Show row numbers in all grids (applies to data grids on Browser also)
Default – Unchecked
If checked, TOAD will display the row numbers in the results grid, records selectors
area.
Clone SQL cursor when exporting grid contents (faster exports and uses less
memory)
Default – Unchecked
If you clone cursor (check this option), TOAD will reissue the statement from the
SQL Editor which means that the statement processing time is doubled. But the
cursor is unidirectional, which saves a lot of memory during the export.
If you do not clone the cursor (unchecked), TOAD will use the existing cursor from
the SQL Editor Grid, which is a lot faster, but can potentially be a memory hog.
Do not require NOT NULL columns in data grid entry (allow Oracle to enforce
constraints)
Default – Checked
If this option is checked, TOAD will not check for blank values during grid edits,
and will instead rely on Oracle for the constraint checking. If unchecked, TOAD will
stop editing if blank is entered in a NOT NULL required entry column.
NOTE: LONG is similar to CLOB, and LONG RAW is similar to BLOB. TOAD can
handle all four of these datatypes.
TOAD does not display the data for LONG RAW columns in a SQL Edit Grid.
LONG columns are columns that contain character data up to 2 gigabytes. You
define them as “long” in your SQL script. LONG RAW columns contain binary data
that cannot be displayed such as GIFs, Word docs, etc.
LONG columns display the first several characters, and LONG RAW columns
display as (BLOB).
You edit these columns by double-clicking on the column and editing from the
popup windows that display. For LONG columns, the Memo Editor window is
displayed. For LONG RAW columns the Blob Edit window is displayed. If the
popup window does not display, go to View > Options on the Data Grids tab and
make sure the Popup memo editor on double-click option is checked. It must be
checked for the above functionality to work.
124
The popup editor for LONG columns displays the column text. You can edit in the
editor or load a file into the editor. The popup editor for LONG RAWS provides
Load From File or Save to File functionality.
Load From File lets you select a file from your hard drive and place it into the
LONG RAW column in the Oracle database.
Save To File lets you take the data from the LONG RAW column from the database
and save it to a file on your hard drive.
Note that the recordset has to be editable for the popup editors to edit the data. You
can still use the popup editors to have a read-only view of the data.
Chapter 6 SQL Editor 125
LONG Columns
The recordset has to be editable for the popup editors to edit the data.
1 Create a table: "create table long_test (id number, long_col long)"
2 Edit the table: "edit long_test"
3 Insert a row: enter “1” for ID, then double-click on the long col cell
4 Enter text.
5 Click the right arrow. "select * from long_test" should view all records,
including (at least the first few chars) the long cols.
Time Values
When displaying times with dates, TOAD suppresses the time values if they are
12:00:00 AM (midnight). The time portion of the date fraction is zero, so TOAD
adds no value to the display of the date.
Oracle stores dates as a big fraction number offset from January 1, 4712 B.C. It is
then converted to a complete date and time. Whether or not you use time, it's in
there. It will also work accurately well past Y2K.
Performing a query:
SELECT SYSDATE FROM DUAL
will display the time, and similarly, queries of DATE datatype columns will display
the time if it is not midnight.
The time dropdown in the TOAD Options > Data Grids dialog is for display
purposes and does not affect the storage of time values.
Chapter 6 SQL Editor 127
SQL Templates
SQL Templates (Help) is a popup reference for Oracle SQL functions and
expressions. To access the SQL Help Templates, go to the common edit toolbar in
the SQL Edit window and select Show SQL Help. You can also access SQL
Templates from the Procedure Editor window.
The items’ associated text files are located in the TOAD directory in the TEMPS
folder. You can modify the files.
NOTE:
Viewing previous Explain Plans via View > Explain Plan will not work unless you
first run the TOADPREP.SQL script.
Explain Plan is explained in detail in the Explain Plan section on page 50.
130
Auto Trace displays the results of every statement issued while in auto trace mode. It
helps with tuning. When you run a query you can find out some performance
statistics related to that query. Auto Trace is not recommended if a query is going to
return a lot of rows, because it will force a read of all data from the results of a
query.
You can enable/disable Auto Trace through the SQL Edit Right-Click Menu. If Auto
Trace is disabled and you select the Auto Trace tab, TOAD will ask you if you want
to enable Auto Trace. If you select Yes, it will be enabled
Chapter 6 SQL Editor 131
When you execute a DBMS Output statement, the DBMS Output will automatically
display in the DBMS Output tab of the results grid.
Clear window
Set Output Buffer Size, invokes the Set DBMS Output buffer window
where you can set the size
Save to File
Frequency of polling
You can set the frequency of polling (2 seconds to 15 seconds).
132
You can also open a new DBMS Output window by selecting the Open a new
DBMS Output window button.
.
Chapter 6 SQL Editor 133
The SQL Edit window contains two functions that simplify copying SQL statements
from TOAD to code development tools such as Delphi, VB, C++, Java, or Perl, and
from those code development tools back to TOAD. The functions are called Make
Code Statement <CTRL>M and Strip Code Statement <CTRL>P.
For example, taking this code and running Make Code Statement for VB code
changes the SQL statement from this:
select count(*) as cnt
from all_tables
where owner = 'DEMO'
and table_name = 'EMPLOYEE'
to this:
Sql = " select count(*) as cnt"
Sql = Sql & " from all_tables"
Sql = Sql & " where owner = 'DEMO'"
Sql = Sql & " and table_name = 'EMPLOYEE'"
134
to this:
select count(*) as cnt
from all_tables
where owner = 'DEMO'
and table_name = 'EMPLOYEE'
If you have multiple SQL statements in the SQL Editor, highlight the statement you
want to strip before executing the Strip Code Statement function.
The Make Code Format dropdown list lets you select a language syntax for TOAD
to convert a SQL statement into (Make Code Statement function) and out of (Strip
Code Statement function). Currently, Delphi, VB, C++, Java, and Perl are supported.
The default selection is VB.
External Editor
You can use an external editor to edit the SQL Editor contents. To set up, go to the
TOAD Options > Editors > External Editor Command Line. Enter the drive
letter, path, and executable name of the external editor you want, e.g.,
c:\winnt\notepad.exe. While in the SQL Editor or Procedure Editor, press <F12> to
invoke the external editor, which will start and load up the current TOAD Editor
contents. Use the external editor, save the contents back to the SQLPLS.SQL file in
the TOAD folder, quit the external editor, and click back on TOAD, which will ask
you if you want to reload the contents of the SQLPLS.SQL file. Select Yes.
136
You access this menu via View > Options > Editors menu item.
Display columns dropdown list after typing object name followed by a period
Default – Checked
If checked, will display the columns dropdown list. If unchecked, will not display the
columns dropdown list.
Chapter 6 SQL Editor 137
Return column names in lower case from Selection Windows (and drag-drop)
Default – Unchecked
If checked, will return selected column names into the editors in lower case.
Otherwise they are returned in upper case.
1 After you type the table name (or view name) and the period, press <CTRL>T
(or wait a few seconds)
2 A list of columns displays.
3 Click the item you wish to select. To select more than one item, hold down the
<CTRL> key and click the items you wish to select.
140
4 Press <ENTER>.
5 TOAD places the selected column or columns into the SQL Editor to build your
query.
select table_privileges.TABLE_NAME,
TABLE_PRIVILEGES.SELECT_PRIV,
TABLE_PRIVILEGES.INSERT_PRIV
After a query populates the SQL Results Grid, you can press <CTRL>T to display a
list of the columns from the SQL Results Grid.
Chapter 6 SQL Editor 141
The Show Tables window button, in the common edit toolbar, pulls up
the Table Name Select window.
1 From a SQL Edit window or a Procedure Edit window, on the common edit
toolbar select the Show Tables window button.
2 The Table Name Select window displays.
3 Click the item you wish to select. To select more than one item, hold down the
<CTRL> key and click the items you want to select.
4 You can drag and drop the item(s), or copy <CTRL>C and paste <CTRL>V.
142
The Show Columns button, in the second SQL Editor and Procedure Editor
toolbar, pulls up the Column Name Select window.
1 From the SQL Edit window or Procedure Edit window, on the common edit
toolbar select the Show Columns window button.
2 The Column Name Select window displays.
3 Click the item you wish to select. To select more than one item, hold down the
<CTRL> key and click the items you want to select.
4 You can drag and drop the item(s), or copy <CTRL>C and paste <CTRL>V.
Chapter 6 SQL Editor 143
To get a description of an object while you are typing in the SQL Editor
This applies to Tables, Views, Procedures, Functions, and Packages.
1 Place the cursor on the object you want described.
2 Press F4.
3 A popup window displays that describes the object.
144
2 Right-click over the SQL results grid to display the Right-Click Menu.
3 Select the Select Columns menu item.
4 The Select Columns window displays.
5 Uncheck the undesired columns until the columns you want are the only ones
checked.
Chapter 6 SQL Editor 145
6 Select the Save As menu item from the Right-Click Menu. This saves the
results to the Windows Clipboard.
7 Check the Include Column Headers checkbox that is listed in the Save Grid
Contents dialog.
146
This section shows you the various ways you can enter or bring code into the SQL
Editor.
Typing
1 Start with a blank window in the SQL Editor.
2 Type in some SQL code.
3 Execute it.
4 Refine it.
5 Save it to disk.
Loading a file
The Load a file into the editor button. You can click the triangle to display
a dropdown list of the last 10 files you opened while you were in the SQL
Edit window. Once the window is closed, the list is reset.
1 Click the Load a file into the editor button on the SQL Editor toolbar.
2 A Select File SQL Edit window displays.
3 Click the desired file.
4 Click the Open button.
5 The file loads into the SQL Editor.
OR
Drag and drop a file from Windows Explorer to the SQL Editor.
148
Another option lets you enter the number of previous SQL statements that you want
to save and recall. The default is 100. The list of previous SQL statements is stored
to and retrieved from SQLS.DAT. See the Recall and Add SQL topic, page 56, for
more information.
The Procedure Editor lets you create or modify procedures, functions, packages,
triggers, types, and type bodies. It also has a PL/SQL debugging function and can
show errors for objects if it encounters errors while compiling.
See the PL/SQL Debugger chapter, page 189, for more information about
debugging.
By clicking the right mouse button or pressing F10 you access a context menu with
numerous options such as Set Bookmark, Uncomment Block, and Show Edit
Toolbar.
3 ways to invoke the Procedure Editor window
§ Click the third button on TOAD’s main toolbar.
§ Select menu item Database > Procedure Editor.
§ Set the Procedure Editor to StartUp on new connection in the View > Options >
Startup page.
152
Toolbar Buttons
The next 3 buttons only display when the Enable Compiling Multiple Objects From a Single File
option is checked in the Options dialog, Procedure Editor tab.
Save the current editor contents to the file, only active if you’ve made changes to the script
Check file out of source control, lets you check files out of SourceSafe
Check file in to source control, lets you check files into SourceSafe
SQL Lab/SQL Impact - includes dropdown that invokes SQL Lab (when installed) when QA report
is selected, and invokes SQL Impact (when installed) if Where Used is selected.
Change active session for this window
This button includes a dropdown arrow that lists the available sessions.
If you have the PL/SQL Debugger option, these eight buttons display to the right of the Procedure Editor
toolbar. Refer to the PL/SQL Debugger chapter, page 189, for more information.
Set Parameters
Step Over
Trace Into
Trace Out
Halt
Add Watch
Compile Dependent Procedures with Debug information (procedures called by your procedure)
154
The second toolbar is the Common Edit toolbar, a standard TOAD editing/formatting toolbar which
is also used in the SQL Edit window. See page 39 for details. To show or hide the Common Edit
toolbar, right-click over the Procedure Edit toolbar and select Show Edit Toolbar. There is also a
View > Options > Editors > Show Editor toolbars on SQL Editor and Procedure Editor
checkbox.
Shortcut Keys
Shortcut Key Function
F1 Display Window Help File
F2 Show/Hide error panel
F3 Find Next Occurrence
F4 Describe Table, View, Procedure, Function, or Package in popup window
F7 Clear all text
F9 Compile
F10 Display Popup Menu
F12 Pass the SQL or Stored Procedure Editor contents to the specified External Editor
<CTRL>A Select all text
<CTRL>C Copy
<CTRL>D Display procedure arguments, for functions tells you the return datatype
<CTRL>F Find Text
<CTRL>G GoTo Line
<CTRL>L Convert Text to Lowercase
<CTRL>O Open a text file
<CTRL>R Find and Replace
<CTRL>S Save file
<SHIFT> <CTRL> S Save File As
<CTRL>T Display columns dropdown
<CTRL>U Convert text to Uppercase
<CTRL>V Paste
<CTRL>X Cut
<CTRL>Z Undo last change
<SHIFT><CTRL>Z Redo Last Undo
<CTRL><HOME> Go to col. 1, row 1 of the editor
<CTRL><END> Go to the last line of the buffer
156
<CTRL><SPACE> Display code template (key combination + <CTRL> <SPACE>) displays the
applicable template
<CTRL><TAB> Cycle through the collection of MDI Child windows
<CTRL><ENTER> Compile
<CTRL>. (period) Autocomplete tablenames
Chapter 7 Procedure Editor 157
Navigating through the Procedure Edit window is similar to navigating through the SQL Edit
window.
The F9 key compiles and then stores the code in the database.
158
4 You can filter using object types and a starts with, includes, excludes filter.
5 To preview the source for an object, select the object from the object list. Or, just double-click
an object name to load it directly into the Procedure Edit window.
7 The selected object’s SQL script is displayed in the SQL script area of the Select Database
Object window.
8 Click OK.
The script is opened in the Procedure Editor, and the Select Database Object window closes
automatically.
The filter button on the Select Database Object window shows and hides the four widgets for
filtering. If you hide the widgets, you have more area for the grid.
160
5 You can check or uncheck the Include or REPLACE option? checkbox. Checked produces
“create or replace procedure procedure_name...” which WILL overwrite an existing procedure
with the same name. Unchecked produces “create procedure procedure_name...” which will
NOT overwrite an existing procedure with the same name.
6 Click OK.
7 The template script with your object name is pulled into the Procedure Editor.
Chapter 7 Procedure Editor 161
There is also an option to load the templates from the network if you elected to install TOAD to a
network server share. See page 138 for details.
162
TOAD will automatically substitute values for keywords in the templates. TOAD will perform the
following substitutions.
§ Sysdate: %SYSDATE%
§ Date/Time: %DATETIME%
§ Date: %DATE%
§ Time: %TIME%
is translated into:
TOAD can substitute variables in the code completion templates. If you have substitution variables
in your code completion templates, then after you enter the code completion keystroke, TOAD
prompts you for the substitution variable.
Chapter 7 Procedure Editor 163
The left panel contains the Package Navigator List, a list of objects or package contents. Every
package is composed of a Specification (SPEC) and Body, which is displayed in the hierarchy on the
list. Functions in the list are indicated with an f( ) and Procedures in the list are indicated with a p( ).
The right panel is the Procedure Editor and contains the code for the selected object.
The Error panel can only display one error at a time, so arrow buttons let you advance forward and
backward through the errors. The displayed error is highlighted in the procedure script in the display.
The Status panel shows the Row number and Column number of the cursor position, whether or not
the code has been Modified, VALID or INVALID status, and whether or not the code was compiled
successfully or compiled with errors.
A vertical splitter between the package navigator list and the editor lets you resize the navigator list
and the editor. A horizontal splitter between the editor and the error panel can be sized up or down.
The Procedure Edit window allows multiple statements per file, only if the View > Options >
Procedure Editor tab > Enable Compiling Multiple Objects From a Single File option is
checked. Package Specifications and Bodies can coexist in the same file.
Chapter 7 Procedure Editor 165
Execute button
You can run the selected procedure with the Execute button. For example if GIVE_RAISE is the
selected procedure, and if you press the Execute button, it will run the GIVE_RAISE procedure.
If you select the Load Object from Database button you get a filter window. If your database
contains many items, uncheck the View > Options > Procedure Editor > Automatically show
objects on Select Database Object Window option and set up filters before clicking the Execute
button. This will populate the list of existing objects much more efficiently.
The red arrow lets you select objects from the left. Dropdowns let you filter the lists.
166
If you have the optional PL/SQL Debugger and click in the gutter of the Procedure Editor,
a breakpoint is created. So, when selecting text with the mouse drag the selector within the
text area.
Chapter 7 Procedure Editor 167
This button synchronizes the navigator list to the code. If you edit source in the
editor, this button will synchronize the list with your new edits.
Here, the button is depressed so the SPEC and BODY lists are alphabetized.
The View > Options > Procedure Editor page contains numerous options.
Chapter 7 Procedure Editor 169
Reload files when activating TOAD if the file time stamp is changed
Default – Unchecked
If checked, this allows editing in an external editor. When a Procedure Edit window
containing a file is reactivated (gets focus), TOAD will check the date stamp of the
file to see if it was modified by the external program. If the file was modified,
TOAD will display a prompt dialog that will say that the file date/time has changed
and ask you if you want to reload it. Select Yes, and the file will reload.
Hide the errors panel unless errors are raised following a compile
Default – Checked
The error panel is hidden until an error on compile occurs. If unchecked, the error
panel remains open for all tabs, even after errors are gone. If checked, the error panel
is hidden for valid tabs.
170
If PROC_A calls PROC_B and you are editing and recompiling PROC_B, Oracle
flags PROC_A as INVALID, forcing a need to recompile PROC_A. TOAD will
check for this dependency, enable the Compile Dependencies button, which you can
then click to compile PROC_A, and therefore not leave any INVALID objects out
there as a result of your changing PROC_B.
Right-Click Menu
Right-click while you are in the Procedure Editor to access the Right-Click Menu.
This provides a shortcut to the functions listed in the menu.
You can also press F10 to display the Right-Click Menu.
Many of these items are the same as the items found in the SQL Edit window Right-
Click Menu. Some of the functions that the menu contains are:
Describe
Displays popup window that describes the selected object. If the item is
a procedure, it displays the procedure popup window.
Search Knowledge Base
If you’ve installed RevealNet’s Knowledge Base, you can easily access
and search the Knowledge Base through the Right-Click Menu.
Close File/Tab
Closes the current File/Tab
New File/Tab
Adds another tab and places the cursor on line 1 of your new script
Comment Block
Adds dashes before the line
Format Statement
Formats your SQL statements using RevealNet’s PL/Formatter product
if installed, or just a basic format if PL/Formatter is not installed
Find Closing Block
Finds closing parenthesis, "END" for matching "BEGIN" or "END IF"
for matching "IF”
Show Navigator List
Shows/hides the navigator panel
174
TOAD supports Source Code Control. Source Code Control (SCC) is a Microsoft
API which defines a standard interface between development environments and
source control products. The API provides functions to perform the common source
control operations such as check-out, check-in, and add file.
The Source Control products supported in the SCC API include the following:
§ Microsoft Visual SourceSafe
§ Starbase Versions
§ MKS Source Integrity
§ Perforce P4 Version Control System
§ IBM VisualAge TeamConnection
§ CS-RSC from Component Software
§ PVCS (must have PVCS VM development interface installed)
Each SCC compliant product will create an entry in the registry identifying it as an
SCC provider and identifying the location of the DLL which is used to invoke the
SCC functions.
Note: The client portion of the Source Control install must be run. You cannot run
only the server piece of the Source Control install.
Working Folder
You must have a working folder set in order to use the TOAD Source Control
interface. For example if you are using Microsoft Visual SourceSafe, to set your
working folder you would open Microsoft Visual SourceSafe, right-click on a folder,
and select the Set Working Folder option.
Source Control is run through the Procedure Editor. The toolbar on the Procedure
Editor contains the check-in and check-out buttons.
All the other functions are on the Right-Click Menu.. The Right-Click Menu
contains a Source Control menu item that has the following submenu items:
Check-out File
When a file is checked-out, the file is reloaded from disk (it could be different than
the file that was loaded), and it is made writeable.
Check-in File
When a file is checked-in, it is set to read-only again.
176
Undo-checkout
This command throws away any changes and reverts to the read-only, original
version. This is useful, for example, if you do not want any changes stored to the
database.
Add Project
This adds the current file to source control and reloads it read-only.
Select project
This produces a dialog (provider-specific) to let you select a source control project to
work with. The selected project is retained in the .ini file between TOAD sessions.
A file that is not checked out should have a read-only status. Read-only files cannot
be edited. All the SCC functions act upon the currently loaded file.
Source Control functionality does not work with database objects; it only works with
files.
Chapter 7 Procedure Editor 177
This section demonstrates how to create a few simple functions using the Procedure
Editor (converting temperatures from Fahrenheit to Celsius and from Celsius to
Fahrenheit). It also shows how to use edit/replace with the functions, how to test the
functions using the set parameters and execute buttons, how to grant public
privileges, and, finally, how to create public synonyms.
Stored procedures are useful for processes that will be repeated over and over again.
In this example, the procedures are the temperature conversion functions.
178
F_TO_CELSIUS
First, you need to create a new stored procedure function that will convert Fahrenheit
to Celsius.
9 Scroll past the comment section and after the BEGIN statement edit the next line
(it contains a tmpvar holder) to match the following formula.
OUT_CELSIUS := (5/9) * (IN_FAHRENHEIT – 32);
The final script should look similar to this. Here, all extra comments and spaces have
been deleted.
Compile button
You can compile the script for a quick syntax check. If you get errors, they’ll display
in the error panel, and you can correct and recompile.
C_TO_FAHRENHEIT
Now you can go to Edit > Select All and then Edit > Copy, copy the code you’ve
just created, and paste it into a new tab in the Procedure Editor. (See the Right-Click
Menu, option New File/Tab.) Then use the Edit/Replace function to change the
copy of the Fahrenheit to Celsius script to a Celsius to Fahrenheit script.
To Use Edit/Replace
1 Place the cursor on the text you want to replace, in this case F_TO_CELSIUS.
2 Type <CTRL>R or choose the Edit > Replace menu item.
3 The Find and Replace dialog displays with the selected item already in the Text
to Find entry.
4 Type in what you want to replace the text with, in this case
C_TO_FAHRENHEIT.
5 Click the Replace All button to replace all occurrences of the text.
6 Press ESC to close the dialog window.
7 Select your next replacement item, which in this case would be
IN_FAHRENHEIT.
8 Press <CTRL>R to open the Find and Replace dialog.
9 The selection is already entered. Type in IN_CELSIUS for the replacement.
Chapter 7 Procedure Editor 181
Now, using the just created Celsius to Fahrenheit script, you can test the function.
You can also test the functions in a SQL Edit window, but the Procedure Editor
provides a shortcut to typing in your own anonymous PL/SQL block.
184
You can also grant public privileges for your procedures; so anyone on your database
can use your stored procedure function. This involves the Schema Browser, which is
discussed in detail in the Schema Browser chapter.
Privileges button
7 The Privileges window displays. The list is organized by user schemas, then
PUBLIC, then individual roles.
You can now close the Privileges window and repeat these steps for the
F_TO_CELSIUS function.
While you are still in the Schema Browser window, you can click the Grants tab and
see the privileges that have been granted from your procedure to other users or roles.
186
6 Double-click on an item or click the right arrow to move it to the right panel.
Or
Multi-select several items and drag and drop them to the right panel.
7 A checkbox lets you choose whether or not you want to make this a public
synonym. (In this example, we want a public synonym.) You could also rename
the synonym by selecting it in the list (click, pause, click) and typing in a new
name.
8 Click OK to execute the synonym script.
9 A message window will confirm the synonym has been created.
Chapter 7 Procedure Editor 187
Now that you’ve granted public privileges and even included public synonyms,
anyone in a different schema can easily access your C_TO_FAHRENHEIT and
F_TO_CELSIUS stored procedure functions.
While in the SQL Editor, after typing the procedure name you can press F4 to
display a function popup describe window that shows details including the type of
argument it is, the code for the argument, and the grants. You could select and copy
the code into your own script.
Using SourceSafe
It’s always a good idea to save your code into SourceSafe. See the Source Code
Management section of this chapter, page 174, for more information about
SourceSafe.
PL/SQL DEBUGGER
The PL/SQL Debugger is an optional feature for TOAD. The PL/SQL Debugger,
which is run in the Procedure Editor window, lets you step through the code as it
executes, line-by-line, statement-by-statement. The Debug menu is only enabled in a
Procedure Edit window. You can run a debug session with or without argument
values. With the click of the toolbar button, debugging begins and stops on
breakpoints, as appropriate, or it runs to the end.
If you have the Debugger installed, the Debug toolbar (8 buttons) displays to the
right of the Stored Procedure Edit/Compile toolbar in the Procedure Edit window.
You can also access the Debug menu using the keyboard by pressing <ALT>U.
Unless you specify parameter values in the Execute Procedure dialog, they will
default to NULL values. So, for functions that depend on the argument values, you
can still check the branching, logic, etc. You can also set argument values in the
Execute Procedure dialog, and it will use those values.
You can add, edit, and delete breakpoints. You can also set conditional breakpoints
and apply pass counts.
After the procedure has executed, you can view the DBMS_OUTPUT from the
server.
190
Dependencies
You can use the Debugger to check for dependencies.
If procedure A calls procedure B, and you are editing and debugging procedure B,
and you click F9 to compile procedure B, procedure A is marked invalid (The Oracle
dictionary gives procedure A an invalid status. This is not visually indicated, but
when you try to execute procedure A, it won’t execute; it’ll be rejected).
So, TOAD’s solution to this is the Check dependencies following a compile option
button. This refers to checking for upper dependencies.
What is an upper dependency? If procedure A calls procedure B, and you are editing
procedure B, procedure A is the upper dependency.
If the Options > Procedure Editor > Search for dependent objects following a
compile is checked, TOAD runs an additional query to see if any procedures call the
current procedure. Notice the symbol on this button is a combination of the right
arrow which is used in TOAD as a compile symbol, and a symbol that represents a
hierarchy of procedures.
Compile Dependencies
When you click the Compile Dependencies button, TOAD will recompile all
procedures that call your procedure. The button then becomes disabled. If you make
any additional edits and compile the procedure, the button is enabled again.
If you want to visually view dependencies and their status, you can go to the Schema
Browser and click the Procedure tab, then the Deps(uses) and Deps (used by) tabs.
This visually shows anything that has an invalid status with a red X next to the object
in the object list. The Schema Browser is discussed in detail in the Schema Browser
chapter, page 237.
Chapter 8 PL/SQL Debugger 191
Requirements
declare
probe_major_ver varchar2(10);
probe_minor_ver varchar2(10);
begin
dbms_debug.probe_version(probe_major_ver, probe_minor_ver);
dbms_output.put_line('MAJOR='||probe_major_ver);
dbms_output.put_line('MINOR='||probe_minor_ver);
end;
MAJOR=2
MINOR=2
Here are some notes about using the PL/SQL Debugger on different Oracle database
versions.
ADDITIONAL NOTES:
§ You cannot use the Eval/Modify window to change argument values.
§ Custom data types (like Oracle 8 objects and records) are supported by the
debugger, but the Execute Procedure dialog might not be able to generate a valid
block when these types are used. You can manually edit the block to correctly
declare and initialize these types for their use in the debug session. The only
datatypes fully supported as arguments are scalar datatypes (such as number,
character, date).
Chapter 8 PL/SQL Debugger 193
To run the PL/SQL Debugger, you must have a Quest Software license key with
the PL/SQL Debugger option activated in the key. You can verify that the
Debugger option is activated by checking the TOAD Help > About menu and
seeing what options are listed.
If you have just purchased the Debugger, you need to install your new license
key, also known as the registration key. The PL/SQL Debugger option is
activated in the license key.
4 Click in the Enter Authorization Key textbox and enter the registration key.
5 Click OK.
Open a new Procedure Edit window. The items on the Debug menu should now be
enabled.
Chapter 8 PL/SQL Debugger 195
The Debug toolbar is contained on the right half of the Procedure Edit toolbar.
Set Parameters
Step Over
Trace Into
Trace Out
Halt
Add Watch
If the Enable compiling multiple objects from a single file option is checked, the
debug buttons (Execute, Set Parameters, Step Over, Trace Into, Trace Out, Halt, and
Add Watch) are disabled on the right side of the toolbar.
You must have the Enable compiling multiple objects from a single file option
unchecked on the View > Options > Procedure Editor page in order to use the
Debugger. (If the option is turned on (checked), and you attempt to debug multiple
objects, TOAD automatically unchecks the option and begins to debug as if there
were a single object in the file. A warning message box also displays.) You cannot
debug a file containing multiple PL/SQL objects. There has to be one-to-one
correspondence from the lines of source in the editor to the lines of source in the
database.
The Debug menu is enabled if you have the Debugger installed, and you are in the
Procedure Edit window. The Debug menu is disabled for all other TOAD windows.
You can also access a smaller Debug menu in the Procedure Edit window.
Right-click over the editor, select Debug from the menu, and several Debug
functions will appear on the submenu.
Debug Functions
Function Description
Execute Current Source Starts debugging and runs to the next breakpoint or end of procedure with the
current argument settings.
Set Parameters Displays a dialog to set the IN or IN/OUT argument values, and, in the case of
a Package, lets you select which package procedure or package function to
debug. It also lets you set up triggers.
Run (Continue Once you are stepping through the code, this function runs to the end of the
Execution) procedure or to the next breakpoint, whichever it encounters first.
Run to Cursor Once debugging has begun, it runs to the cursor location as if it were a
breakpoint, and stops.
Step Over Executes one line of code at a time, bypassing a procedure or function call.
Trace Into Executes one line of code at a time, stepping into other procedures as they are
called.
NOTE: The DBMS_OUTPUT content is not released from the database (and
therefore not displayed) until all procedures have finished, or you force it to
stop via the Halt button or Halt Execution menu item.
200
Compile button
4 Press F7 (Trace Into) to start stepping through the code. TOAD generates the
symbol table required to obtain debug information for this procedure.
If you want to step into other procedures and view debug information, you’ll need to
click the Compile Dependencies with Debug toolbar button before beginning the
debug process.
202
Halt
When you finish debugging your PL/SQL code, compile it once again by pressing
F9 to discard the symbol table.
Chapter 8 PL/SQL Debugger 203
The Debugger has a handy tooltip feature. When you are running the debugger, if
you move the pointer over a variable, a tooltip pops up that tells you what the value
of that variable is at that point in the code.
View > Options > Debugging tab displays the Debugging options page.
Chapter 8 PL/SQL Debugger 205
Colors
To set the colors of a breakpoint, current execution point, or any disabled breakpoint
1 Select the item type (breakpoint, current execution point, or disabled breakpoint)
from the list at the left.
2 Move the mouse pointer over the color selectors.
3 Click the left mouse button to select a foreground color (e.g., the code text
color). The letters FG appear on the palette on your selected foreground color.
4 Click the right mouse button to select a background color. The letters BG appear
on the palette on your selected background color.
Break on exceptions
Default – Checked
A check in this checkbox causes the Debugger to stop when it hits a procedure
exception (such as zero divide) and display a message. You can then continue
debugging the exception handler code or stop.
Break on exceptions will cause TOAD to display a message like this whenever it hits an exception.
Chapter 8 PL/SQL Debugger 207
All the Option settings are saved in TOAD.INI and restored the next time TOAD is
invoked.
Chapter 8 PL/SQL Debugger 209
Any of these 4 windows can be docked together into one window (or combinations
of multiple docked windows) by dragging the window title bar of one window and
dropping it on another window. This creates a tabbed interface to the separate panels.
To see how this works, select Debug > Breakpoints from the main toolbar. Notice
that the Breakpoints window displays over other tabs (the DBMS_OUTPUT tab and
the Watches tab). If the Call Stack information is available, see the Requirements
topic on page 191 to adjust your settings accordingly; then the Call Stack window
will also display.
Click a tab to display its corresponding window. You can also click and drag the tabs
to move the windows. You can display all the windows at once. To return the
windows to their docked as one position, simply drag them by their tabs and place
them on top of each other.
The Breakpoints window is part of a group of windows (Breakpoints, Watches, DBMS_OUTPUT, and Call
Stack) that are docked together into one window. Click and drag the tabs to separate them. They can all be
displayed at the same time.
210
An option in TOAD Options (View > Options > Debugging item) causes all 4
debug windows to open when any one debug window is opened. To activate this
option, check the Automatically show all debugging windows when debugging
item.
Chapter 8 PL/SQL Debugger 211
Breakpoints
A breakpoint is a line in a program that you designate as a place where execution by
the Debugger will stop. When the Debugger reaches a line with a breakpoint, it stops
execution prior to executing any code that was on that line.
When you are in the Breakpoints window, you can right-click to access a menu for
breakpoints. If you right-click while a breakpoint in the list is selected, or you right-
click on a breakpoint in the list, additional items are enabled in the menu that apply
to that specific breakpoint. This method provides a shortcut when performing various
breakpoint functions.
§ From the Breakpoints menu (Debug > Breakpoints), right-click and select
the Add Breakpoint menu item listed in the Right-Click Menu.
2 A stop sign displays in the gutter, and the whole line is highlighted in default
red, or whatever color you selected from the View > Options > Debugging
menu.
Stop signs in the gutter and red highlighted lines indicate the breakpoints.
Chapter 8 PL/SQL Debugger 213
To edit a breakpoint
1 Different ways to perform this step
§ Single-click the breakpoint in the Debug > Breakpoints window and right-
click to display the Right-Click Menu, Select the Edit Breakpoint menu
item.
§ While in the Debug > Breakpoints window, click on a breakpoint from the
list and press <CTRL>E.
4 Click OK.
Conditional Breakpoints
4 Enter the condition for the breakpoint in the Condition textbox, e.g.
“Salary_In>5000”.
The format for Condition is: variable operator value. Supported operators are:
5 Click OK.
When you run the Debugger, it will stop on the breakpoint only if the condition is
met.
You can also set breakpoints that break ONLY after a certain number of passes in a
loop have occurred. These are known as pass count breakpoints.
4 Enter the pass count number in the pass count textbox. This is the number of
passes in a loop that will occur before the Debugger will stop on the breakpoint.
The pass can be a FOR loop, DO WHILE loop, IF/END IF, etc.
5 Click OK.
216
You can specify both a condition and a pass count. Then, the break will occur after
the nth (n = pass count number) time the condition is met.
Once you set a breakpoint, you can temporarily disable it and later enable it again.
5 Click OK.
You can also enable/disable breakpoints through the Right-Click Menu in the
Procedure Editor and through the toolbar buttons.
Watches
A watch lets you designate a variable to be evaluated. A watched variable’s value
can only be displayed during procedure execution.
While in the Watches window, right-click to access the Right-Click Menu list of
watch specific commands.
To add a watch
Add Watch
§ From the Watches window, Press <CTRL>A to bring up the add watches
dialog window.
§ From the Watches window, press <INSERT> to add a watch and <DELETE>
to delete a watch.
NOTE:
Because of limitations in the Oracle Probe API, you cannot watch implicitly defined
variables when they are also declared explicitly in the variables declaration section.
For example, the following code is correct, but you cannot watch the Counter_Var
variable as it loops. A work-around to this would be to explicitly declare a local
variable, e.g., Counter_Var_Watched, and copy the contents as it is changed, then
add the watch to the local variable, Counter_Var_Watched.
Chapter 8 PL/SQL Debugger 219
From this:
CREATE OR REPLACE FUNCTION F_Calc_Bonus (Salary_In IN NUMBER)
RETURN NUMBER IS
Counter_Var NUMBER;
Bonus_Out NUMBER;
BEGIN
/* Set Bonus earned equal to 10 percent of the employee's salary. */
FOR Counter_Var IN 1..5 LOOP
Bonus_Out := Salary_In * 0.10;
END LOOP;
RETURN Bonus_Out;
END F_Calc_Bonus;
/
To this:
Package Variable
If the variable you want to watch is a package variable, check the package variable
checkbox. Also select the owner and package name. Otherwise, a watch variable is
assumed to be within the current scope of the package procedure or package
function.
Repeat Count
In addition to the usual data types that you watch such as date, number and varchar,
you can also watch array values and record types. If you have an array, such as
MyArray(1..10), and set up a watch on MyArray(1), then you can set up a Repeat
Count setting of # to examine MyArray(1), MyArray(2), and MyArray(3), all at the
same time.
Chapter 8 PL/SQL Debugger 221
Digits
The digits box is for the number of significant digits you want displayed.
Format
If you want the watch value displayed in a different format than the default, select
your format options. Non-printable characters (ASCII 0-31) embedded in strings can
cause confusing errors and are difficult to debug because most fonts cannot render
them in a meaningful way.
Enabled
You can temporarily disable a watch by double-clicking the watch and unchecking
the Enabled checkbox.
OR
Select the watch.
Right-Click to display the Right-Click Menu.
Select Disable Watch.
You might want to disable some watches to improve the performance of the
debugger. As each line of code is executed, each watch that was set has to be
evaluated. So, the fewer watches the debugger has to evaluate, the faster it will run.
222
To edit a watch
1 Double-click the watch in the Watches window (Debug > Watches)
OR
Single-click to select the watch. Right-click to display the menu
To delete a watch
1 Display the Watches window (Debug > Watches).
3 Press <Delete>
OR
Press <CTRL>D.
Chapter 8 PL/SQL Debugger 223
Call Stack
The Call Stack window displays the chain of functions and procedures as they are
called, in the order they are called, with the most recent function or procedure listed
on the top. At the end of each procedure name is the current line number in that
procedure. So, if procedure A line 5 called procedure B, the call stack would look
like this: “Procedure B(1)” followed by “Procedure A(5).”
This Call Stack window shows that you are on line 10 in procedure "Example".
You can navigate among multiple procedures via the Call Stack window either by
Double-clicking the procedure name in the Call Stack window
OR
Selecting the procedure.
See the Requirements section of this chapter, page 191, for information about
enabling the Call Stack window feature.
224
DBMS_OUTPUT
You get to this dialog via the View > DBMS_OUTPUT menu item.
Oracle provides a package, called DBMS_OUTPUT, which is specifically designed
with functions for debugging PL/SQL code. It uses a buffer that your PL/SQL code
writes into, and then a separate process queries the buffer out and displays the
contents.
Output only comes out after the procedure has completed execution, not while you
are single stepping through the code. In nested procedure calls, all procedures must
have run to completion before any DBMS_OUTPUT content is displayed.
The Procedure Editor Right-Click Menu lists DBMS_OUTPUT specific commands.
You can edit DBMS_OUTPUT content, make comments, delete specific lines of
output, etc. The standard copy, cut, and paste keys work in the DBMS_OUTPUT
textbox.
and pasted into the SQL script where the tmpvar is now part of the DBMS_OUTPUT
statement.
Chapter 8 PL/SQL Debugger 227
In the earlier example, TmpVar was set to = a+b+c which is 1+2+3; so the
DBMS_OUTPUT window shows the tmpvar value is 6.
Blank Output
You can also select Blank Output to get a DBMS_OUTPUT template, which you
paste into your script and fill in the blank sections yourself.
Remember, if you have the Options > Debugging > Enable DBMS Output option on,
the DBMS_OUTPUT window opens automatically after completion of the procedure.
228
Debug Functions
Execute
EXAMPLE:
FUNCTION F_CALC_BONUS (Salary_In IN Number) RETURN NUMBER IS
Bonus_Out NUMBER;
BEGIN
/* Set Bonus earned equal to 10 percent of the employee’s salary.
*/
Bonus_Out := Salary_In * 0.10;
DBMS_OUTPUT.PUT_LINE ( 'Bonus_Out = ' ||to_char(Bonus_Out));
Return Bonus_Out;
END F_CALC_BONUS;
Chapter 8 PL/SQL Debugger 229
In this case, Salary_In would be set to NULL. This would not be very useful for
functions that depend on argument values, but it is useful for checking branching,
logic, etc.
If you set any argument values in the Execute Procedure dialog, those values and
settings will be used.
When debugging a package, you must select which package procedure or package
function to start debugging. You select this in the Execute Procedure dialog. Once
you have selected the package procedure or function to execute, the Execute toolbar
button is enabled.
If you debug a trigger, you have to go through the Execute Procedure dialog in order
to set up the anonymous PL/SQL block that will invoke the trigger.
Execute Procedure
There are different uses for the Execute Procedure dialog, depending on the type of
PL/SQL object you wish to debug: Procedures, Functions, Package Procedures,
Package Functions, or Triggers.
1 For each IN or IN/OUT argument, enter the desired values in the “Value”
column.
2 When you finish entering argument values, click OK.
TOAD debugs the given PL/SQL procedure via an anonymous PL/SQL block. As
you enter values, the anonymous PL/SQL block code updates.
You can also directly edit the anonymous PL/SQL code block. If you want to
resynchronize the anonymous PL/SQL block with the values entered in the grid,
click the Rebuild Code button. The Rebuild Code button becomes enabled when
you make manual changes in the anonymous PL/SQL block.
Execute Package
When debugging packages, a list displays for you to select which package procedure
or package function to execute. In the Procedure list, single-click to select a package
procedure to debug; then enter your argument values in the “Value” column, if
desired.
Debugging Triggers
When a trigger is executed, a preprogrammed operation occurs on a table. You’ll
notice that debugging triggers is different from debugging procedures or functions.
The values entered are for the column values, not the argument values.
You must go through the Execute Trigger dialog to set up the proper anonymous
PL/SQL block to invoke the trigger, at which point the Execute button on the Debug
toolbar becomes enabled.
Where clause values must be entered before you can debug a DELETE trigger.
Chapter 8 PL/SQL Debugger 235
Evaluate Modify
The Evaluate/Modify window lets you view the value of a variable on the fly,
without having to set a watch. It also lets you change the value of a variable and
continue executing. This is useful for advancing a loop variable to the end of a “FOR
COUNTER_VAR IN 1..500 LOOP” loop statement. In this case, evaluate
Counter_Var and set its new value to 499. So, you don’t have to debug through the
loop the extra 498 times.
The Evaluate/Modify window is not dockable with the rest of the debug windows.
236
Once you have finished debugging your PL/SQL code, compile your procedure and
any called procedures one last time with the debugger toggled off. This recompiles it
without the debug symbol tables. This will make your code smaller; so it will run
faster.
Schema Browser
The Schema Browser separates database objects by type. Details for the objects are
separated by tabs. For example, all tables appear in the left panel when the Tables
type is selected, all views appear in the left panel when the Views type is selected,
etc. When you select an object, details or the DDL structures for that object are
displayed in the right panel. This eliminates having to drill down through
hierarchical mountains to find the desired data. It also lets you compare details
between objects of the same type with one click. Keyboard users can easily use the
scroll keys to perform the same tasks.
For performance, TOAD delays fetching some schema lists until the dropdown or tab
that requires that list is activated.
You can cancel long running lists populating queries in the Schema Browser. The
Statement Processing popup will display, which lets you cancel.
Right-Click Menus
Object Lists
The Right-Click Menu on any of the tabs in the objects panel (the left-hand side of
the window) displays a menu to show/hide the object tabs. You can check or
uncheck menu items to show or hide the tabs. However, you cannot hide the Tables
tab. So, if you only want Views and Synonyms, deselect the rest for a cleaner
interface. When you exit, TOAD saves your options. The next time you run TOAD,
the window will hide the tabs that you unchecked in your previous session.
Many of the Schema Browser pages contain Right-Click Menus. For example, the
data grids on the Tables > Data tab and the Views > Data tab have a Right-Click
Menu.
The Data Grids Right-Click Menu is similar to the Right-Click Menu that is in the
SQL Editor Results Grid. For detailed information on each of these items, refer to
the SQL Editor chapter - the Results Grid section, page 103.
The Schema Browser data grids menu also contains Post Changes/Edit. It does not
contain Export to Flat File, Find Data, Font, or Size Columns to Data.
Chapter 9 Schema Browser 239
All the tabs that show in the details panel are details for the selected object. The Java
tab is only for the Oracle 8i database.
The vertical splitter between the objects panel and the details panel can be moved
left or right via click and drag.
The Schema Browser object types can be displayed in a tabbed interface or an
alphabetized dropdown. The default is a tabbed interface. You can always show or
hide tabs through the Right-Click Menu.
If you prefer a dropdown interface for the object types, go to the View > Options >
Schema Browser item and uncheck the item Tabbed Schema Browser. This will
cause TOAD to display a dropdown list for the object types the next time you open
the Schema Browser.
When viewing Packages and Procedures, you may see "wrapped" rather than the
code of the object. This means that the procedure was compiled using the Oracle
wrap utility and is not stored in readable format.
When you first open the Schema Browser, the Tables Tab is selected by default, and
a list of all the tables in the selected schema displays.
The dropdown box above the Object Tabs lets you select the desired schema.
If you want to narrow the list of schemas in the schema dropdown list you have two
choices, Only show users that own objects in dropdown lists and Oracle User
List. For details about “Show only schemas that own objects” see the Schema
Browser options. To set up a specific list of Oracle users (schemas) that you want to
see, select menu item View > Oracle Users List. This opens the Configure User
Lists dialog where you can multi-select any combination of users you want to see.
This list is saved and restored in a file named schema_databasealias.lst, e.g.,
SCOTT_ORA8I.LST, in the TOAD\TEMPS folder. From that point forward, any
dialog in TOAD that presents a schema dropdown list will be restricted to the
schemas you select, e.g., the “Table Name Select” dialog or the “Column Name
Select” dialog.
If an Object Tab doesn’t contain any objects, the Object Tab window will be empty
for that tab.
The Change Active Session button has a dropdown button next to it. Its dropdown
list displays all active sessions. You can click on a session from the list to change the
active session. If you want to create another session, click the change active session
button. It will bring up the “Select Session” dialog where you can then click the
NEW button to create the new session.
The status panel shows what session you’re in. The CNT on the status panel shows
how many objects are in the object list for the object tab you’ve selected.
Chapter 9 Schema Browser 241
Refresh All
The Refresh All button refreshes everything in the Schema Browser. So, if you
create a table and you don’t see it in your table list, click Refresh All which will
requery, and the table name should display in the list, subject to any active table
filters.
Refresh Detail
The Refresh Detail button refreshes, or requeries, only the details panel. So, if you
dropped a column, you can click on the Refresh Detail button to see the refreshed
list.
Filters
The following objects have object name and other filtering capability: Tables, Procs,
Triggers, Views, Synonyms, and Constraints. Click the filter toolbar button and enter
the filter criteria, e.g., starts with A, etc.
Filter
§ When the filter is red, it’s ON.
§ When the filter funnel is gray, it’s OFF.
§ When there are no filters, the filter is gray, and it’s OFF.
On the Schema Browser page Tables > Data tab and Views > Data tab, a
four-way filter button displays a dialog where you can sort and/or filter. The filter
can display four states: empty, filtered, ascending/descending filtered,
ascending/descending empty.
Chapter 9 Schema Browser 243
You get to the Schema Browser Options menu through the View > Options >
Schema Browser item.
244
Show Table Stats for Table Details (on the Stats/Size tab)
Default – Checked
If checked, TOAD will show the table stats information. You can also check this ON
or OFF via checkboxes on the Stats/Size tab.
Add view columns to View text when creating scripts or showing view SQL
Default – Checked
If checked, a list of columns displays that will result when the view is queried, after
the "create or replace view" clause, e.g., "create or replace view view_name (col1,
col2, ..., coln) as ..."
Cache cursors used for queries (faster Browser but uses 12 cursors)
Default – Checked
If checked, TOAD will use cursors when retrieving detail information to display in
the details panels to the right of the Schema Browser window. Usually, only the
object name changes from query to query. So the use of cursors, where only the bind
variable values change, is much faster than forcing Oracle to reparse and re-execute
different queries each time.
Objects
Object Scripts
TOAD can create DDL Scripts -- Oracle Statements to recreate the object -- for most
of the objects displayed on the Schema Browser. The Create Script button, which is
used to generate a script, is the first button on the toolbar for each dropdown on the
left panel. The scripts are always copied to the clipboard by default.
Note: Table Create Scripts can be viewed while on the Browser window on the
“Scripts” detail tabs for Tables.
Dropping Objects
Many objects can be dropped directly from the Schema Browser. When an object has
a drop button, the button is enabled whenever an object is selected in the list.
The Drop All buttons are not enabled by default. If you want to enable the Drop All
buttons, you must manually enable them on the View > Options window. This
makes a potentially destructive operation a little more complex. The Drop All setting
is NOT saved and must be reselected each time TOAD is started. Notice the “drop a
single item” scissors icon is cutting a white piece of paper and the Drop All icon has
scissors cutting a red piece of paper. This is a visual alert, to stop you from
accidentally selecting Drop All instead of Drop.
TOAD will confirm any DROP operation on the Browser, but after you
respond <Yes> to the confirmation, NO DROPS CAN BE REVERSED.
Note that the detail grids for Table Information work differently. The grids that
display Table Detail Information support multi-row selection and always copy the
first column to the clipboard. For example, if you are viewing a grid display of a list
of columns for a table, you can <CTRL> Click to select more than one column and
then press <CTRL>C. This will copy your selected columns to the clipboard, with
commas in-between (a comma-delimited list). Then you can paste the list into a SQL
Editor or another application.
Filters
Most of the primary lists of objects on the Browser can be filtered to show a subset
of all the like objects in the schema. For example, you may have hundreds of tables
in a schema but only want to see those where the table name begins with "GEO”.
Browser Filters are specific to a schema/owner name. This means you can define a
filter for the schema DEMO and a different filter for PRODUCTION, and the
appropriate filters will be loaded when you view that schema in the Schema
Browser.
Table Filters allow filtering on table names as well as column names. For example,
you can find all tables that have columns with FND_NO anywhere in the column
name. The table name may also be searched.
Constraints can be searched by constraint name or constraint column name.
Synonyms can be filtered by Synonym scope: owned by schema only, owned by
schema plus Public synonyms, exclude SYS and SYSTEM synonyms, etc.
Note: for performance reasons, TOAD caches the list of tablenames for the current
schema once the list has been queried from any window. The browser filter, although
primarily intended to filter the Schema Browser window, also affects the table lists
throughout TOAD. So, for example, if your filter is set to display only tables that
begin with GEO, every table list will display a filtered list until the filter is changed.
Also note that the filters not only reduce the amount of data displayed, they also
modify the query used to fetch the data. So, not only is the display refreshed faster,
the query fetches less rows for faster response from the database.
If no filters are defined, the Browser displays the following:
§ Tables that do not get filters
§ Constraints show primary keys only
§ Synonyms show all but exclude those for objects owned by SYS & SYSTEM
§ Views display all Views
Chapter 9 Schema Browser 251
The filters for all Browser objects can be viewed in a single window under the
View > Browser Filters menu.
Note: Browser filters are not applied when making changes to the View > Browser
Filters dialog. To apply the filters, you must click the Filter toolbar button on the
desired object tab, e.g., Constraints, to bring up the Browser Filters dialog where you
can select constraint options, click the OK button, and the browser filters are applied.
252
Tables
Objects Panel
Create Script
When the Table Script Creation window displays, the Options Tab is selected by
default.
When you select the Execute button, a script is created for your table that you can
then paste into the SQL Editor or elsewhere.
For creating multiple table scripts, see the Database > Export > Table Scripts
menu item.
254
Include Comments
If checked, TOAD will include table and column comments.
COMMENT ON TABLE ACCT_BALANCE IS 'This is a test.';
COMMENT ON COLUMN ACCT_BALANCE.COMPCODE IS 'Only compcodes AA-ZZ are
valid.';
Include Synonyms
If checked, TOAD will include a PUBLIC synonym to the table.
CREATE PUBLIC SYNONYM ACCT_BALANCE FOR ACCT_BALANCE;
Include Triggers
If checked, TOAD will include the trigger code for the table at the end of the script.
CREATE OR REPLACE TRIGGER SCHAPMAN.TABLE_TO_VALIDATE_IU
BEFORE INSERT OR UPDATE ON table_to_validate
FOR EACH ROW
BEGIN
/* Call the proc to validate the incoming value. */
check_validated_value(:new.value_to_validate);
END TABLE_TO_VALIDATE_IU;
Chapter 9 Schema Browser 257
No trailing semicolons
If selected, TOAD will not place semicolons at the end of each statement.
NOTE: This option is mutually exclusive with the Add trailing semicolons radio
button.
Output Tab
To Clipboard
If selected, TOAD will output the table script to the Windows Clipboard.
To File
If selected, TOAD will output the table script to a single file, as selected in the
Filename textbox.
Filename textbox
Enter a drive, path, and filename, or click the drill down (ellipses) button for the
standard file picker dialog.
Click the Execute button to generate the table script, or click the Cancel button to
close the Table Script Creation dialog.
The options selected in the Table Script Creation dialog are saved and restored the
next time you create a table script.
Chapter 9 Schema Browser 259
Create Table
The Create Table button invokes the Create Table window. You can also access this
window from the Create > Table menu item.
This window lets you create a new Oracle table.
Use the dialog to enter the table information, then click the Execute button to create
the Table. This is easier than remembering the Oracle syntax for this command.
Alter Table
The Alter Table button invokes the Tables window. This window lets you drop,
modify, and add columns; change storage parameters and data type; add not null
constraints; and set unused columns. It is the same window as the Create > Table
window, but you are using it to make modifications.
To alter a table, select a table from the objects list and click the Alter Table button.
The Table window will automatically display the Schema and the Name for the table
you selected.
260
Export Data
The Export Data function creates “INSERT INTO” SQL statements for the data in
the selected table. The Export Data button displays the Data Export window for
whatever table is selected from the left panel of the Tables page.
Here, the User Profile object was selected, the Export Data button was clicked,
and this was the resulting Data Export window.
Columns Tab
You can check/uncheck columns you wish to include/exclude. TOAD checks all the
columns by default.
Chapter 9 Schema Browser 261
Options Tab
Where... clause
The Where clause is optional. You do not have to include a Where clause.
If you include a Where clause, you must include the word “Where” in your
statement. Example:
WHERE INVENTORY_NUMBER = 943
Destination
Default – To File
The Destination radio buttons let you choose between To Clipboard or To File.
Filename
The filename area has a drill down button where you can drill down to the desired
file. You must supply a file name.
Table Privileges
The Privileges window is also discussed in the Grants Section of this Tables Tab
Section, page 283.
264
Create Constraint
The Create Constraint button activates the Create Constraint window.
Use this dialog to create additional table constraints.
You can also get to this dialog via the Create > Constraint menu item.
You can create:
§ Primary Key constraints
§ Check constraints
§ Unique constraints
§ Foreign Key constraints
If a Primary Key constraint already exists for the selected table, then the Primary
Key radio button option will be disabled.
Chapter 9 Schema Browser 265
If you want to move records that do not meet the new constraint criteria into
another table, click the Exceptions tab, pick a schema and existing table, or
enter a new table name and click the Create a New Exceptions Table button.
6 You can review the SQL prior to execution by clicking the SQL tab.
7 Click the Execute button to run the SQL and add the Check Constraint.
If you want to dump records that do not meet the new constraint criteria into
another table, click the Exceptions tab, pick a schema and existing table, or
enter a new table name and click the Create a New Exceptions Table button.
9 You can review the SQL prior to execution by clicking the SQL tab.
10 Click the Execute button to run the SQL and add the Foreign Key constraint.
Chapter 9 Schema Browser 267
Analyze Table
Click the Analyze Table button to display the Analyze Tables window.
Use this dialog to analyze the selected table from the tables object list. This collects
statistics so that COST based query optimization can be used. So, the optimizer can
run better queries.
You can either estimate statistics (faster than compute), compute statistics, or delete
current statistics.
To analyze all tables in the current schema or other selected schema, go to the Tools
> Analyze All Tables menu item. This displays the same dialog as above, but with
the Schema dropdown list enabled so that you can select which schema tables to
analyze all at once.
268
Click the Add Public Synonym for this Table button, and a confirmation window
will appear asking if you want to create a public synonym for the table.
Click Yes to create the synonym or No to Cancel.
Chapter 9 Schema Browser 269
Table Filter
The Table Filter button displays the Browser Filters window for the Tables.
The Browser Filters button can be found on the tabs for Tables, Procedures,
Triggers, Views, Synonyms, and Constraints. All the Browser Filter windows have a
similar interface.
Here, all tables in the SCOTT schema will be filtered out, except
those with Tablenames that begin with EMP.
Browser filters are helpful for schemas that contain a lot of objects— the fewer
objects that TOAD needs to load, the faster it will execute. For example, you can
narrow the focus to only tables whose names begin with EMP and temporarily ignore
all other objects in the schema.
270
After you set your filters, select OK and the browser will display the resulting
objects.
To view all the objects again, simply select the filter button, clear the filters by
selecting Clear where you have filters, and select OK.
You can set defaults for Tables, Constraints, Synonyms, Views, Triggers, and
Procedures, such as starts with, contains or ends with a keyword.
If you select multiple filters, e.g., table name and tablespace name, then they are
joined together with an AND statement in the SQL, as opposed to an OR statement
in SQL.
Not Like sets up the tablename query like this: [not like KEYWORD%].
Rebuild Table
This button invokes the Rebuild Table window. The Rebuild Table function is
discussed on page 478.
Chapter 9 Schema Browser 271
Compile Dependencies
If your table is called by a Procedure or View this button will compile those
dependencies.
Drop Table
The Drop Table button lets you drop the selected table directly from the Schema
Browser. A confirmation window will ask you if you are sure you want to drop the
table. Once you select Yes the table is dropped and cannot be retrieved.
Truncate Table
Lets you truncate a table (delete all the data but maintain the table structure) and
either reuse the storage or drop it. The following dialog will display when you select
the button.
Once you click the Execute button you can’t rollback or undo your choice.
272
Details Panel
The Tables details panel has tabs for displaying different details about the selected
table.
Table - Columns
The Columns tab lists all the columns for the selected table. It also displays each
column Data Type, whether or not the column accepts Null values, column
attributes (such as length, precision, scale), Default value, and column comments, if
any. You can change the length, precision, scale display to “NUMBER(10,5)”
through the TOAD Option > Schema Browser > Show Column Length Info with
Column Data Type setting.
The dropdown default is Show no comments. The other choices in the dropdown are
Column Comments and Table Comments, which show the comments in an overlay
panel at the bottom of the details panel. You can type directly into this panel to edit
the various comments. To save the comment edits, just select a different column or
table.
Primary Key columns are indicated by PK column numbers in the PK column. A
label to the right of the Add and Drop column buttons in the details panel displays
the Primary Key column name(s).
You can multi-select columns, press <CTRL>C to create a comma-delimited list of
columns to the windows clipboard, and paste the selection into an editor.
Chapter 9 Schema Browser 273
Add Column
Drop Column
Click the Add Column button to display the Column Definition window. This
dialog lets you add a column to the selected table. You must enter the Column Name,
the Type, and the Size. The Nullable radio button is selected by default.
If you want to see the resulting SQL script of your command, select the SQL tab.
To Add a Column
1 Enter the column name, data type, and other appropriate information.
2 Click the Execute button to add the column.
Character Default Values have to be wrapped within single quotes, in order to make
a valid "ALTER TABLE..." statement.
Additional columns are always appended to the end of the table definition.
The Drop Column button and the Drop Column from Table Right-Click Menu item
are enabled only if you have Oracle 8.1.5 or later.
274
Table - Indexes
The Indexes tab lists the indexes for the selected table. The list includes the Index
Name, whether or not the index is Unique, the Column(s), and the Position. It also
lists the Parameters and Values for each index.
Indexes Details Panel Buttons
Modify index
Rebuild index
Analyze index
Drop index
Table - Constraints
The Constraints tab lists any constraints for the selected table. It lists the Constraint
Name, the Constraint Type, the corresponding Column, and the Status.
For foreign key referential integrity constraints, the panel at the bottom lists the
owner, table, and column names that the foreign key constraint is pointing to.
Drop Constraint
276
Table - Triggers
The Triggers tab lists any triggers for the selected table. It includes the Type, Status,
whether or not it’s Enabled, the Trigger Event, the Table Owner, and the When
Clause.
The editor at the bottom of the details panel lists the source code for the selected
trigger.
Drop Trigger
Table - Data
The Data tab displays the selected table, with data, in grid format. This is similar to
the SQL Results Grid on the SQL Edit window. The data in this grid is directly
editable, because the query to populate the grid includes the ROWID column. The
right mouse menus are slightly different. Grid configurations on this data tab are
saved and restored from the TOAD\TEMPS folder structure.
You can easily rearrange columns by clicking and dragging on the column titles.
Double-click any data item to bring up a memo editor for that item.
The Filter Data toolbar button opens the Table Sort dialog, where you can select
the columns to sort and/or filter.
278
Sort Tab
To Sort, select the column(s) you want to sort and click on the pointing hand. Notice
you can sort in ascending or descending order. You can also move items up and
down the list. If you want to clear the sort column(s) for this table, click the Clear
Sort button. If you want to clear the entire filter for this table, click the Clear Filter
button on the Table Sort dialog.
Filter Tab
You enter the filter criteria in the lower text panel.
The filter tab provides dropdowns with additional filter choices. On the filter tab,
select the Column, Operator, and Value to filter upon. You can further edit the
resulting SQL right in the memo editor widget.
When finished, click OK and the data in the grid will be sorted and/or filtered as
specified.
The sort and filter criteria are saved in temporary files in the TOAD\TEMPS folder
hierarchy.
If a table filter is in effect, the funnel icon on the Data tab will be red.
The Clear Filters toolbar button clears the filter criteria and the sort criteria.
Chapter 9 Schema Browser 279
Delete record
Post edit
Cancel edit
Refresh data
280
Table - Scripts
The scripts tab displays the SQL script for the table you’ve selected.
Table - Grants
The Grants Tab lets you view existing table grants and assign or replace existing
privileges.
Grants Details Buttons
Revoke All
Revoke Privilege
Privileges
Table - Partitions
Drop Partition
This lets you see partitioned columns and partitions for the selected table. The Drop
Partition button lets you drop partitions.
Chapter 9 Schema Browser 285
Table - Stats/Size
The Stats/Size tab displays numerous statistics and size information about the
selected table.
The two display options
Show Stats
Show Size/Extents
are checked by default.
The Stats, such as TABLESPACE NAME and NUM ROWS, are displayed in the
upper window of the details panel, and the Size/Extents information, such as SIZE
IN BYTES and INITIAL EXTENTS, are displayed in the lower window of the
details panel.
The panel window columns are click and drag resizable, and a horizontal splitter is
between them.
286
Table - Referential
The Referential tab displays a hierarchy of tables and how the selected table is
referenced by other tables and references other tables. This display is based on the
existing foreign key constraints from table to table.
Remember, “+” on the keyboard expands one branch of the hierarchy, and
<CTRL><SPACE> expands the whole tree. Pressing the asterisk key, "*", will fully
expand the current node.
On each node of the hierarchy, there is a chain symbol for standard referential and a
scissors symbol if the reference is Cascade on Delete.
Table -Used by
The Used By tab shows the objects that reference the selected table such as views,
triggers, functions, procedures, and packages.
Here, the CUSTOMER table is selected in the objects panel. The Used By tab in the details panel
shows that the CUSTOMER table is used by the Demo.Sales view.
288
Indexes
Objects panel
In the list of indexes, "101" icons are BITMAP indexes, and "Yellow Square + Red
Triangle + Blue Circle" icons indicate UNIQUE indexes (vs. non unique).
Create Script
This copies the Create Index script of the selected index to the clipboard.
Create Index
Modify Index
Rebuild Index
The Rebuild Index window lets you change storage parameters, select a Parallel
option, and select a Recoverable option. You can click the SQL tab to see the
resulting SQL syntax.
290
Analyze Index
This collects statistics on the selected index so that COST based query optimization
can be used. So, the optimizer can run better queries. A confirmation popup window
will appear, select Yes, and the selected index will be analyzed.
Drop Index
Details Panel
The details panel displays information about the selected index. The details Column
tab includes the column, table name, table owner, parameters, and values. The Stats
tab includes the parameters and values. The Partitions tab shows the partitioned
columns and the partitions. The horizontal splitter between the two panels can be
moved up or down. A Drop Partition button lets you drop partitions. The Script
tab shows the Create Unique Index script for the selected index.
292
Procedures
In the list of PL/SQL Procedures, Functions, and Packages, a "Pink X" is for a
Package that contains one or more invalid (Red X) functions or procedures.
Objects Panel
Save to File
This button lets you save the selected procedure to a file on your hard drive.
Proc Edit
The Proc Edit button is enabled after you select a procedure. It opens a Procedure
Edit window for the procedure that you’ve selected in the objects panel.
Compile
Compile All
The Compile All button compiles all procedures, functions, packages, and triggers
for the current schema.
Procs Filter
The Procs Filter button displays a Browser Filter dialog for procedures.
Refer to the Filters discussion, page 250, for more about Filters.
294
Compile Dependencies
The Compile Dependencies button will compile dependencies for the selected
procedure. For example, if procedure A calls your procedure B, select procedure B,
click the Compile Dependencies button, and TOAD will recompile procedure A. A
dialog asks if you want to compile the dependencies on the selected procedure.
Select Yes or No.
Execute Procedure
The Execute Procedure button executes the selected procedure, bringing up the
Execute Procedure/Set Parameters window.
Privileges
Use this window to view or modify the privileges of the selected procedure to other
user schema accounts or roles.
This creates a Public Synonym for the selected procedure, function, or package.
Chapter 9 Schema Browser 295
This drops all the procedures in the list. This will not drop procedures that have been
filtered out of the list.
The button is disabled by default.
Refer to the Dropping Objects section, page 249, for more about Drop All.
Drop Procedure
Details Panel
The details panel includes tabs for Code, Arguments, Deps (Uses), Deps (Used by),
Errors, and Grants.
Code
This displays the code for the selected procedure, function, or package.
Arguments
The Arguments tab displays information about the procedure arguments (if any) in
the upper part of the panel.
Errors
The Errors tab displays the last errors that occurred when you tried to compile the
selected procedure. If you click on an error, its location is highlighted in the script
displayed in the lower part of the details panel.
Grants
The Grants tab lists the Grants and shows the associated Privileges, whether or not
there is a "With Grant Option", and the Grantor. The tab contains two buttons.
Revoke All
Revoke Privilege
Triggers
In the Triggers list, the icons to the left of the items represent the following:
§ Red Circle with a slash
indicates that the trigger is DISABLED
§ Red X
indicates that the trigger is INVALID and needs recompiling
§ White page
indicates that the trigger is VALID and ENABLED
Objects Panel
Save to File
This button lets you save the selected trigger to a file on your hard drive.
This button takes the selected Trigger to the Procedure Editor ready for editing.
Compile all
This button disables all triggers that are in the current schema.
Trigger Filter
This button activates the Browser Filters for the Triggers window.
Drop Trigger
This button drops all triggers in the list. This is a Drop All button and has to be
manually enabled on the Options window.
Refer to the Dropping Objects section, page 249, for more information about Drop
All.
Chapter 9 Schema Browser 301
Details Panel
The details panel displays information about the selected trigger. The Columns tab
displays the column, table, table owner, and usage. The Source tab displays the SQL
script for the selected trigger.
The trigger text is selectable via <CTRL>A and can be copied to the clipboard via
<CTRL>C.
302
Sequences
Sequences are basically counters that Oracle maintains. They have designated
starting and stopping points.
A sequence can either be ascending or descending. Oracle keeps sequences in
memory until it reaches its cache value (the number to cache).
Oracle preallocates the space and keeps the sequence in memory before caching.
This lets TOAD and Oracle run faster.
If you are caching sequences, and the database crashes, you lose from whatever the
sequence started with to wherever the sequence stopped. This might or might not
matter to you depending on why you are using the sequence. For example, if the
sequence is for printed invoices where every number on the invoice is printed on a
sheet, it is important for you to have every number in the sequence, and you don’t
want to cache anything.
An example of a situation where you might want to cache sequences, so that TOAD
can run faster, is if you are using the sequences to generate unique id numbers for
primary keys, and you don’t need all the sequences.
Objects Panel
Create Script
This creates the Create Sequence script and copies it to a clipboard so it can be
pasted into a SQL Editor or another application.
This button opens the Create Sequence window, where you can create a new
sequence.
Alter Sequence
This button opens the Alter Sequence window for the selected sequence.
You can modify the min value, max value, the increment value, whether or not to
cycle, and the number to cache settings.
Sequence Privileges
This button opens the privileges window for the selected sequence.
When enabled, this drops all sequences in the current schema Refer to the Dropping
Objects section, page 249, for more information about Drop All.
Drop Sequence
Details Panel
The Info tab lets you view the start value, the max value, the increment value, and
the number to cache settings. The Grants tab lets you view grants, and the buttons
on the Grants tab let you revoke privileges for the selected sequence or all sequences.
306
Views
Objects Panel
Create Script
Generates the Create View script syntax and places it on the clipboard so it can be
pasted into the SQL Editor or another application.
Create View
This opens the Create View window which lets you create a View.
Edit View
This opens up a window that lets you modify the selected view.
Save to File
Compile
Compile All
View privileges
This button displays the Privileges window for the selected View.
View Filter
This button displays the Filter window for the selected View.
Compile Dependencies
If your table is called by a Procedure or View, this button will compile those
dependencies.
This button, when enabled, drops all Views in the current schema.
Refer to the Dropping Objects section of this chapter, page 249, for more
information about Drop All buttons.
Drop View
Details Panel
The details panel includes tabs for Columns, Source, Data, Grants, Deps (uses) and
Deps (Used by).
Columns
The Columns tab includes an Include Updateable checkbox that lets you either
display or not display which columns of the view are updateable. This requires an
extra query step; so it is an option. The Columns panel populates information about
the selected view: Column, Data Type, Null (Y/N), and Updateable (if the checkbox
is checked).
The view code (Source tab) is selectable via <CTRL>A and can be copied to the
clipboard via <CTRL>C.
Chapter 9 Schema Browser 309
Data
The Data tab displays the data for the selected view, in table format. It includes a
filter button, which pulls up the Table Sort window containing the Sort and Filter
tabs. It has the single record view button, which pulls up the Single Record View
window. It also includes the standard TOAD table navigation buttons for quick
navigation through the rows (or records).
The Filter button pulls up the Table Sort window. For more information on the Table Sort
dialog, see page 277.
310
Grants
The Grants tab displays Grant information for the selected view: granted to, type of
privilege, whether or not there is a with grant option, and the grantor.
It includes buttons for revoking all privileges or for revoking just the selected
privilege. It also includes a Table Privileges button.
Synonyms
You can create synonyms for any object. Synonyms are useful for things like
security and ease of maintenance. Remember, synonyms basically point to the
original object.
Objects Panel
Create Script
This puts a Create Synonym command for your script onto the clipboard so you can
paste it into the SQL Editor or another application.
Create Synonym
The opens the Create Synonym window which lets you create a synonym.
312
Filters
Drop Synonym
Details Panel
The details panel displays details of the object the synonym is pointing to. When you
click on a synonym from the object list, the details of the object the synonym is
pointing to displays in the details panel. So, you can see details about synonyms
pointing to tables, views, and stored procedures. Unknown Objects are listed as
UNKNOWN.
The details panel will also display tabs and details associated with the object. For
example, if the object is a View, the details panel will contain the same tabs the
Object View Tab displays in the details panel (Columns, Source, Data, Grants, Deps)
and the same associated details, options, and dialogs.
314
Constraints
The Constraints tab displays the constraints in the objects panel and details about the
constraints, including the type of constraint and the columns involved, in the details
panel.
Objects Panel
Constraints filter
Drop Constraint
When you disable constraints (either disable current or all), if any of the constraints
you have selected to disable have dependencies, an Oracle error message will display
stating that you cannot disable constraints that have dependencies. If the constraint
was disabled, a red X will also appear next to your constraint in the objects list. If
you then enable the constraint, the red X will disappear.
Chapter 9 Schema Browser 317
Details Panel
The details panel provides information about the selected constraint, including its
type, status, table and owner.
318
Db Links
The Db Links lists all possible links from the database you are using. Links can be
public (used by all schemas) or private (used only by the schema that created it).
Db Links are used in queries at the end of each table or view name.
Objects Panel
This copies a Create Public DB link script to the clipboard, which you can then
paste.
This displays the Create Database Link window where you can fill in the
information to create a database link. The dropdown menu lets you select from the
list of databases to connect to. After the information boxes are filled in, select the
Execute button to create the database link.
Chapter 9 Schema Browser 319
Drop Db link
Details Panel
The details panel lists the owner, host, user name, and the date and time the link was
created for the selected DB link from the object list.
Chapter 9 Schema Browser 321
Jobs
You can create, alter, execute, and drop jobs. You can also place jobs online or
offline and view job details.
Objects Panel
This displays the job definition window, which includes a job number box, entry
boxes for next date of execution and interval, and a box for what to execute.
Alter Jobs
This displays a job definition window for the selected job, which you can then alter.
Place Online
This button is only enabled when the selected job is Offline. This places the selected
job Online, available for transactions.
Place Offline
This button is only enabled when the selected job is Online. This places the selected
job Offline, unavailable for transactions.
Drop Job
Details Panel
The details panel shows various parameters for the selected job, such as LOG USER,
NEXT DATE, and INTERVALS.
Chapter 9 Schema Browser 323
Users
You can create, modify, and drop users. You can also create and copy the SQL script
to the clipboard. You can view details for roles and privileges.
Create Script
Modify User
This invokes the Modify User window for the selected user.
This invokes the New User Info window, where you choose the user name for the
copy and the password.
Drop User
Details Panel
The details panel contains tabs for Info, Roles, and Privileges.
A checkbox lets you Exclude privileges granted by Role.
The Roles and Privileges tabs contain Revoke and Revoke all buttons, which revokes
the selected Role or Privilege (Revoke) or revokes all the Roles or Privileges
(Revoke all).
324
JAVA
TOAD includes a JAVA tab for Oracle 8i databases. The JAVA tab does not have a
details panel. The four buttons it contains are Compile, Compile All, Drop All
Objects, and Drop Object.
Chapter 9 Schema Browser 325
This section will take you step-by-step through various tasks that you might want to
perform with the Schema Browser.
To filter out schemas that do not contain objects from the schema
dropdown list
If you have a database where only a few schemas contain objects, e.g. tables, views,
etc., and all other schemas are used as end-user logins, go to the View > Options >
Schema Browser node, and check Only show users that own objects in dropdown
lists.
In this example, the OPS$ accounts (and other schemas that do not own any objects)
are filtered out in the list on the right.
328
To filter out objects that you do not want to see from the object lists
Use the filter buttons on the various object tabs to include or exclude certain objects.
The filters make object lists more manageable.
Filters are discussed in detail in the Tables section of this chapter, page 269.
Refer to the Right-Click Menus section of this chapter, page 238, for more
information about the Right-Click Menu.
Create/Alter Table
This chapter discusses the Create Table and Alter Table functions.
Create Table
NOTE: TOAD does not support the following functionality at this time: foreign key
references, composite partitions, subpartitions, LOB storage, Varrays.
You get to this dialog via the Create > Table menu item or from the Schema
Browser window > Tables page > Create Table button.
This window lets you create a new Oracle table.
Use this dialog to enter the table information; then click the Execute button to create
the Table. This is easier than remembering the Oracle syntax for this command.
The Schema box has a dropdown. Enter the name of the table in the Name textbox.
The Table window is divided into three tabs: Columns, Organization, and Partitions.
The Show SQL button displays a SQL Statement window that contains the
associated SQL statement.
330
Columns Tab
State
The first column is the state column. This displays the state of the table column by
using bitmaps: + (plus) for an add column, - (minus) for a drop column, triangle for a
changed column, cobweb for a set unused column.
Name
This displays the name of the table column. For new tables, this is where you type in
the name of your table.
Chapter 10 Create/Alter Table 331
Data Type
This is the data type for the table column. The data type dropdown lists the native
Oracle data types first, followed by the ANSI data types, and then (if using Oracle 8)
the user-defined object types. A dashed line separates the different groups of data
types. For new tables you would select a data type from the dropdown. Also see the
Data Types Options section of this chapter, page 345.
Size
This displays the size of the data type when applicable. This is sometimes
automatically generated based on the data type you select from the dropdown. If you
want to change the size, click in the box and either type a value or use the Up/Down
arrows to scroll through the numbers.
Precision
This displays the precision of the data type when applicable.
Scale
This displays the scale of the data type when applicable.
Nullable
Click in the box to check/uncheck. If checked, the column can accept a null value.
Primary Key
Click in the box to check/uncheck. If checked, the column is a primary key.
Unique
Click in the box to check/uncheck. If checked, a unique constraint exists for the
column.
332
Ref
Click in the box to check/uncheck. If checked, the data type is a ref object. This is
for object data types only.
Default
This is the default column value for new rows. Click in the box to enter a default
column value.
Constraint
This is the column constraint expression. Click in the box to enter a constraint
expression.
Comment
This is the column comment. Click in the box to enter a comment.
Editing buttons
Add button
This adds a new blank row into the columns grid.
Drop button
This deletes the selected column. (In the Alter function, this marks a column for a
drop.) This function is only enabled if you have Oracle 8.1.5, or later, because that is
when this function was introduced.
Unused button
This sets the selected column to unused. This is for the Alter function only and is
disabled in the Create Table function. This function is only enabled if you have
Oracle 8.1.5, or later, because that is when this function was introduced.
Hot Keys
<Ins> Add
<Ctrl><Del> Drop
<Home> Go to first column in grid
<End> Go to last column in grid
<Ctrl><Home> Go to first row in grid
<Ctrl><End> Go to last row in grid
Organization Tab
Table Type
The Table Type frame contains radio buttons that, when selected, enable or disable
the associated parameter options.
Segment Attributes
These options are enabled when you select either the Standard Table radio button or
the Index-Organized table radio button.
334
Storage
Dropdowns let you specify the storage characteristics for the table.
Tablespace textbox/dropdown
This specifies the tablespace in which Oracle will create the table.
Logging checkbox
If checked, the creation of the table will be recorded in the redo logs.
Chapter 10 Create/Alter Table 335
Index-Organized Parameters
These options are enabled if you select the Index-Organized Table radio button.
Columns box
This is the number of prefix primary key columns to compress.
Overflow checkbox
If checked, data rows that exceed the threshold pct will be placed in an overflow data
segment.
Cluster Parameters
These options are enabled if you select the Clustered Table radio button.
Cluster textbox/dropdown
Enter or select the name of the cluster to which the table will belong.
Partitions Tab
You select columns from the Available Columns list to determine which columns
the partition will be based upon. Double-click on the column name (or click on the
column and click the single right arrow) to move the selected columns into the
Partitions Columns list.
Add a Partition
Once you select columns for the partitions to be based upon, you can add a partition.
For range partitions, you do this by clicking the Add button. The Add Partition
dialog displays, and you can provide a partition name. You must enter the upper
range for each column within the partition or select Maxvalue from the dropdown
list on that dialog. (NOTE: String value upperbounds must be enclosed in single
quotes within the grid, e.g. for a Last Name column with a datatype of varchar2, an
upper bound could be 'Smith'. The single quotes must be entered into the grid.)
To add a hash partition, select the tablespaces to use for the hash partition by
checking the appropriate checkboxes next to the tablespaces.
Chapter 10 Create/Alter Table 337
Alter Table
NOTE: TOAD does not support the following functionality at this time: alter range
or hash partitions.
The Alter Table function uses the Table window. You get to this window from the
Schema Browser > Tables page > Alter Table button.
This window lets you drop, modify, and add columns; change storage parameters;
change data type; add not null constraints; and set unused columns. It is the same
window as the Create > Table window, but you are using it to make modifications to
an existing table.
To alter a table, select a table from the objects list, and click the Alter Table button.
The Table window will automatically display the Schema and the Name for the
table you selected.
Columns Tab
State
The first column is the state column. This displays the state of the table column by
using bitmaps: + (plus) for an add column, - (minus) for a drop column, triangle for a
changed column, cobweb for a set unused column.
Name
This function is disabled because you cannot change the tablename. This displays the
name of the table column. For new tables, this is where you type in the name of your
column.
338
Data Type
This is the data type for the table column. The data type dropdown lists the native
Oracle data types first, followed by the ANSI data types, and then (if using Oracle 8)
the user-defined object types. A dashed line separates the different groups of data
types. For new tables, you would select a data type from the dropdown.
In the Alter window, you can change the data types. If there is no data in the table,
you can change the datatype to any datatype as long as there are no rows in the table.
Also see the Data Types Options section of this chapter, page 345.
Size
This displays the size of the data type when applicable. This is sometimes
automatically generated based on the data type you select from the dropdown. If you
want to change the size, click in the box and either type a value or use the Up/Down
arrows to scroll through the numbers.
Precision
This displays the precision of the data type when applicable.
Scale
This displays the scale of the data type when applicable.
Nullable
Click in the box to check/uncheck. If checked, the column can accept a null value.
Primary Key
You cannot check/uncheck the Primary Key checkbox in the Alter window. The
Primary Key designations cannot be altered. (If checked, the column is a Primary
Key.)
Chapter 10 Create/Alter Table 339
Unique
You cannot check/uncheck the Unique checkbox on an existing column in the Alter
window. The Unique designations cannot be altered. (If checked, a unique constraint
exists for the column.)
Ref
Click in the box to check/uncheck. If checked, the data type is a ref object. This is
for object data types only.
Default
This is the default column value for new rows. Click in the box to enter a default
column value.
Constraint
This is the column constraint expression. Click in the box to enter a constraint
expression.
Comment
This is the column comment. Click in the box to enter a comment.
Editing buttons
Add button
This adds a new blank row into the columns grid.
Drop button
This marks a column for a drop. This function is only enabled if you have Oracle
8.1.5, or later, because that is when this function was introduced.
340
Unused button
This sets the selected column to unused. This is for the Alter function only and is
disabled in the Create Table function. This function is only enabled if you have
Oracle 8.1.5 or later, because that is when this function was introduced.
Hot Keys
<Ins> Add
<Ctrl><Del> Drop
<Home> Go to first column in grid
<End> Go to last column in grid
<Ctrl><Home> Go to first row in grid
<Ctrl><End> Go to last row in grid
Chapter 10 Create/Alter Table 341
Organization Tab
Table Type
The Table Type frame contains radio buttons that are disabled, because you can't
alter the table type.
Segment Attributes
These options are enabled when you have either a Standard Table or an Index-
Organized table.
Storage
Dropdowns let you change the storage characteristics for the table.
Tablespace textbox/dropdown
The tablespace cannot be altered. The tablespace textbox specifies the tablespace in
which Oracle will create the table.
Logging checkbox
If checked, it indicates the creation of the table will be recorded in the redo logs.
Chapter 10 Create/Alter Table 343
Index-Organized Parameters
These options are enabled if you have an Index-Organized Table.
Columns box
This is the number of prefix primary key columns to compress.
Overflow checkbox
If checked, data rows that exceed the threshold pct will be placed in an overflow data
segment.
Cluster Parameters
These options are enabled if you have a Clustered Table.
Cluster textbox/dropdown
Enter or select the name of the cluster to which the table will belong.
Partitions Tab
You select columns from the Available Columns list to determine which columns
the partition will be based upon. Double-click on the column name (or click on the
column and click the single right arrow) to move the selected columns into the
Partitions Columns list.
Add a Partition
Once you select columns for the partitions to be based upon, you can add a partition.
For range partitions, you do this by clicking the Add button. The Add Partition
dialog displays, and you can provide a partition name. You must enter the upper
range for each column within the partition, or select Maxvalue from the dropdown
list on that dialog. (NOTE: String value upperbounds must be enclosed in single
quotes within the grid, e.g. for a Last Name column with a datatype of varchar2, an
upper bound could be 'Smith'. The single quotes must be entered into the grid.)
To add a hash partition, select the tablespaces to use for the hash partition by
checking the appropriate checkboxes next to the tablespaces.
Chapter 10 Create/Alter Table 345
The Data Types Options page is accessed through the View > Options > Data
Types item. The options that are checked will appear as items in the Data Types
dropdown in the Create Table and Alter Table windows.
Types are listed in the Native Oracle Types panel and the ANSI Types panel. Select
All and Select None buttons are in each panel. You can check and uncheck the
individual types. The types checked are the only ones that will be included in the
Table Data Types dropdown. You can also check or uncheck the Include Object
Types (Oracle 8) checkbox.
Create/Alter Index
Create Index
NOTE: TOAD does not support the following functionality at this time:
domain indexes, composite partitions, some features of hash partitioning (ability to
name individual partitions, currently they are system generated), subpartitions, and
function-based indexes.
You get to this dialog via the Create > Index menu item or from the Schema
Browser window > Indexes page > Create New Index button. Indexes can speed
up execution by providing a faster path to access table data.
Use this dialog to select a schema owner and tablename. Then, on the Create Index
tab, select whether you want to create a Primary Key index, Unique index, Non-
Unique Index, or a Bitmap index. Select the index columns and optional storage
parameters.
Schema dropdown
The top Schema dropdown lets you select the schema in which the index will reside.
Name textbox
The Name textbox lets you designate the name of the new index.
348
Index tab
Schema dropdown
Select the schema where the table or cluster to be indexed resides. This loads either
the tables or the clusters for that schema into the Table/Cluster dropdown box that is
under the schema dropdown.
Table/Cluster dropdown
This dropdown is where you select the table or cluster on which to create the index.
If you select the Table Index radio button, the dropdown is a Table dropdown. If you
select the Cluster Index radio button, the dropdown is a cluster dropdown. When you
select a table, the columns display in the Table Columns list box.
Type dropdown
This is only enabled if the table on which the index is to be based is partitioned.
When enabled, the dropdown choices are Global and Local.
Index Columns
This panel displays the table columns that you selected for the index, as well as the
order ASC or DESC (ascending or descending) for the column within the index. The
default order is ascending unless the item is unchecked.
350
Reverse checkbox
If this box is checked, the bytes of the index block are stored in reverse order. The
Reverse checkbox is mutually exclusive with the Not Sorted checkbox. You cannot
choose both. This function is only enabled if you have Oracle 8 or later.
Chapter 11 Create/Alter Index 351
Options
Online checkbox
If this option is checked, TOAD will allow DML operations on the table during
creation of the index. This function is only enabled if you have Oracle 8 or later.
Parallel checkbox
This option enables or disables the Parallel edit field. If this option is checked, it
causes Oracle to select a degree of parallelism equal to the number of CPUs
available on all participating instances times the value of the
PARALLEL_THREADS_PER_CPU initialization parameter. If a value is specified,
it represents the degree of parallelism, which is the number of parallel threads used
in the parallel operation. Each parallel thread may use one or two parallel execution
servers. Oracle usually calculates the optimum degree of parallelism; so it's not
necessary to specify a value. This option is unchecked (no parallel) by default.
Tablespace dropdown
This is where you specify the name of the tablespace to hold the partition. If you do
not specify a tablespace name, Oracle will create the index in the default tablespace
of the owner of the schema containing the index.
The Key Compression radio buttons are only enabled if you have Oracle 8 or later.
Value box
The Value box lets you specify the prefix length (the number of prefix columns to
compress). You'll need to fill in this box if you select the Compress option.
For Unique indexes, the valid range of prefix length values is from 1 to the number
of key columns minus 1. The default prefix length is the number of key columns
minus 1.
For nonunique indexes, the valid range of prefix length values is from 1 to the
number of key columns. The default prefix length is the number of key columns.
Oracle compresses only nonpartitioned indexes that are nonunique or unique indexes
of at least two columns.
OK button
This gives the command to Create the index.
Cancel
This displays a confirmation dialog, and if you answer OK to the confirmation,
TOAD will discard the changes and close the Index window.
Partitions tab
The Available Columns are the same columns that you selected as the columns for
the index (except for columns with certain datatypes: BLOB, CLOB, NCLOB,
BFILE, ROWID, UROWID, MLSLABEL). You select columns from the Available
Columns list to determine which columns the partition will be based upon. Every
partition created for the index is based on the same column list. So, once partitions
are created on this screen and columns are removed, the created partitions should be
removed.
Add a Partition
Once you select columns for the partitions to be based upon, you can add a partition.
For range partitions, you do this by clicking the Add button. The Add Partition
dialog displays, and you can provide a partition name. You must enter the upper
range for each column within the partition or select Maxvalue from the dropdown
list on that dialog. (NOTE: String value upperbounds must be enclosed in single
quotes within the grid, e.g. for a Last Name column with a datatype of varchar2, an
upper bound could be 'Smith'. The single quotes must be entered into the grid.)
To add a hash partition, select the tablespaces to use for the hash partition. Quantity
is irrelevant for hash partitions based on Indexes; so quantity is disabled.
You can alter indexes through the Schema Browser > Indexes tab > Modify button.
354
Alter Index
This is accessed through the Schema Browser > Indexes tab (select an index) >
Modify button.
This window lets you modify (or alter) the selected index.
Schema dropdown
This is the schema in which the index resides. It cannot be altered; so the dropdown
is disabled.
Name textbox
This defines the name of the index. You can alter it.
Index tab
Deallocate Unused Space checkbox
If checked, this tells Oracle to explicitly deallocate unused space at the end of the
index. This makes the freed space available for other segments in the tablespace.
Only unused space above the high water mark can be freed. If checked, the Keep
box is enabled.
Keep box
This specifies the number of bytes above the high water mark that the index will
have after deallocation.
Bytes dropdown
You can choose Kilobytes or Megabytes. The default is Kilobytes.
Deallocate Unused Space is mutually exclusive with Allocate New Extent. If one is
checked, the other gets unchecked automatically. You cannot choose both.
Chapter 11 Create/Alter Index 355
Size
This specifies the size of the extent in bytes. If Size is omitted, Oracle determines the
size based on the values of the index's storage parameters.
Bytes dropdown
You can choose Kilobytes or Megabytes. The default is Kilobytes.
Allocate New Extent is mutually exclusive with Deallocate Unused Space. If one is
checked, the other gets unchecked automatically. You cannot choose both.
Options
Coalesce checkbox
If checked, this tells Oracle to merge the contents of index blocks wherever possible
to free blocks for reuse.
Parallel checkbox
If checked, this alters the parallel value used during the create process.
Storage tab
This is where you specify the storage parameters.
For the Buffer Pool, a dropdown lets you choose Default, Keep, and Recycle. This
function is enabled only if you have Oracle 8.8 or later.
DBA
TOAD Monitor
TOAD Monitor lets you monitor database performance with six charts: Logical IO,
Physical IO, Event Waits, Sessions, Call Rates, and Miss Rates.
TOAD Monitor must be launched in order to work. You can launch it manually, or
you can set Monitor to launch automatically by checking the Open a monitor
window for each connection checkbox on the View > Options > DBA page.
Ping checkbox
If checked, TOAD will perform a TCP/IP ping to the Oracle server before it runs the
query.
Chapter 12 DBA 359
Right–click on a graph to access a Right-Click Menu that contains the menu items
Zoom (displays the enlarged graph in its own window) and Print.
You can set up numerous thresholds and alerts in the View > Options > Monitor
page.
Each item in the series list corresponds to one line on the graph. You can enter the
minimum and maximum threshold values.
Checkboxes let you Enable alerts and Use Tray Icon. If Enable alerts is checked,
TOAD alerts you when a threshold has been exceeded. Use Tray Icon will display a
blinking TOAD icon in your system tray if you have an alert, and you have enabled
alerts. A non-blinking TOAD icon indicates that you don’t have alerts. The TOAD
Monitor window must be open for alerts to be enabled. (In Windows NT you can
click on the blinking TOAD, and the TOAD Monitor window will display in the
foreground). You can also have alerts emailed to you.
360
The Email button invokes the Email Alerts window which is where you set up the
sender and receiver information.
You should consult your email administrator to determine the proper settings.
From box
Enter your email address. When the alerts are sent they will be treated as coming
from this address.
Subject
This is the subject of the email. The default entry is TOAD Monitor Alert, but you
can edit this if you wish.
If you click the Alerts button, a history of alerts will display. Alerts are stored in
memory until you close TOAD Monitor or press Clear in the Alerts window.
Chapter 12 DBA 361
Kill/Trace Session
This window lets you view session information, trace sessions, and selectively kill
sessions.
The background processes are displayed in light blue. The current session is
highlighted in yellow.
Buttons
You can check or uncheck the Auto Refresh checkbox and the Auto Fetch Data for
bottom panels checkbox.
A toggle bar between the upper and lower panels lets you toggle between the top
panel and a split panel.
The upper panel contains tabs for Processes, All Locks, Blocking Locks, and
Access.
The lower panel contains tabs that let you see the Current Statement, Open
Cursors, and Explain Plan.
362
Orainit Parameters
The DBA Module lets you modify or edit the System Modifiable and Session
Modifiable options.
If the option is modifiable (as indicated by a YES), the Edit button will let you edit
the setting. Double-clicking on modifiable options also lets you change the setting.
NOTE: If a parameter is both session modifiable and system modifiable, TOAD
modifies at the system level.
Chapter 12 DBA 363
NLS Parameters
This window is used to view the Session, Instance, and Database parameter settings
and to change Session and/or Instance parameters.
The window includes tabs for Session, Instance, and Database.
To change a NLS (National Language Support) setting, double-click on a parameter
and enter the new setting in the popup window OR single-click on the parameter
line, click the Edit button, and enter the new setting in the popup window.
If a parameter cannot be edited, the edit button will be disabled. Session parameters
are editable; the others are not.
Notice that changing a value in one cell can cause a change in other cells. For
example, if you change the NLS_TERRITORY from America to Japan, notice the
NLS_CURRENCY symbol changes from the dollar to the yen.
364
Extents
This window lets you view the datafile extents information.
Select the desired Object Type from the dropdown: All Objects, Tables, Indexes,
Rollback, or Cluster.
Select the column to sort upon: Object Name, Object Type, Tablespace, Size (MB),
Initial Extent, Next Extent, Num Extents, or Total Size.
Click on column headers to sort in ascending or descending order.
Click the GO button to fetch the results.
If you have access to the DBA_views, make sure the View > Options > Startup >
Check for DBA Views checkbox is checked. If so, the Owner dropdown list will
become active, and a DBA type user can select a specific schema owner.
Chapter 12 DBA 365
Tablespaces
This window lets you view tablespace usage and free space. The window has tabs for
Space, Data Files, Free Space, Objects, and Fragmentation.
The Space tab is only visible on the DBA Module.
You can double-click on a tablespace from the space tabs and get a description
window.
366
Tablespace Map
This map provides a graphical view of how space is allocated to objects in the
tablespaces in your database. A dropdown lets you select the tablespace, and the
buttons perform various functions.
Analyze
Coalesce
Clear Highlights
Segments
Filters
2 Click the Analyze button to fetch the data for the map. The cells representing
occupied blocks are highlighted in green. Areas that equal or exceed the
fragmentation percentage (set in View > Options > DBA) are displayed in red. In
addition, you may have set other fragmentation limits and colors from the View >
Options > DBA window.
2 Click the Coalesce button to coalesce the tablespace. The tablespace map
disappears.
2 Click in a cell, and all other cells containing the same segments as those in the
cell you clicked display in yellow.
2 Click the Analyze button to fetch the data for the map. The cells representing
occupied blocks are highlighted in green.
3 Click the Segments button. The Segments dialog displays. Now, when you run
your mouse over the tablespace map, segments for each cell display in the
Segments dialog. In addition, the percentage of fragmentation for those segments
displays at the bottom of the dialog.
2 Click the Analyze button to fetch the data for the map. The cells representing
occupied blocks are highlighted in green.
3 Click the Filters button. The Filters dialog displays. It contains tabs for
Datafiles, Object Types, Owners, and Objects.
4 Select the filters you want to see. You can select filters on multiple tabs. The
spaces covered by the filters you choose are highlighted in yellow on the
Tablespace map.
You set the options for the Tablespace Map in the View > Options > DBA page.
You can modify colors and set fragmentation levels used on the tablespace map.
2 Enter the Fragmentation Percentage or use the spinner to select a percentage. The
cells that have segments that equal or exceed this percentage will display in the
color that you will select in the next step.
3 Click the Color drill down button and select the color you want the cells to be for
segments that equal or exceed the set fragmentation level in Step 2.
4 Click OK to add the level and close the Add Level dialog.
Notice you can add as many fragmentation levels as you want to. TOAD labels them
Fragmentation Level 1, Fragmentation Level 2, etc.
2 Click Delete.
Server Statistics
This window helps database administrators tune their databases. Use this dialog to
view information about how the Oracle instance is performing.
On the Analysis tab, the upper and lower warning and error thresholds and messages
can be configured in the TOADSTATS.INI file in the TOAD\TEMPS folder.
Since this dialog is intended for DBAs, access to certain SYS views is required to
query and display the information. If you want to give a TOAD user access to the
Server Stats window without granting them the DBA role, see the TOAD Help file,
TOAD.HLP, topic Windows: TOAD Server Statistics for a complete list of SYS
views to grant select access to the destination user.
The dialog is composed of the following tabs: Analysis, Waits, Latches, Sessions,
and Instance Summary. The Monitor tab will display for users without the DBA
option. DBA users already have access to TOAD Monitor.
Analysis
To set the warning light threshold values, see the topic “How to create your
TOAD\temps\toadstats.ini file” in the TOAD help dialog TOAD.HLP.
Analysis shows high level database information such as gets, misses, and cache hits.
This information comes from the SYS.V$SYSSTAT view, and other views.
Waits
Shows detailed information about database waits from the
SYS.V$SYSTEM_EVENT view
Latches
Shows detailed information about database latches from the SYS.V$LATCH view
370
Sessions
Shows a master/detail presentation of the current sessions from the
SYS.V$SESSION view, and other views. The top grid lists the sessions, whereas the
bottom grid lists the detailed information about the selected session from the
SYS.V$SESSTAT view.
Instance Summary
Shows overall instance statistics from the SYS.V$SYSSTAT view.
Monitor
Shows five graphs of database performance information: Sessions, Cache Hit
Percent, SGA Memory Usage (Oracle 8, or higher), Shared Pool (Oracle 8, or
higher), and Indexed Queries Percent
NOTE: The TOADSTATS.INI file contains default values that are decimal values
that use the American "." (period) as a decimal character. If your locale settings
require a different decimal character, you should either edit TOADSTATS.INI or
delete the file entirely.
Chapter 12 DBA 371
Control Files
The Control Files window displays information about the control files records
section. If you need to allocate more records, for example, the Control Files statistics
information will be helpful.
372
DB Wizard
The TOAD Database Wizard provides a rapid way for DBAs to create Oracle
databases. Screens prompt you to select parameter values for the construction of the
database parameter file (INIT.ORA), as well as values used in the construction of a
SQL file that can later be executed by either a batch file (Windows) or a script
(UNIX) which the wizard generates. It can automatically assign tablespaces across
available hard drives (or volumes), optimized according to either a drive
performance rating which it assigns, or available volume space. It is OFA-compliant
(Optimal Flexible Architecture) in the directories which it creates for 8.1.x
databases.
To Load settings
Settings can be loaded from any of the steps. Loading settings replaces all the
settings for all the steps.
To Save settings
Settings can be saved from any of the steps. The settings are saved as entered for all
steps, regardless of which step you are in.
2 Select a previously saved setting from the dropdown menu to replace with the
new settings.
OR
Click in the textbox and enter a name for your new set of settings.
Chapter 12 DBA 373
This is the name of the new database that will be created. It also acts as the
unique System Identifier (SID) for this database. If you are using Oracle 8i, its
maximum length is 8 characters. For earlier versions of Oracle, it cannot be
longer than 4 characters.
Remote offers two choices: Windows and UNIX. Selecting Windows will create
the same files as choosing Local, while UNIX will create a UNIX style script
instead of the Windows batch file. Selecting UNIX will also change the paths in
the SQL file according to the UNIX environment (using “/” instead of “\” for
example).
3 In the Directories area, the following pathnames are loaded from the registry keys
when the wizard starts. Check to make sure they are correct.
Oracle base – Oracle 8.1 introduced the Optimal Flexible Architecture in which
multiple Oracle homes may reside under one C:\Oracle directory structure. Prior
to this, each Oracle home was the top of its own directory structure. The Oracle
Base field represents the new ORACLE_BASE, or top-most directory, for 8.1
databases (for earlier databases it can remain the same as the Oracle home field
value). When the wizard starts, this field is loaded from the registry
ORACLE_BASE key, if on a database server; otherwise it loads the
ORACLE_HOME key and has the same value as the Oracle home field. This is a
required field.
Oracle home – This is the Oracle home, or top-most directory for Oracle
databases prior to 8.1. For 8.1 specified databases, it is the first home created
under the ORACLE_BASE, as previously described. Multiple databases can
reside under the same Oracle home. For an Oracle 8.1 installation this home is
named Ora81. This field is populated from the registry ORACLE_HOME key
(local machine/software/oracle) when the wizard starts. This is a required field.
4 Choose the Application type – This specifies how the database will be used. It
sets the default block size field according to the following values:
OLTP/Web – 4K
Multi-purpose – 8K
Data warehouse – 16K
After you select the Application type, the Block Size box fills in automatically.
374
You can change the block size manually. If you change the block size manually,
changing the application type will not overwrite its value unless you click the Use
Default button. The block size is usually determined by the application type. This
is the database block size, and will be used for the DB_BLOCK_SIZE parameter
in the parameter file. The block size is typically either 2K or 4K. The default is
4K. This value should be a multiple of the operating system’s block size. This is a
required field. Its minimum is 1K, and its maximum is a very large number. If
you change this number and want to return to the default, click Use Default.
1 Click and drag the slider to select the number of Users the database will support.
This number is used in the computation of the log_buffer value in the parameters
files, as well as the size of the redo log files during automatic tablespace layout
with only one volume.
This number is used in the computation of the cpu_count value in the parameters
file. The cpu_count will only be included if its value is greater than 1.
This is used in the computation of the cpu_count value in the parameters file.
The cache size is used in the computation of the cpu_count value in the
parameters file.
This will be used in the computation of the cpu_count value in the parameters
file.
Chapter 12 DBA 375
Add/Edit Volume
These buttons open the Add Volume and Edit Volume screens.
Enter information in the fields.
Volume name – The name of the hard drive/volume. For Windows, this will
typically be a drive letter, while for UNIX it will be a mount point (/u01, for
example).
Datafile directory – The directory to put the datafiles into on this volume
Available space – The amount of space you want the wizard to use on this volume
# disks – The number of disks on this volume (used in the speed rating calculation)
RAID – The RAID type of this volume, if any
Interface – The drive interface type (e.g., IDE, SCSI, etc.)
Transfer rate – The transfer rate speed of the volume
RPM – The drive’s RPM value
376
Specify the total size of the database you want created in the Total database size
(mb) field. The tablespaces will be created to fill this size.
Select whether to Optimize for Speed or Space. Tablespaces are assigned to the
provided volumes according to either Speed or Space.
If Speed is selected, an algorithm is used to determine how fast each volume is,
given the user inputs. The tablespaces are then assigned to the volumes according to
their speed rating and which tablespaces are being assigned, and which can best
coexist on one volume.
If Space is chosen, the volumes with the most room are chosen, for the tablespace
being assigned.
Click Preview to review how the tablespaces are being assigned.
Manual
The Manual Step 4 Tablespace Mode screen lets you enter the tablespace
information, instead of having TOAD assign it automatically. You are provided with
standard default tablespace and redo log information.
Add/Edit Tablespace
These buttons open the Add Tablespace and Edit Tablespace dialogs, so you can
make changes to the tablespace grid.
These properties are Oracle requirements to specify tablespace. Enter or change
information in the fields.
Tablespace name: Enter the tablespace name in this text field.
File name: Enter the file name.
Chapter 12 DBA 377
3 Click OK to save your changes and return to the New Database Wizard
Total database size – Shows the total size of the tablespaces and redo logs you have
entered.
The only restrictions on your settings are:
There must be a minimum of 2 redo logs
SYSTEM, RBS and TEMP tablespaces may not be deleted.
1 Select the appropriate Oracle options for your database from the checkboxes
provided. Information on the Oracle options can be found in your Oracle
documentation.
2 Select the appropriate radio button from the Generate options panel.
script. This option is only available if Local is chosen on the first screen (you are
operating a PC that has a database server installed).
3 Click Finish.
If you are saving to a batch file which does not yet exist, TOAD will ask if you
want to create it. Click Yes.
If you have chosen Create database now, a dialog lets you know the database has
been created.
Chapter 12 DBA 379
Analyze tab
Click the ADD button to bring up a Select Tables to Analyze menu where you can
select the schema (from a dropdown list) and table(s) from a list of tables in the
schema to analyze. Click in the checkbox preceding the table(s) to select or unselect
the table(s). Select All and Select None buttons help with quick selection.
Repair tab
Check the boxes for which tables to repair.
Repair Button
This creates an intermediate table, copies chained rows to it, deletes the chained rows
from the existing table(s), and then copies the rows back into the existing table(s).
You might need to increase the existing table(s)' data block size to completely
eliminate chaining.
You can also select a rollback segment from the dropdown.
Results appear beneath each repaired table.
The Results list the tables that were not repaired and the reasons.
The default Chained Rows table to use is configured in View > Options > DBA.
380
This displays tables that do not have enough free disk space to allocate their next
extent.
The Alter Tablespace button invokes the Alter Tablespace window for the selected
tablespace which you can then modify.
Chapter 12 DBA 381
The Oracle background process log writer (LGWR) stores information about
database changes in redo log files. The files can be used to recover the database in
case of failure by reapplying the changes. The redo records are stored in the redo log
buffer in the SGA and then written to the redo log files when either the buffer is full
or the associated transaction is committed.
The DBA defines “groups” of identical (same size) redo logs, so that LGWR
simultaneously writes identical information in parallel to each member of a group
and switches between groups in a circular fashion. An Oracle database must have at
least two groups, so that one group can be active while the other group can be
archived (if in ARCHIVELOG mode).
Members frame
This shows the redo log groups and the members of the groups. Radio buttons let
you select your choice of display: Icon, File size, or File name. Add and Drop
buttons let you add and drop members.
Groups frame
Log switch button – lets you switch groups
Add button – lets you add a group
Drop button – lets you remove a group
Archive Process
This frame lets you control the archive process by starting and stopping it and
specifying which files to archive and where to place the archive logs.
Chapter 12 DBA 383
You get to this window from the DBA > Export Utility Wizard menu item.
This is a wizard that lets you easily transfer data objects between Oracle databases
using Oracle’s export utility configured under View > Options > Executables.
In the first step, radio buttons let you choose what you want to export. The choices
are:
Tables - exports selected tables and all dependent objects
Users - exports all objects from the users that you select
Database - exports an entire database
Tables
If you select tables from the first wizard window and click the Next button, the next
window to display will be a table selection window.
The top dropdown lets you select the Schema.
Tables from that schema will then display in the left panel from which you can select
which table(s) you want to export. Your selections will display in the Selected
Tables List (right panel).
Select the table or tables by double-clicking, or single-click and click the appropriate
single arrow. Double arrows move the entire list from one panel to another.
After your selections are complete, click Next to advance to the next window.
Chapter 12 DBA 385
Parameters checkboxes
Table Rows
If checked, the rows of table data will be exported.
Indexes
If checked, indexes will be included in the export.
Constraints
If checked, constraints will be included in the export.
Grants
If checked, object grants will be included in the export.
Direct
If checked, TOAD will use a direct path instead of a conventional path for export.
Record
If checked, records incremental or cumulative export in SYS tables INCEXP,
INCFIL, and INCVID.
Consistent
If checked, Oracle will ensure that data does not change during the execution of the
export.
Compress
If checked, export will flag table data for consolidation into one initial extent upon
export.
Statistics dropdown
You can choose Estimate, Compute, or None.
Chapter 12 DBA 387
Select the Next button to advance to the next window in the wizard.
388
The next window is where you enter the filenames. Drill down buttons let you search
through your files.
Click the Next button to advance to the next window in the wizard.
Chapter 12 DBA 389
The next window is where you select your export action from a radio button list of
actions. The choices are:
Execute Now – Saves parameter file, launches export utility
Schedule to run later – Refers to Windows scheduled task
Simply close after building the parameter file
390
Users
If you select the Users export radio button in the first wizard window, your next
window will be a users selection window.
Available Users will display in the left panel. Select the User(s) you want to export
(which will move to the Selected Users list) by double-clicking, or single-click and
click the appropriate single arrow. Double arrows move the entire list from one panel
to another.
Select the user or users by double-clicking, or single-click and click the appropriate
single arrow. Double arrows move the entire list from one panel to another.
After your selections are complete, click Next to advance to the next window.
The following windows are the same as the last 3 windows in the Database Option
where you select your parameters, specify file names, and choose your export action.
Chapter 12 DBA 391
Database
If you choose Database, the following windows are the same as the last 3 windows in
the Tables Option where you select your parameters, specify file names, and choose
your export action.
392
This is a wizard that lets you easily transfer data objects between Oracle databases
using Oracle’s Import utility configured under View > Options > Executables.
In the first step, radio buttons let you choose what you want to import. The choices
are:
Tables – imports tables and their associated objects
Users – imports schemas
Database – imports the entire export file
Tables
If you select tables from the first wizard window and click the Next button, the next
window to display will be a table selection window.
A checkbox lets you Show only users who own objects.
The top dropdown lets you select the Schema.
Tables from that schema will then display in the left panel from which you can select
which table(s) you want to import. Your selections will display in the Selected
Tables List (right panel).
Select the table or tables by double-clicking, or single-click and click the appropriate
single arrow. Double arrows move the entire list from one panel to another.
After your selections are complete, click Next to advance to the next window.
394
In the next window, checkboxes let you select which objects to import. You can
check multiple boxes. The checkboxes are Grants, Indexes, Table rows, and
Constraints (enabled for Oracle 8.1 or later).
Select the Next button to advance to the next window in the wizard.
Chapter 12 DBA 395
The next window is where you enter the filenames. Drill down buttons let you search
through your files.
The next window is where you select your import action from a radio button list of
actions. The choices are:
Import Now
Schedule to run later
Just build the parameter file
Users
If you select the Users import radio button in the first wizard window, your next
window will be a users selection window.
The following windows are the same as the last 3 windows in the Tables Option,
where you select your parameters, specify file names, and choose your import action.
398
Database
If you select the Database radio button, the next window contains radio buttons for
you to select a schema.
You can also select the type of incremental import. Note that you can choose not to
have an incremental import.
Click Next to continue.
The following windows are the same as the last 3 windows in the Tables Option,
where you select your parameters, specify file names, and choose your import action.
Chapter 12 DBA 399
SQL*Loader Interface
NOTE: If you have difficulty running SQL*Loader, make sure that you have
the correct version installed. You can do this by running the executable with no
parameters in a command prompt window. Note that the executable on the
server can only be run from the server.
The TOAD SQL*Loader Interface is a utility that lets you graphically build a control
file for use with the SQL*Loader, a database server application. The location of the
utility is configured under View > Options > Executables.
Input File
This is the data file, which can be in stream, fixed, or variable format. The default
format is stream.
Bad File
This file will contain rejected records. It’s named the same as the input file by
default, with a .BAD extension.
Discard File
This contains the records that were not inserted during the load because they did not
match any of the selection criteria.
Add button
Click Add to add your data file. The Add input file dialog will display.
Click the drill down next to the Input file name entry box to choose the data file.
The Bad file and Discard file textboxes are automatically entered with their default
extensions.
Chapter 12 DBA 401
Stream Format
This is the default. Lines are read until an end-of-record marker is found (end-of-line
character, by default).
You can select many different input files, if desired, but they must all have the same
record layout. (They could have a different record format.)
Double-click on a table, or click on a table and click OK to select a table from the
list.
The Tables Parameters tab and the Columns Parameters tab let you enter the
parameters for your destination table(s).
Parameters tab
You can name the control file whatever you wish, including the extension.
The Parameters tab also contains numerous options. You can always move your
mouse over a field to display microhelp information.
Save button
Click Save at any time to save the control file. The control file is also automatically
saved whenever you click Execute Now.
NT Job Scheduler
The SQL*Loader has a scheduler that lets you schedule the load as a windows task.
Clicking the Schedule button opens the NT Job Scheduler window. It lets you set the
time for it to run and the frequency. Once you click OK, your job is added.
In Windows Explorer, if you then click on the Scheduled Tasks folder, you’ll see
your job and its schedule information.
Chapter 12 DBA 403
This window takes the current schema and builds DDL for all objects you select.
This is useful, for example, if your database crashes, because you'll have a script to
recreate all your objects.
If you choose the radio button Extract from Schema, it produces a schema script.
If you choose the radio button Extract from Schema Definition File, it produces a
.def file.
You can check or uncheck the desired Objects and Options checkboxes.
404
Compare Schemas
This window lets you compare two schemas and tells you what has changed from the
original reference source to the comparison source.
Some functions of the Compare Schemas window are only available in the TOAD
DBA module.
Schemas tab
Select the Reference Source and the Comparison Source. Radio buttons let you
choose either Schema or a Definition File. If you choose Schema, you choose the
Connection and the Schema.
Options tab
Checkboxes let you select options and what object types will be compared.
Chapter 12 DBA 405
Hierarchy tab
A Venn diagram symbol on the left of each numbered item indicates if it's new or
has been deleted.
The list details the new and deleted items.
Statistics tab
This shows comparison totals for different elements, such as the total deletions for
grants.
406
DBA Options
You access the DBA Options page through the View > Options > DBA menu item.
The DBA Module adds the following menu items to the Create Menu: Directory,
Library, Policy, Profile, Role, Rollback Segment, Snapshot/M-View, and Tablespace
408
Directory
You get to this window from the Create > Directory menu item or from the Schema
Browser > Directory page > Create Directory button.
This window is used to create a new directory object. A directory object is an alias to
a directory on the server's file system where external binary large objects (BFILEs)
are stored.
You enter the Name and Path. A drill down button opens a Browse for folder
window where you can select a directory and click OK, and the selected path is
automatically entered in the Path textbox.
The Show SQL button opens a SQL statement window where your Create Directory
SQL statement is displayed. The Clipboard button on the window copies the
statement to the clipboard. The Save to File button opens the Save As dialog where
you can choose a path and enter a file name.
Chapter 13 Create Menu for DBA 409
Library
You get to this window from the Create > Library menu item or from the Schema
Browser window > Libraries page > Create new Library button.
This window lets you create a new library object. A library object is an alias to an
operating system shared library (like a .DLL) that can be used in SQL or PL/SQL to
allow calls to external functions.
Choose a Schema from the dropdown. This will be the schema that owns the library.
Textboxes let you enter the library Name (alias name for the library) and File Name.
The Show SQL button displays the SQL Statement window where the Create
Library statement is displayed and can be copied via the Clipboard button or saved
via the Save to File button.
410
Policy
You get to this window from the Create > Policy menu item or from the Schema
Browser window > Policies page > Create new policy toolbar button.
This window lets you create a new policy through the DBMS_RLS package. If you
do not have DBMS_RLS, you cannot use this function in TOAD. Refer to the Oracle
documentation for more information.
A textbox lets you enter the Policy Name.
A dropdown lets you select the Schema from which you will select the table or view.
Radio buttons let you choose either Tables or Views.
A dropdown lets you select the Table (if the radio button selection is Tables) or
View (if the radio button selection is Views).
Additional dropdowns let you select the Schema containing the predicate package,
Predicate Package, and Predicate Function.
Checkboxes let you select the statement type(s): Select, Insert, Update, Delete.
Another checkbox allows you to Enable the Policy at Creation.
The Execute button Creates the Policy.
Chapter 13 Create Menu for DBA 411
Profile
You get to this window from the Create > Profile menu item or from the Schema
Browser window > Profiles page > Create New Profile button.
This window lets you create a new profile. A profile is a set of limits on database
resources. If you assign the profile to a user, that user cannot exceed those limits.
Role
You get to this window from the Create > Role menu item or from the Schema
Browser window > Roles page > Create new Role button.
Name
Type in the Name of the Role.
Rollback Segment
You get to this window from the Create > Rollback Segment menu item or from
the Schema Browser window > Rollback Segments page > Create new Rollback
Segment button.
This window lets you create a new rollback segment. A rollback segment is an object
that Oracle uses to store data necessary to reverse (undo) changes made by
non-completed transactions.
You enter the Name in the textbox and choose the Tablespace where you want the
rollback segment created from the dropdown.
Check the Public checkbox if you want the Rollback Segment to be public (available
to any instance). The default is unchecked.
There are dropdowns for Extents and Size.
Initial Extent specifies the size of the object's first extent.
Next Extent specifies the size of the next extent allocated to the object.
Min Extents specifies the total number of extents to allocate when the object is
created.
Max Extents specifies the maximum number of extents that can be allocated.
Optimal Size specifies an optimal size for the rollback segment.
414
The Show SQL button displays the SQL Statement window, which displays the
create statement for your new rollback segment. The Clipboard button lets you copy
the statement to the clipboard. The Save to File button lets you save the statement.
.
Chapter 13 Create Menu for DBA 415
Snapshot/M-View
You get to this window from the Create > Snapshot/M-View menu item or from the
Schema Browser window > Snapshots page > Create New Snapshot button.
The Snapshot/MView window lets you create, update, or modify a snapshot (also
referred to as a materialized view).
416
A snapshot is basically a partial (subset) or complete copy of a table. You can set
your TOAD snapshots to be read-only or updateable (which allows users to insert,
modify, or delete rows). Snapshots can be stored in the same database as the master
table or in a different database. Snapshots provide an easy way to copy a table, for
example, from corporate to remote offices; so that everyone can have access to the
data without having to access information across a network. So, network traffic is
minimized, and system performance is maximized. Snapshots can also be used to
offload information.
The dropdown button lets you choose your Schema for the new snapshot.
Name lets you enter the name for the new snapshot.
The Show SQL button opens the SQL Statement window, which shows the
corresponding Create SQL statement. You can copy the statement to the clipboard
via the Clipboard button or save it via the Save to File button.
The window has 4 tabs: Snapshot Info, Physical Attributes, Snapshot SubQuery, and
Partitions.
Cluster checkbox
If checked, TOAD will create the snapshot as part of the cluster specified.
Cluster textbox
This is where you enter the name of the cluster.
Tablespace dropdown
Select the tablespace in which you want your snapshot to be created.
Logging checkbox
If checked, TOAD will log the creation of the snapshot, partition, or LOB storage
characteristics in the redo log file.
Cache checkbox
If checked, data blocks will be placed in the buffer cache when a table scan is
performed.
Parallel checkbox
If checked, the snapshot will be parallelized.
Build checkbox
If checked, you can specify when to populate the snapshot. If checked, the radio
buttons are enabled. You can choose to build Immediate or build Deferred.
Immediate will populate the snapshot immediately. Deferred populates the snapshot
during the next refresh.
Refresh checkbox
If checked, you can customize how Oracle will automatically refresh the snapshot. If
checked, the refresh options are enabled.
Refresh Options
Refresh Mode dropdown Fast, Complete, Force
Fast - only updates data in the snapshot log associated with master/detail table
Complete – re-executes the snapshot view
Force - If fast refresh is possible, it performs a fast refresh; otherwise, it performs a
complete refresh
Chapter 13 Create Menu for DBA 419
On Demand checkbox
This is mutually exclusive to the On Commit checkbox. If checked, snapshots will be
refreshed on demand.
On Commit checkbox
This is mutually exclusive to the On Demand checkbox. If checked, snapshots will
refresh automatically during the next commit.
Date
Start With
This is mutually exclusive to the Next checkbox. If checked, you can use the
dropdown to pull up a calendar where you select a date for the first automatic refresh
time.
Next
This is mutually exclusive to the Start With checkbox. If checked, you can use the
dropdown to pull up a calendar where you select a date to calculate intervals between
auto refreshes.
With
Partitions tab
In order for this tab to be enabled, you must enter a valid subquery into the snapshot
subquery tab. You select columns from the Available Columns list to determine
which columns the partition will be based upon. Double-click on the column name or
click on the column and Click the single right arrow to move the selected columns
into the Partitions Columns list.
Add a Partition
Once you select columns for the partitions to be based upon, you can then add a
partition.
For range partitions, you do this by clicking the Add button. The Add Partition
dialog displays, and you can provide a partition name. You must enter the upper
range for each column within the partition or select Maxvalue from the dropdown
list on that dialog. (NOTE: String value upperbounds must be enclosed in single
quotes within the grid, e.g. for a Last Name column with a datatype of varchar2, an
upper bound could be 'Smith'. The single quotes must be entered into the grid.)
To add a hash partition, select the tablespaces to use for the hash partition.
You can also alter snapshots through the Schema Browser window > Snapshots
page > Alter button.
422
Tablespace
You get to this window from the Create > Tablespace menu item or from the
Schema Browser window, Tablespaces page, Create New Tablespace button.
Textboxes let you enter names. Dropdowns let you specify extents. Radio buttons let
you specify Temporary or Permanent objects.
Chapter 13 Create Menu for DBA 423
With Extent Management checked, you can choose Dictionary, if you want the
tablespaces to use the SQL dictionary tables to track space usage. If you choose
Local, then bit maps will track space usage.
Schema Browser DBA functions
This chapter discusses additional Schema Browser functions that are included in the
DBA module.
426
Directories
Objects Panel
This displays the Directory window. Type in the Name in the Name box. The Path
box lets you type in the path, or you can click the drill down button and browse
through your directory folders until you find your destination. Click OK, and the
target path will display in the Path textbox.
You can also create a new directory through the Create > Directory menu item
which will invoke the Directory window.
Alter Directory
Drop Directory
Details Panel
The Details panel shows the directory path.
.
Chapter 14 Schema Browser DBA functions 427
Libraries
You can create, alter, or drop libraries. You can also view details.
Objects Panel
Create Library
This displays the Library window where you can choose a schema from the schema
dropdown list, enter the library name, and enter the file name.
Alter Library
This displays the Alter Library window for the selected library.
Drop Library
This drops the selected library.
Details Panel
The Details Panel lists the File Spec, Status, and Dynamic for the selected library.
428
Policies
You can create, enable, disable, edit and drop policies. You can also view policy
details.
Create Policies is discussed in the Create Policy section of the Create chapter.
Chapter 14 Schema Browser DBA functions 429
Objects Panel
Displays the Policy Definition window which has a textbox for the policy name. It
also has dropdowns for the Schema, Table/View (with radio buttons where you
choose Table or View), Schema Containing Predicate Package, and Predicate
Function.
Checkboxes let you check one or more of the following statement types: Select,
Insert, Update, and Delete. A checkbox also lets you check whether or not you want
to enable the policy at creation.
Enable Policy
This button is only enabled if the selected policy is disabled. This enables the
selected policy.
Disable Policy
This button is only enabled if the selected policy is enabled. This disables the
selected policy. Disabled policies will have a red X preceding them in the object list.
Refresh Policy
This refreshes the selected policy.
Drop Policy
This drops the selected policy.
430
Details Panel
The details panel displays various parameters for the selected policy, such as the
Name, the Predicate Package, and the Predicate Function.
Chapter 14 Schema Browser DBA functions 431
Profiles
You can create, modify, and drop profiles. You can also view resource details.
Objects Panel
Create Scripts
This creates and copies the SQL script to the clipboard.
Modify Profile
This displays the Modify Profile window for the selected window, which has the
same features as the Create Profile window.
Drop Profile
This drops the selected Profile.
432
Details Panel
The details panel lists the resource names, resource types, and limits.
Chapter 14 Schema Browser DBA functions 433
Roles
You can create, alter, and drop roles. You can also view roles and privileges details.
Objects Panel
The Objects Panel lists the roles.
Create Scripts
Create Role
This invokes the Create Role window, which is discussed in the Create chapter of
this manual.
Alter Role
This invokes the Alter Role window for the selected role.
Drop Role
This drops the selected role.
Details Panel
The Details Panel contains tabs for Roles details and Privileges details.
434
Rollback Segments
You can create, alter, and drop rollback segments. You can place rollback segments
online or offline. You can also view details of the parameters of rollback segments.
Objects Panel
This displays an Alter Rollback Segment window for the selected rollback segment.
Place Online
This button is only enabled if the rollback segment is offline. This places the selected
rollback segment online and makes it available for transactions. The info tab for the
segment (in the details panel) will list the status value as ONLINE.
Place Offline
This button is only enabled if the rollback segment is online. This places the selected
rollback segment offline and makes it unavailable for transactions. The info tab for
the segment (in the details panel) will list the status value as OFFLINE. Offline
segments will have a red X icon displayed to the left of them in the segments list (on
the left panel).
Chapter 14 Schema Browser DBA functions 435
This drops the selected Rollback Segment. A confirmation window will ask you if
you are sure you want to drop the selected segment. Click YES to drop the segment.
436
Details Panel
The Details Panel has Info and Stats tabs that list parameters and their values
Snapshots
You can create, refresh, and drop snapshots. You can also view details.
Snapshots are discussed in detail in the Create Snapshots/M-View section
of this guide, page 415.
Objects Panel
Refresh Snapshot
Refreshes and re-executes the snapshot view.
Drop Snapshot
This drops the selected snapshot.
438
Details Panel
The details panel contains tabs for Info, Snapshot Query, and Script.
Info tab
This lists the various parameters and values for the selected snapshot,
such as the Generated Table, the Snapshot View, and whether or not the
snapshot is updateable.
Script tab
Tablespaces
You can create, alter, and drop tablespaces. You can place tablespaces online or
offline. You can also view details of tablespaces.
Objects Panel
This brings up the Tablespace window that lets you create a new tablespace.
Alter Tablespace
This displays the alter tablespace window for the selected tablespace.
Place Online
This button is only enabled if the selected tablespace is offline. This lets you place
the selected tablespace online.
Place Offline
This button is only enabled if the selected tablespace is online. This lets you place
the selected tablespace offline, unavailable for transactions.
Drop Tablespace
This drops the selected tablespace.
440
Details Panel
The details panel has tabs for Datafiles, Free Space, Fragmentation, Objects,
Quotas, and Extents.
Chapter 14 Schema Browser DBA functions 441
Users
You can create, modify, and drop users. You can also create and copy the SQL script
to the clipboard. You can view details for roles and privileges.
Create Script
Modify User
This invokes the Modify User window for the selected user.
Drop User
This drops the selected user.
442
Details Panel
The details panel contains tabs for Info, Roles, and Privileges.
The Roles and Privileges tabs contain Revoke and Revoke All buttons which
Revokes the selected Role or Privilege (Revoke) or revokes all the Roles or
Privileges (Revoke all).
Other TOAD Options and Features
The major windows covered in the previous chapters of this manual include: Server
Login, SQL Editor, Procedure Editor, PL/SQL Debugger, and Schema Browser. This
section will highlight some selected options and features found in other TOAD
windows.
444
FTP File(s)
Host dropdown
This is for the address of the FTP server that you'll connect to. Multiple connections
are saved and recalled through the dropdown control.
User box
This is the User ID for the FTP connection.
Password box
This is the password for the FTP connection.
Chapter 15 Other TOAD Options and Features 445
If TOAD can't connect because it can't find the host, a message like this will display.
446
Once you are connected, the Connect button changes to a Disconnect button to allow
the current connection to be terminated.
Chapter 15 Other TOAD Options and Features 447
Local Panel
The left panel contains a file browser for the local computer. The dropdown lets you
type in a file path. The folder button lets you move up one level in the directory
hierarchy.
The Explore button invokes a Windows Explorer-style dialog that lets you select a
local or network directory. The list view control lists the folder and files of the
current directory.
Remote Panel
The right panel displays a file browser for the remote FTP server. The dropdown lets
you type in a file path. The folder button lets you move up one level in the directory
hierarchy. The list view control lists the folder and files of the current directory.
Rename button
This button opens the Rename Window, which lets you rename the selected file in
the FTP interface.
Delete button
This button deletes the selected file.
Refresh button
This button refreshes the file list.
Bottom Panel
File Transfer Mode radio buttons
Default – If selected, the default mode for the FTP server is used
ASCII – ASCII file transfer (faster transfer for text-only files)
Binary – Used to transfer binary files
Messages Panel
Connections and FTP server messages are displayed in the messages panel.
448
Transferring Files
You can transfer files between the local and remote computers. You can select files
in either the local or remote panels and transfer them to the other machine by
pressing the appropriate directional button located between the two panes ([<] or
[>]). You can also use drag-and-drop to transfer files between the two panes. If you
double-click a file, it will be transferred to the other side of the connection.
Chapter 15 Other TOAD Options and Features 449
SQL Modeler
The SQL Modeler dialog lets you quickly create the framework of a Select, Insert,
Update, or Delete statement. You can select Tables, Views, or Synonyms, join
columns, select columns, and create the desired type of statement.
The alias comes from ALIASES.TXT. See page 68 for details about setting up
table aliases. If the selected table does not have an entry in ALIASES.TXT, the
first three characters of the table name are used to generate the alias, which
might not always be unique. For example, the aliases for ALL_OBJECTS and
ALL_TABLES are both going to be ALL. You can edit the alias as desired to
make it unique or change it to something more meaningful. If the table name is
eight characters or less in length, the entire table name is used as the table alias.
Chapter 15 Other TOAD Options and Features 451
The selected tables (Department and Employee) display in the table model area, and the
Generated Query displays the resulting SQL script.
452
Toolbar Buttons
Save to Disk
Print
454
Model Area
This is the area to visually join or manipulate the Tables, Views, or Synonyms. Drag
the table header and drop it to improve the readability of the model.
You can establish your own joins by dragging and dropping a column from one table
to another table column. Once the line is drawn, you can double-click the line to
adjust its properties, such as Inner Join vs. Outer Join, or Join Test, e.g., equal (=),
less then (<), greater then (>), etc.
If no table columns are selected, all columns will be included in the query. If you
want only certain columns, double-click each desired column. A plus symbol (+) will
be displayed to the left of each selected column. The selected column information
will appear in the Criteria grid below.
Tables|Visibility
Displays a Tables Visibility window with checkboxes next to a list of your tables
that are in the model. You can check/uncheck the individual tables to show/hide
them.
Tables|Calculated Fields
Adds calculated fields based on other table columns
Chapter 15 Other TOAD Options and Features 455
Show|Join Text
Displays the column names that comprise the joins
Show|Primary Key
Shows or hides the Table Primary Keys as "(PK)" next to each PK col
SQL|Distinct Mode
Adds "DISTINCT" to the query to return only unique rows
SQL|Global Where
Adds a WHERE clause to the query in addition to the column conditions from the
Criteria tab
456
SQL|Query Variables
Displays the Variables and Constants window where you can add and edit
variables
Hide Fields
Hides the fields and only shows the table names in the table model area
Zoom to Table
Pulls up a Choose a table to focus menu. Double-click on the table you wish to
focus on, and the model scrolls until the table comes into center view.
Right-clicking over each Table object in the model displays the above popup menu.
Chapter 15 Other TOAD Options and Features 457
Auto Join
Automatically joins this table to others based on existing DDL Foreign Key
Constraints
Remove Table
Permanently removes this table from the model.
Select All
Selects all Columns in the Table
Unselect All
Unselects all Columns in the Table
Invert Selection
Selects columns that were unselected and vice versa
Visual Properties
Brings up the Visual Object Properties dialog to adjust the table visual properties
such as font, color, and alignment
458
Hide
Temporarily hides this Table from the model. To unhide the table, right-click over
the empty model space and select the Tables > Visibility menu item.
Chapter 15 Other TOAD Options and Features 459
Results Grid
The Results Grid contains four tabs: Criteria, Generated Query, Query Results, and
Explain Plan.
Criteria tab
If individual columns are selected, they will be displayed in the Criteria grid.
You can edit many of the column properties in the Criteria grid. "Table" and
"Schema" are not editable here. Double-clicking on the following Criteria columns
has the following effects:
Double-click on:
Sort to select this column as Ascending sort, Descending sort, or no sort.
460
Condition to bring up the Input the WHERE Definition dialog, where you can set
a column equal to a constant value or another column value. To remove the WHERE
definition, bring up the dialog and click the Clear button.
Or to enter another WHERE criteria, which will be OR'd together with the above
WHERE criteria. If you want to AND multiple column criteria together, go to the
expert mode from the Input the WHERE Definition dialog.
Aggregate Function to select an aggregate column function, such as Average,
Count, Max, Min, or Sum.
Field Name to enter a different logical column name.
Visible to toggle whether or not this column is returned in the column list (Show or
Not Show).
Group to select this as a GROUP BY column. A number within parentheses
indicates the order of the columns in the GROUP BY clause.
Group Condition to bring up the "Input the GROUP BY Definition" window to
enter a GROUP BY condition.
If you want to change the table alias, right-click over the table in the model and
select the Set Alias menu item.
To rearrange the order of the columns, click the column headers and drag and drop
them left or right.
Chapter 15 Other TOAD Options and Features 461
Right-clicking over the Criteria grid will display this popup menu:
You can copy the query to the clipboard by selecting it and pressing <CTRL>C or
right-clicking and selecting Copy from the popup menu.
You can also copy the query directly to the SQL Edit window by clicking the SQL
button in the SQL Modeler toolbar.
You cannot directly edit the SQL on the Generated Query tab dialog.
The query is syntax highlighted using the same editor settings from the SQL Edit or
Stored Procedure Edit window.
Chapter 15 Other TOAD Options and Features 463
Right-clicking over the Query Results grid displays this popup menu:
Print Grid
Prints a hardcopy report of the data
Save As
Saves the data to Clipboard or File (same dialog as Grid Save As from the SQL Edit
window’s SQL Results Grid, see page 109 for details)
Find Data
Finds data in the grid (same dialog as Find Data, see page 116 for details)
Record Count
Displays the number of records in the grid
Row Height|Single|Double|Triple
Sets the grid row height
Chapter 15 Other TOAD Options and Features 465
Right-clicking over the Explain Plan window reveals this popup menu:
Copy to Clipboard
Copies the Explain Plan statement (in text mode) to the Clipboard
Optimizer Mode
Allows you to select the query optimizer mode for subsequent statements from
Choose, Default, Rule, First Rows, or All Rows.
466
Visual
Select an element from the list which includes:
§ Table Title
§ Table Data
§ Table Border
§ Field Type Font
§ Calculated Field Font
§ Inner Join
§ Outer Join
§ Auto Join
Click over the desired color box to select a color for the element. If appropriate,
right-click over the color box to select a background color for the selected item.
A preview of the Table object with its new colors is displayed in the preview
window below.
You can also select fonts for Table Title or Table Data by selecting from the list and
then clicking the font button which has the graphic of three A's in different fonts.
Title Alignment has radio buttons that let you align the title either left, center, or
right.
You can click the Rounded Shapes checkbox to give your table squares rounded
corners.
You can adjust the thickness of the table object border by selecting a value from 1 to
10 on the Border Width selector. You can also click and drag the border arrow up
and down the 1 to 10 scale to select the desired width. The preview pane shows the
result.
If you want to discard your custom settings and return to the default settings for the
SQL Modeler > Visual options, click the Revert to Default button.
Chapter 15 Other TOAD Options and Features 467
General
Automatic AutoJoin
Default – Checked
When checked, this feature will automatically check foreign key constraints and join
tables that are dropped into a model with other tables. If the option is unchecked,
then you can manually join tables with the table popup menu.
Precede the table name with the schema name in the generated SQL
Default - Unchecked
When selected, this feature will always precede the table name with the schema
name (i.e., myschema.mytable) in the generated SQL. Schema names are always
used if the table belongs to a different login.
Functions
This is the list of functions displayed in the Field Definitions dialogs.
To add a function from the list, select it and click the <Remove> button.
Revert to Default
This will discard the customized setting and revert to the default settings for the SQL
Modeler > Functions Options.
468
TOAD Reports
TOAD Reports lets you print out various preformatted reports. You access the
window from the View > Reports menu item. Or you can click on the Reports
button on the toolbar.
The reports list is displayed in the Reports panel in tree views that are divided by
major categories. You select a report from the list.
The Report Description panel displays a description of the selected report.
The right panel contains a dropdown of Parameters that you need to set. The
parameters that are displayed depend upon the type of report you select. The
wildcard symbol “%” is a choice in each parameters list.
The Run button will run the report and invoke a Print Preview window where you
can select your printer settings.
To run a report
1 Select the report.
2 Enter the parameters.
3 Click the Run button. The Print Preview button will display. The Print Preview
window displays the preformatted report and lets you set your printer options.
The Close button closes the window. The window does not close automatically when
you close TOAD.
TOAD Reports runs as a separate program. So, if you have a long running report
process you can close TOAD and leave the reports program open. TOAD Reports
enhances TOAD performance, because it can run in the background without tying up
TOAD.
Chapter 15 Other TOAD Options and Features 469
Create View
You get to this window through the Create > View menu item or from the Schema
Browser window > Views page > New View button.
470
This window is used to create a new view. A view is a customized display of data
from a table or tables or from another view or views. A view does not get any
storage space (except for the stored query). It is basically displaying the output of a
query in the form of a table.
Choose the Schema from the dropdown and enter a Name in the textbox.
Aliases section
Add button
This displays the add alias window where you enter the name for the alias. The
defaults are Alias1, Alias2, etc.
Edit button
This displays an Edit Alias window for the selected alias. You can then change the
name of the alias and click OK to implement the change.
Delete button
This deletes the selected alias.
Clear button
This clears the Alias list.
Force checkbox
If checked, this forces the creation of the view even if the user does not have access
to the table.
Chapter 15 Other TOAD Options and Features 471
With checkbox
If checked, the following checkboxes are enabled.
Read Only
If checked, the alias will be read only.
Check Option
The Check Option specifies that inserts and updates performed through the view
must result in rows that the view query can select. The check option cannot make
this guarantee if there is a subquery in the query of this view or any view on which
this view is based or INSERT, UPDATE, or DELETE operations are performed
using INSTEAD OF triggers.
Object Search
The Object Search button is on the main toolbar.
You can open the Object Search window by either clicking the toolbar button or by
selecting the Tools > Object Search menu item.
This button, on the Object Search window, lets you change the active session
for the window.
Object Search searches all database object names, table column names, index column
names, constraint column names, trigger column names, and procedure source code
for a keyword or phrase. Each of these items can be searched or excluded from the
search via checkbox options.
Many of the capabilities of the Object Search window can be found on the Filters for
the Schema Browser window allowing the results of the search to be viewed in a
browser.
You can search across All Users, including or excluding SYS and SYSTEM
schemas, or you can search just one schema by selecting the schema in the
Schemas/Owners dropdown list. To search across all schemas, pick the first entry in
the Schemas/Owners dropdown list, entitled, “* ALL USERS.”
The Master/Detail record browser is based on foreign key constraints. It lets you
browse or edit table data in a database, where the tables are linked by foreign keys.
This is like a database setup from an Entity/Relationship diagram, where one table's
objects are related to another table's objects by a linking field or fields.
For example, you could start with the DEPARTMENT table, pick "EMPLOYEE"
from the related tables dropdown list, select a department record, and the employee
records display only for that particular department.
You could further drill down in the EMPLOYEE table to show employees managed
by the current manager employee, by selecting "EMPLOYEE" again from the
Employee's related tables dropdown list. Selecting a manager employee record will
now automatically display the employees managed by that manager. This is known
as a circular table reference, where employee.manager_id is related to
employee.employee_id.
There is currently a static limit of five related tables.
There is also a right-click mouse menu (over the grids) for Print Grid, Save As, Copy
Row, and Record Count.
Chapter 15 Other TOAD Options and Features 475
Here, the DEPT table is selected from the SCOTT schema. Then, the EMP table is selected from the
Related Tables dropdown. NEW YORK was selected from the main table, and only the New York
Employees are displayed in the EMP grid.
476
Privileges
The Privileges window is where users are created, and role and user privileges can be
viewed or altered.
You get to this dialog via the Database > Privileges menu item.
If you do not have DBA privileges, you cannot access this window, and you will get
a "ORA-00942 Table or View does not exist" error if you try to open this dialog.
1 Users
(a). When the user account was created, their tablespace and profile settings
(b). Which Roles they have granted to them
(c). What Object Privileges they have granted to them
(d). What System Privileges they have (e.g., SELECT ANY TABLE)
2 Roles
(a). System Privileges
(b). Users with the Role
(c). Object Privileges
(d). Granted Roles
Chapter 15 Other TOAD Options and Features 477
3 System Privileges
(a). Roles with the Privilege
(b). Users with the Privilege
1 Create a script to recreate the selected user, which includes the "Create User"
command, and all the necessary "Grant" commands to recreate the user. The
script is copied to the clipboard.
2 Create a new user, which will open the Create User window, where you can
select the username, password, tablespace, profile settings, system privileges,
and roles.
3 Modify the selected user by changing user settings or adding more system
privileges and/or roles.
4 Create a new user as an exact copy of the selected user.
5 Drop an existing user.
6 Revoke a single or multiple Role, Object Privilege, or System Privilege from a
user.
7 Change a user’s role from DEFAULT to no DEFAULT or vice versa.
1 Drop a role.
2 Revoke a single or multiple System Privileges from a role.
3 Revoke a user from the selected role.
4 Revoke a single or multiple object privilege from a role.
5 Revoke a role from a role.
478
Rebuild Table
Use this function to rebuild a table, optionally dropping column(s), and/or renaming
column(s). This will also coalesce the space occupied by the table.
You get to this window via the Tools > Rebuild Table menu item.
This window will create a complete script to rebuild a table, after which you can
further edit to customize, if desired.
To Rebuild a Table
1 Logon as the table owner, because you cannot change owners in the Rebuild
Table window.
2 Click the Tools > Rebuild Table menu item.
3 Select a table to rebuild from the Tables dropdown list.
4 On the Options tab, select the options.
5 On the Storage tab, select the storage parameters. You can either use the
original storage parameters or use the current table size as the initial extent,
which will combine all extents together into one extent, resulting in faster disk
performance.
6 On the Columns tab, double-click a column on the upper list to exclude it (drop
it) from the table. To rename a column, click to select it (from the upper list),
wait until after the mouse double-click time, and click it again. Enter the new
name for the column.
7 Click the SQL tab. The rebuild table script will be constructed and displayed.
Now you can either save the script to a file or copy it to the clipboard. To
execute the script, copy it, paste it into the SQL Edit window, and execute it.
Indexes owned by different schemas are not rebuilt in the Rebuild Table process.
Chapter 15 Other TOAD Options and Features 479
TOAD Security
TOAD includes a security feature. You can restrict TOAD users from having access
to specific TOAD features.
To set up security
1 Load the \TEMPS\TOADSECURITY.SQL script to create two tables in the
TOAD schema: TOAD_FEATURES and TOAD_SECURITY. These are
REQUIRED to be in the TOAD schema—they can’t simply be in another
schema with synonyms pointing back.
2 Run TOAD, login as the TOAD schema, and select the Tools > TOAD Security
menu item to bring up the TOAD Features Security window. Select the user or
role, then select the features you want to grant to that user. All other features
will be disabled from this user. You can also delete records from the
TOAD_SECURITY table directly, in order to remove functions from certain
users. Since other non-DBA users only have SELECT privileges to the
TOAD_SECURITY table, they cannot make changes to the security.
3 Click the Grant SELECT button so the user or role can see the
TOAD.TOAD_SECURITY table.
If the user cannot "see" the TOAD_SECURITY table (i.e., they do not have
SELECT access granted to them), they have FULL access to all TOAD features.
If the user has SELECT privileges on the TOAD_SECURITY table, then the
security is in effect.
480
Menus are disabled and enabled from top down. For example, if the entire Create
menu is disabled for a user by a CREATE MENU record in the security table, then
all items on the Create menu will be disabled. If there is also a CREATE INDEX
record in the security table, then that individual menu item will be re-enabled.
Not all buttons, menus, or functions in TOAD are contained within this security
scheme. If you need to restrict other functionality, please let us know.
You can also create collections of TOAD features using existing Oracle roles. Grant
the features to a role, e.g., DEVELOPER_ROLE, grant the role to the end user(s),
then those TOAD users will get the collections of TOAD functionality without
having to set up the same list of TOAD features for multiple users.
Disable saving Oracle passwords by TOAD is one option that is in the Available
Features List. This lets you disable the ability to save passwords. Once this feature is
read in, it applies to the whole TOAD session, even if other users on the same
session have the rights to save passwords.
NOTE: TOAD security is not enforced if the user has the DBA role.
Chapter 15 Other TOAD Options and Features 481
Example
To set up a list of different kinds of TOAD features and then grant the list
to select groups of users
1 Start TOAD, login as user TOAD or a user with the DBA role, go to the Tools >
TOAD Security window.
2 Select DEVELOPER _ROLE from the Schema/Users dropdown list. These
are standard Oracle roles. Have your DBA create the roles, if necessary. DO
NOT use the DBA role. When TOAD starts, if the user has the DBA role, that
overrides everything else, including security.
3 Confirm that DEVELOPER_ROLE has Select priv to the
TOAD.TOAD_SECURITY table. If the SELECT button caption is “Grant
SELECT" click it to execute the grant. If the button caption is "Revoke
SELECT" the grant already exists.
4 Copy the desired features to the "Granted Features" list.
5 Click the EXECUTE button. TOAD will "grant select on toad.toad_security to
developer_role" and write the selected records into the TOAD_SECURITY
table:
USER_NAME FEATURE
DEVELOPER_ROLE ADD COLUMN
DEVELOPER_ROLE ADD CONSTRAINT
DEVELOPER_ROLE ADD INDEX
DEVELOPER_ROLE ALTER CONSTRAINT
DEVELOPER_ROLE ANALYZE
DEVELOPER_ROLE COMPILE DEPS
DEVELOPER_ROLE COMPILE SCHEMA
DEVELOPER_ROLE CREATE INDEX
DEVELOPER_ROLE CREATE MENU
DEVELOPER_ROLE DROP INDEX
DEVELOPER_ROLE DROP TABLE
DEVELOPER_ROLE IMPORT MENU
DEVELOPER_ROLE REBUILD INDEX
DEVELOPER_ROLE REBUILD TABLE
482
6 Confirm that the Oracle Role has been granted to the user: [grant developer_role
to scott].
7 Have user SCOTT logoff/logon to TOAD. Their TOAD features should be
limited as specified.
8 Repeat these steps for setting up features for the other desired roles, e.g.,
TUNER_ROLE, MAINTENANCE_ROLE, etc.
Chapter 15 Other TOAD Options and Features 483
View Menu
The Main View Menu contains the following menu items:
§ Browser Filters
§ Constraints
§ Dependencies
§ Explain Plan
§ Session Info
§ Table Duplicates
§ Reports
§ DBMS Output
§ Oracle Users List
§ Options
§ PL/Formatter Options
(enabled if RevealNet PL/Formatter is installed)
§ Show Toolbar
484
Options Menu
The View > Options menu contains the following options. Many of these options
have already been discussed.
§ General
§ Oracle
§ SQL Editor
§ Data Grids
§ Procedure Editor
§ Editors
§ StartUp
§ Schema Browser
§ Files
§ Debugging
§ Object Browser
§ Source Control
§ Printing
§ DBA
§ Data Types
§ Parser Scripts
§ New Proc Templates
§ Monitor
§ Executables
§ SQL Modeler
This section will briefly cover the Options > General, Oracle, Startup, Files, Printing,
Parser Scripts, New Proc Templates, and SQL Modeler. Refer to TOAD Help for
information on the other TOAD Options.
Chapter 15 Other TOAD Options and Features 485
General Options
Show details following Oracle connection (and Oracle DLL load) features
Default – Checked
If checked, this option displays a message box with details about the TOAD to
Oracle connection handshaking.
Oracle Options
Commit automatically after every statement
Default – Unchecked
This is a session level setting that, when checked, forces an automatic COMMIT to
be sent following every statement.
This lets you select the best optimizer hint for the DDL queries that TOAD executes.
You can choose from the following:
§ Default
§ /* + CHOOSE */
§ /* + RULE */
§ /* + FIRST_ROWS */
Autoconnect to user@database
Default – Unchecked
If checked, the next time you start TOAD, it will automatically connect to the
user@database that is in the checkbox. The user@database is the same as your
current connection.
Chapter 15 Other TOAD Options and Features 491
Startup Options
Play TOAD wave file at startup
Default – Checked
If checked, will croak when TOAD is starting. If you are having sound card
problems, uncheck this option.
Start Up Windows
Default – "SQL Editor"
You can select which MDI child window(s) comes up when TOAD starts: SQL
Editor, Procedure Editor, Schema Browser., and/or Kill/Trace.
Files Options
Save files in Unix format
Default – Unchecked
If checked, files are saved without CR/LF pairs. Tabs are converted to spaces.
Procedures
Enter the desired file extension for exporting procedures. The default is PRC.
Functions
Enter the desired file extension for exporting functions. The default is FNC.
Package Specifications
Enter the desired file extension for exporting package specifications. The default is
PKS.
Package Bodies
Enter the desired file extension for exporting package bodies. The default is PKB.
Triggers
Enter the desired file extension for exporting triggers. The default is TRG.
Views
Enter the desired file extension for exporting views. The default is VW.
Printing Options
Use syntax highlighting when printing source code
Default - Checked
If checked, TOAD will print source code from the SQL Edit window or Procedure
Edit window using the same colors as are displayed in the windows. If unchecked,
TOAD will print the source code in standard black and white.
Parser Scripts
The Parser Scripts options let you set up parsers and select the associated languages.
To add a language, click the ADD button and pick a languagenamescr.txt from your
files (double-click). Then, click in the Extension cell in the lower panel and type in
the desired extensions.
Chapter 15 Other TOAD Options and Features 497
This option lets you add new templates. You can add as many as you like.
You must include the CREATE OR REPLACE statement. The macro
%TriggerOpts% will receive the trigger options you select when creating a new
trigger.
498
You access this window via the Tools > SGA Trace Optimization menu item. This
is a DBA (Database Administrator) function.
Oracle's SGA (System Global Area Oracle Shared Memory) is a pool of the most
recently used SQL statements. Not all SQL statements can be retained in the SGA
forever, because it is a limited size. The least frequently used statements are
discarded in favor of new ones.
The dropdowns let you select the sort order of the results, the type of statement, and
the user (or all users).
You can further filter by showing only statements with a specific number of
executions (more than one) and/or only those statements containing a specific
keyword.
Once your filters are set, click the Refresh the List of Statements toolbar button.
If you want to work with a particular SQL statement in more detail, click the Load
selected statement into the SQL Editor toolbar button.
A toolbar button lets you Flush the SGA. Remember, the SGA is a shared SQL pool
where Oracle caches the most recently executed statements. This results in faster
reprocessing. The Flush the SGA button removes everything from that pool.
The SQL Text and the Tabs in the bottom window (SQL, Execution Stats, and
Explain Plan) are the details for the selected SQL.
Execution Stats
Shows information about the selected SQL statement.
SQL
Shows the entire SQL for the selected SQL statement.
Chapter 15 Other TOAD Options and Features 499
If you get the "SQL Body Unavailable" message when clicking on the SQL tab, the
SQL is not present in Oracle's SGA, which is a pool of the most recently used SQL
statements. Not all SQL statements can be retained in the SGA forever, because it is
a limited size. The least frequently used statements are discarded in favor of new
ones.
Explain Plan
Shows the Explain Plan for the selected SQL statement in the "SQL Shared Pool"
tab. The total cost of the statement is displayed in the Total cost for statement label.
If the cost information is not available because of rule based optimization, this label
will be blank.
You can only view the execution plan for a statement if you have rights to access the
referenced objects in the statement.
500
You get to this dialog via the Tools > Estimate Table Size menu item.
Use this dialog to estimate how much disk space a table might require given an
estimated number of rows.
Chapter 15 Other TOAD Options and Features 501
NOTE: These estimation values are based on how much disk space the table data
occupies. These values differ from the EXTENTS values displayed on the Schema
Browser > Tables page > Stats/Size tab, because EXTENTS are containers that
store data. Extents are created with a certain container size, e.g., 1MB. Each extent
could be empty, half full, three quarters full, or full. In all of these cases, the
EXTENT size remains the same, 1MB, but the amount of disk space occupied by
data changes.
502
You get to this dialog via the Tools > Estimate Index Size menu item.
Use this dialog to estimate how much disk space an index might require given an
estimated number of rows. This dialog is almost identical to the Estimate Table Size
dialog.
To Estimate Index Size
1 Select an Owner, Table, and Index.
2 Enter the Estimated number of rows of data in the table.
3 Select an estimation option:
(a). Calculate based on average row size of existing data.
(b). Calculate row/data size from table structure (DDL).
4 Click the CALC button to calculate and display the Estimated Index Size.
Chapter 15 Other TOAD Options and Features 503
Oracle8i provides a Probe Profiler API to profile existing PL/SQL applications and
to identify performance bottlenecks. The collected profiler (performance) data can be
used for performance improvement efforts or for determining code coverage for
PL/SQL applications. Code coverage data can be used by application developers to
focus their incremental testing efforts.
The Profiler API is implemented as a PL/SQL package, DBMS_PROFILER, that
provides services for collecting and persistently storing PL/SQL profiler data.
The Profiler reviews previously collected statistics. It’s a two step process. Collect
the statistics. Analyze the statistics. To collect the statistics, you have to turn the
Profiler on by depressing the Toggle PL/SQL Profiling button (the stopwatch icon)
or selecting the Database > PL/SQL Profiling menu item.
504
Using DBMS_PROFILER
Improving application performance is an iterative process. Each iteration involves
the following:
1 Exercising the application with one or more benchmark tests, with profiler data
collection enabled.
2 Analyzing the profiler data and identifying performance problems.
3 Fixing the problems.
To support this process, the PL/SQL profiler supports the notion of a run. A run
involves running the application through benchmark tests with profiler data
collection enabled. You can control the beginning and the end of the run by clicking
the Toggle PL/SQL Profiling button in the main TOAD toolbar.
Collected Data
With the Probe Profiler API, you can generate profiling information for all named
library units that are executed in a session. The profiler gathers information at the
PL/SQL virtual machine level that includes the total number of times each line has
been executed, the total amount of time spent executing that line, and the minimum
and maximum times spent on a particular execution of that line.
The profiling information is stored in database tables. This enables the ad-hoc
querying on the data. It lets you build customizable reports (summary reports, hottest
lines, code coverage data, etc.) and analysis capabilities.
Chapter 15 Other TOAD Options and Features 505
With Oracle8i, a sample textual report writer is provided with the PL/SQL demo
scripts.
1 Select the Database > PL/SQL Profiling menu option to turn on the profiler, or
click the Toggle PL/SQL Profiling button in the main TOAD toolbar.
2 Execute a procedure from the Schema Browser OR the Stored Procedure Editor
using the Execute button. You will be prompted to enter a description of the
procedure being executed. This will show up in the Profile Analysis window
when you are analyzing the results. Run the procedure several times to get some
data into the profiling tables. You can turn off profiling if you want to. Be
careful not to leave the profiler toggled on when you switch to other TOAD
windows. Otherwise, profiler data will be collected from the queries TOAD
performs to populate those windows.
506
3 Select the Database > Profiler Analysis menu item. The Profiler Analysis
window will display. There are three levels to the data. The top level contains
the individual Runs of each procedure executed while profiling was enabled.
Double-click on one item for the execution stats for that individual run. At this
level, you can double-click to see the line-by-line performance times for
individual procedures called during profiling.
The top half of the window is a pie chart (or bar chart, depending on your selection)
showing the percent of time required to run each component of the procedure.
The labels on the chart show actual execution time in milliseconds, whereas the
values in the legend are the percent of execution time. There are labels for fastest,
slowest, and average unit or line of code.
The bottom half of the window lists the runs, including Run Number, Procedure,
Timestamp, Total Time to execute, and Comment. To sort in ascending or
descending order, click the column header of the column you want to sort. A black
triangle pointing up (in the column header) indicates order – up is ascending, down is
descending.
Chapter 15 Other TOAD Options and Features 507
Drilling down on a run will list the details of the run, including Unit Type, Owner,
Unit Name, and Total Time to execute.
When drilling down you see the lines of code executed and profiled. The column
headers change to Line Number, Passes (how many times each line of code was
executed), Total Time to execute the line, Min Time, Max Time, and the line of
Code itself.
Above the Profiler toolbar is a horizontal splitter that divides the top half of the
window and the bottom half. Drag it up or down to show more or less detail.
508
Here, the left arrow would drill back up, and the right arrow would drill down.
Select a wedge of the pie and double-click to drill down, showing the amount of time
required to execute each statement in the procedure. To drill back up, click the Less
Detail Left Arrow button in the Profiler Analysis toolbar. The More Detail Right
Arrow button can also be used to drill down. You can also double-click on a
procedure name in the list to drill down.
Procedure Editor
Select a procedure in the list, and click the Procedure Edit Window toolbar button
to load the selected procedure into a Procedure Edit Window.
Refresh Profiler
If you switch to other windows to execute procedures for profile analysis and switch
back to the Profiler Analysis window, click the Refresh Profiler button to requery
the profiler tables.
Chapter 15 Other TOAD Options and Features 509
Profiler Filters
If you want to filter OUT certain profiler analysis data, such as all calls of
SYS.DBMS_OUTPUT, click the Profiler Filters button on the Profiler Analysis
toolbar to display the Profiler Filters window. Select the schemas that you want to
filter out.
Delete Run
If you want to remove a set of profiler analysis data for a particular run, select the
run and click the Delete Run button on the Profiler Analysis toolbar. The data will
be deleted from the profiler tables. The Delete Run button is only enabled when a
run is selected. Drill back up to show less detail in order to select a run.
510
Pie Chart
Bar chart
You can change the graph from a pie chart to a bar chart, or vice versa, by clicking
the Pie Chart or Bar Chart buttons on the Profiler Analysis toolbar. The selected
button will be depressed.
When you click each pie chart wedge or bar chart bar, the list at the bottom will
select the corresponding item.
Rotate Graph
When viewing the pie chart, if the labels overlap, try using the Rotate Graph button,
or maximize the Profiler Analysis window to give it more client space.
Graph Properties
If you click the Graph Properties button, a dialog displays that lets you change the
visual display of the graph and/or group together values below a certain percentage
or value. This is useful when you have several small pie wedges or bars.
Chapter 15 Other TOAD Options and Features 511
§ 3D
3D Enabled is checked by default, causing the chart to be three-dimensional. If
you uncheck the Enabled box, your chart will be two-dimensional.
If 3D Enabled is checked, you can set the percentage of dimension and the
elevation.
§ Gradient
If the Gradient Enabled box is checked, you can choose a multi-color
background with a start color and an end color. The two color gradient gives the
background a gradual backlight effect. If you prefer one solid color, you can
choose the same color for your start color and your end color.
Radio buttons let you choose a direction for your gradient such as left to right,
from the corner, etc.
Once you’ve completed your graph properties selections, click OK, and your graph
will display with your new colors.
If you can see the pie chart labels but you can’t see the pie chart, resize
the window horizontally to allow more drawing space.
For example, if a particular statement takes 95% of the overall execution time, hide
it, and the remaining statements, which were under 1% each, will blow up to a larger
relative percentage on the graph.
Chapter 15 Other TOAD Options and Features 513
In this example, the Profiler shows that PROFILER_TEST_PROC took 1940.2629 milliseconds to run
(or 1.94 seconds). The legend shows the total number of runs the user profiled, which in this case was 2,
the fastest run, the slowest run, and the average run. The legend also shows the percentage of total time
(of all runs profiled) for each procedure.
514
Drilling down from the previous example, the Profiler shows line 15 looped 15,164 times in 3.1966
milliseconds. It also reveals total times and code for the other lines. You can click on the different parts
of the pie to see the corresponding code. The legend shows the total lines of code for the selected
procedure, and the fastest, slowest and average lines. The legend also shows the percentage of the total
execution time for each line.
TOAD HELP has other examples and more information about the Profiler.
Chapter 15 Other TOAD Options and Features 515
This window lets you create, browse, edit, and manipulate Oracle 8 objects.
NOTE: the Object Browser ONLY works on Oracle 8 (8.0.5.0.0) or higher
databases.
You get to this window via the Database > Object Browser menu item.
Objects Panel
The Object panel (left side of the window) lists object types in a hierarchical display.
A dropdown list lets you select a schema. You can browse or edit objects in other
schemas, if you have appropriate Oracle Database privileges.
You can drill down or up by either double-clicking the object or single-clicking over
the expand (plus) or collapse (minus) symbols. You can also drill down by pressing
the "+" (PLUS) key on the numeric keypad, "-" (MINUS) to drill up, and "*"
(ASTERISK) to expand all.
Once you select an item, a second click brings the name of the object into edit mode
so you can rename the object. Type in the new name and press <ENTER>.
Object
Attribute
Method
Compile
Compiles the selected object.
Drop
Drops the selected object.
Rename
Renames the selected object, method, or attribute to a different name.
Remove
Removes the selected attribute from the object.
NOTE: You cannot remove methods.
Chapter 15 Other TOAD Options and Features 517
Go To
Switches to the Body tab and positions the cursor on the selected method. (Go To
becomes enabled when selecting a method)
Privileges
Allows you to grant EXECUTE privileges to other users or roles.
Expand All
Expands all of the nodes in the tree.
Collapse All
Collapses all of the nodes in the tree.
Details Panel
This details panel displays details of the object that you select from the objects panel.
When the root node, Object Types, is selected, a list of Objects displays on the
details panel. This list includes the object name, number of attributes, number of
methods, and the following true/false statuses: Predefined and Complete. The list is
sorted alphabetically.
When an object is selected, the details panel displays a three-tab interface listing:
Properties, Specification, and Body.
When an attribute is selected, the Properties tab displays detailed information about
the attribute, including data type, schema, object, length, precision, and scale.
When a method is selected, the Properties tab displays a list of parameters to the
method, the method type, and restrictions of the method.
Chapter 15 Other TOAD Options and Features 519
Properties Tab
Objects
When an object is selected in the hierarchy, the Properties tab displays:
1 A list of tables created based on the object.
2 A list of columns whose data type is either a REF or nested reference to the
object.
3 A list of dependencies on the object, including other Oracle objects such as
packages.
Options on the View > Options > Object Browser node, let you have TOAD
automatically query and load these three lists. With the option on, it takes a few
seconds more to query and display this information. If your "Autoload" options are
off, you can right-click over the three lists and select Load from the menu to load
each list individually.
Attributes
When an attribute is selected in the hierarchy, the Properties tab lets you select or
adjust the settings for the attribute. You can select from the basic data types for the
attribute, e.g., INTEGER, VARCHAR2, DATE, etc., or select REF or Nested Object
to refer to other objects, in which case Schema and Object dropdown lists become
enabled.
Methods
When a method is selected in the hierarchy, the Properties tab displays a list of
parameters to the method, including parameter name, data type, mode (IN, OUT,
etc.), and Object.
The Properties tab contains a dropdown list to select the method type (Procedure,
Function, Map Function, or Order Function), a label indicating if the method is
overloaded (True or False), a dropdown for method return data type (if Function),
dropdown lists for Schema and Object if the return type is a REF to an object or a
Nested Object, and checkboxes for method restrictions WNDS, RNDS, WNPS, and
RNPS.
520
These method restrictions tell the PL/SQL compiler what sort of access the method
needs to the database. The compiler can then deny the method read/write access to
database tables, packaged variables, or both.
WNDS means "writes no database state"
WNPS means "writes no package state"
RNDS means "reads no database state"
RNPS means "reads no package state"
You can Add, Edit, or Delete method parameters by clicking the appropriate
buttons. In the case of Add or Edit, you will be prompted for parameter name, mode
(IN, OUT, or IN OUT), data type, and, in the case of REF or Nested Object, Schema
and Object.
Map Functions cannot have any method parameters associated with it. If you change
from Procedure, Function, etc. to Map Function, you will be prompted whether or
not to automatically delete all method parameters.
Order Functions must have one IN parameter of the same type as the object. If you
select Order Function, you will be prompted whether or not to automatically remove
all method parameters and add one parameter of the appropriate type.
Specification Tab
The Specification Tab displays the source code for the object's attributes and
methods. As with any memo editor in TOAD, you can select the text via mouse
select or <CTRL>A and copy it elsewhere via <CTRL>C.
Body Tab
The Body Tab shows the code for the object's methods. If there are no methods, the
body tab is empty.
Chapter 15 Other TOAD Options and Features 521
Compile Object
Compiles the object, saves it to the database, and resets the "new" bitmap in the
hierarchy. The dropdown lets you select to compile a single object or all the objects.
New Object
Creates a new object, adding it to the Object Types hierarchy list. The name of the
new object is adjustable in the View > Options > Object Browser dialog. The
default name in the options menu is NEWOBJECTX (X being an integer that starts at
1 and increments by 1 with each new object name). An attribute is also automatically
created because object types must have at least one attribute.
New Attribute
Creates a new attribute, adding it to the selected object. The name of the new
attribute is adjustable in the View > Options > Object Browser dialog.
New Method
Creates a new method, adding it to the selected object. The name of the new method
is adjustable in the View > Options > Object Browser dialog. You can select either
a New Procedure, New Function, New Map Function, or New Order Function.
Builds the Specification and Body information from the database. NOTE: this will
delete any comments you had previously entered in the method code.
522
Drop Object
Drops the selected object. A confirmation prompt precedes the drop.
Object Privileges
Grants EXECUTE privilege on the selected object to a list of users and/or roles.
Refresh Tree
An attribute is also created and displays in the objects panel in the hierarchy
tree. (Remember, objects must have at least one attribute). The default name is
NEWATTRIB1. The default name can be changed in the View > Options >
Object Browser menu.
4 The Properties tab allows you to fill in details for the Attributes such as Type,
Schema, etc. Notice Type has a dropdown list from which you can choose a type
such as integer, number, or raw.
5 You can add additional Attributes by clicking the New Attributes button.
Rename and fill in the details panel as appropriate.
6 You can add methods by clicking the New Method button. The New Method
details panel also includes a dropdown for types. Again, you would rename the
NEWMETHOD and fill in the details panel as appropriate for your method.
7 When you have finished adding your attributes methods and their details, click
the Compile Object button, and your object is created.
8 Now the specification tab for the Object will display the syntax for the creation
of the object.
Chapter 15 Other TOAD Options and Features 525
Something is causing TOAD to hang during the splash screen. What can I do?
If TOAD hangs during the splash screen, there could be a problem with the sound
card or sound devices. Edit TOAD.INI, set “PLAY_WAVE=0”, and try to run
TOAD again. You could also rename TOADLOAD.WAV to something else, e.g.,
TOADLOAD.WAV.OLD, so that TOAD will not find it or attempt to play it.
You can click the SQL*Net Help button on the Login window to display the
SQL*Net Configuration Help window. It lists Oracle Home(s), whether or not
TOAD can find the interface DLL, whether or not your ORACLE_HOME\BIN
folder is in your PATH, etc. You can click the Clipboard button to copy the
information for pasting into an email for technical support.
Chapter 16 Frequently Asked Questions/Troubleshooting 529
You can get help from the Quest Software Web site at
http://www.quest.com/support/index.html
To access TOAD Help while in TOAD, press the F1 key. This activates the standard
Windows help dialog with the TOAD.HLP file. TOAD Help includes contents, a
searchable index, and details on TOAD’s features. It also contains details for
troubleshooting problems.
Products Available
This chapter lists optional products that work with and enhance TOAD.
Quest Software offers the following products. For more information on any of these
products go to www.quest.com or contact Quest sales at 1-800-306-9329. You can
also send email to info@quest.com.
§ TOAD PL/SQL Debugger (see the PL/SQL Debugger chapter of this manual)
§ TOAD DBA (see the DBA chapter of this manual)
§ SQLab Xpert™
§ SQL Impact™
§ PL/Formatter
§ Formatter Plus
§ Knowledge Base for Active PL/SQL Development
§ Knowledge Base for Oracle Administration
The trial version of the PL/Formatter will not work with TOAD.
If you purchase the commercial version of the PL/Formatter, it will work
with TOAD.
532
About Quest Software, Inc.
Contacting Quest
Product information
Phone (USA and Canada): 949-754-8000
Fax (USA and Canada): 949-754-8999
E-mail Sales & Marketing: info@quest.com
Web: http://www.quest.com
Mail: 8001 Irvine Center Drive, Irvine, CA 92618
International offices
UK: +44 (1628) 601000
Germany: +49 (211) 770967 0
Australia: +61 (3) 9811-8000
Canada: +01 (905) 804-9480
534
Technical Support
If you have questions about using a Quest Software product, please contact the
technical support staff. Please include the version number. You can find your version
number in the Help > About menu. If your question is about an error message,
include the error text as well. You can email support by going to Help > Support >
Email.
Email: support@quest.com
535
INDEX
Create ...............................117, 170, 249, 479, 505 Drag and Drop ..............45, 83, 104, 147, 209, 452
Constraint .....................................................264
E
Database Link...............................................318
DBMS_OUTPUT.........................................224 Editor ..................................................... 33, 61, 70
Index.............................................................254 Auto Replace Substitutions...................... 68, 74
Object .............................................21, 160, 523 Code Templates ..........................75, 76, 79, 101
Procedure......................................................178 External................................................ 135, 138
Sequence.......................................................303 Key Assignments..........................30, 73, 79, 96
Synonym...............................................186, 311 Offline............................................................ 53
Table.............................................................125 Parser Scripts ................................................. 72
User ..............................................................477 Procedure................................70, 151, 157, 177
Create Index .....................................................347 Read-Only.......................70, 104, 107, 119, 124
Create Table .....................................................329 SQL.................................................. 33, 45, 139
Syntax Highlighting............................... 70, 136
D
Editor Options30, 35, 53, 57, 68, 70, 73, 74, 76,
Data Block........................................................379 77, 79, 99, 101, 169, 212
Data Types Options................................ See Table Encrypt .............................................................. 18
Database Links .................................................318 End Connection ................................................. 19
Create ...........................................................318 Exceptions ........................127, 206, 264, 265, 266
List................................................................318 Explain Plan..................21, 22, 43, 50, 51, 52, 129
Database Wizard ..............................................372 EXPLAIN.SQL ............................................... 488
Date Format........................12, 120, 127, 207, 486 Export .......................................106, 114, 121, 493
DATEFMTS.TXT ............................................127 Data ............................................................. 260
Dates.................................................................126 Flat File................................................ 114, 464
DATFUNCS.TXT ............................................127 Table Data ................................................... 326
DBA Options....................................................406 Table Script ................................................. 253
DBMS_OUTPUT.............................................131 Export Utility Wizard ...................................... 383
DBMS_PROFILER..................................503, 504 Extent....................................................... 413, 423
DBMS_RLS .....................................................410 Initial............................................................ 413
Debug ...............................189, 195, 200, 209, 228 Extents ............................................................. 364
Information... 195, 198, 200, 201, 202, 207, 209 Extract from Schema ....................................... 403
Symbol Table ...............................201, 202, 236 Extract from Schema Definition File............... 403
Debugging 189, 198, 203, 204, 205, 206, 210, 236
F
Functions ......................................................228
Packages ...............................................229, 231 Filters........241, 250, 270, 278, 312, 493, 494, 509
Procedures ............................................190, 228 Data ..............................................241, 242, 277
Triggers ........................................................232 Object Lists.................................................. 328
Dependencies ........... 190, 207, 244, 246, 294, 296 Object Name ................................................ 242
Lower (called objects) ..................................195 Schema Browser ...................247, 250, 269, 472
Recompiling .................................................171 Find.......................43, 77, 155, 180, 186, 238, 464
Upper............................................................190 Editor ....................................43, 57, 76, 77, 102
Viewing ........................................................190 Grid.............................................................. 116
With Debug Information ......................198, 201 Fixed ................................................................ 117
Dependent Objects ...................................170, 190 Fonts .......................................................... 90, 495
Directory ..................................................408, 426 FTP File(s)....................................................... 444
Directory Object...............................................408
537
Q Delete .............................................................97
Edit .................................................................97
Queries14, 60, 102, 104, 119, 126, 139, 144, 149,
Recreate ........................................................305
246, 318, 449, 462, 463, 489
Server Statistics ................................................369
Canceling .......................................................62
Set Parameters ..........153, 195, 196, 200, 229, 294
Quest Software .........................................529, 533
SGA/Trace Optimization..................................498
Technical Support ........................................534
Flush the SGA button ...................................498
R Shortcut Keys ...................................150, 228, 229
PL/SQL Debugger ........................................200
Radio Buttons.....................................................24 Procedure Editor...........................................155
Rebuild Table...................................................478
SQL Editor .....................................................41
Redo .....................................................44, 76, 155
SHORTSCR.TXT ..............................................72
Redo Log Manager...........................................381
Show All.....................77, 170, 205, 210, 250, 461
Referential........................................................286
Single Record View....................................47, 309
Registration ......................................................194 Snapshot/M-View.....................................415, 437
Repair Chained Rows.......................................379 Sort ...........................167, 171, 277, 278, 309, 326
Reports .....................................................495, 504
Source Control....................................21, 152, 175
Reports Font.......................................................78
SourceSafe....................................................152
Requirements
SourceSafe................................................152, 188
Debugger ......................................................191 Splitters
Profiler .........................................................505 Horizontal...............39, 164, 285, 291, 301, 507
TOAD Features ..............................................21
Vertical .........................................164, 239, 516
Results Grid.............................. 103, 106, 118, 459
SQL Recall .............................................56, 59, 64
RevealNet
Named SQLs ..............................43, 56, 58, 150
Knowledge Base...........................................102
Personal ......................................56, 58, 59, 149
PL/Formatter ..................................................33 Previously Executed .......................................56
Role ..........................................................412, 433 SQL Results Grid .......................33, 108, 140, 144
Roles ........................ 476, 477, 481, 482, 517, 522
SQL*Loader Interface ......................................399
Rollback ....................... 48, 271. Also See Commit
SQL*Net.................................14, 16, 19, 527, 528
Rollback Segment ....................................413, 434
SQL*Plus ...................................................67, 488
Row Numbers ......................................33, 34, 118
SQLFILES.TXT ...............................................148
ROWID ...................................... 45, 104, 118, 277 SQLS.DAT .........................................................57
S StartUp ...............................39, 151, 237, 484, 491
Status Panel Indicator .........................................46
Save............................ 35, 109, 111, 293, 464, 493 Stay on Top ......................................................137
File ........................... 34, 44, 124, 155, 299, 493 STRFUNCS.TXT .............................................127
Passwords...............................................17, 487 Strip Code.....................................43, 63, 133, 134
Schema ...............................21, 269. Also See User Synonym136, 141, 186, 255, 268, 303, 311, 312,
SCHEMA.FLT .................................................247 313
Search....... 9, 56, 77, 102, 116, 170, 190, 472, 473 Create ...................................................186, 268
Security ....................................................245, 311 Filter .............................................................312
Passwords................................. 13, 17, 477, 487 View .............................................................313
TOAD.....................................................21, 479 Syntax Highlighting..70, 73, 77, 91, 136, 169, 495
Semicolons .......................................................258
Sequence ..........................................................302 T
Create ...........................................................303
Tab Delimited...................................................110
540
Compile........................................................306 Dockable.......................................................209
Filter .............................................................307 MDI ................................37, 131, 156, 170, 491
Privileges......................................................307 Modal .......................................................29, 37
Navigation ......................................................23
W
Windows Clipboard......................... See Clipboard
Watches153, 195, 199, 205, 207, 217, 218, 220, Word Wrap.........................................................84
222, 235 Word-Wrap Column...........................................84
Windows