SlideShare a Scribd company logo
Oracle Sql Developer 21 Database Design And
Development Using This Featurerich Powerful
Userextensible Interface Sue Harper download
https://ebookbell.com/product/oracle-sql-developer-21-database-
design-and-development-using-this-featurerich-powerful-
userextensible-interface-sue-harper-4105082
Explore and download more ebooks at ebookbell.com
Here are some recommended products that we believe you will be
interested in. You can click the link to download.
Oracle Sql Developer Narayanan Ajith
https://ebookbell.com/product/oracle-sql-developer-narayanan-
ajith-32704464
Oracle Sql Developer Data Modeler For Database Design Mastery 1st
Edition Helskyaho
https://ebookbell.com/product/oracle-sql-developer-data-modeler-for-
database-design-mastery-1st-edition-helskyaho-5845708
Advanced Oracle Plsql Developers Guide 2nd Edition Saurabh K Gupta
https://ebookbell.com/product/advanced-oracle-plsql-developers-
guide-2nd-edition-saurabh-k-gupta-6988076
Murachs Oracle Sql And Plsql For Developers 2nd Edition Joel Murach
https://ebookbell.com/product/murachs-oracle-sql-and-plsql-for-
developers-2nd-edition-joel-murach-5324802
Oracle Advanced Plsql Developer Professional Guide Saurabh Gupta
https://ebookbell.com/product/oracle-advanced-plsql-developer-
professional-guide-saurabh-gupta-4105036
Pkg Oracle Developer Pl Sql Prog Oracle Cd Paperback Joan Casteel
https://ebookbell.com/product/pkg-oracle-developer-pl-sql-prog-oracle-
cd-paperback-joan-casteel-10020964
Expert Pl Sql Practices For Oracle Developers And Dbas 1st Edition
John Beresniewicz
https://ebookbell.com/product/expert-pl-sql-practices-for-oracle-
developers-and-dbas-1st-edition-john-beresniewicz-2358492
Learning How To Develop The Application With Oracle Sql Plsql Apex
Shah
https://ebookbell.com/product/learning-how-to-develop-the-application-
with-oracle-sql-plsql-apex-shah-232134586
Oracle Sql Tuning With Oracle Sqltxplain Oracle Database 12c Edition
Second Edition Charalambides
https://ebookbell.com/product/oracle-sql-tuning-with-oracle-
sqltxplain-oracle-database-12c-edition-second-edition-
charalambides-22004982
Oracle Sql Developer 21 Database Design And Development Using This Featurerich Powerful Userextensible Interface Sue Harper
Oracle SQL Developer 2.1
Database design and development using this
feature-rich, powerful, user-extensible interface
Sue Harper
BIRMINGHAM - MUMBAI
Oracle SQL Developer 2.1
Copyright © 2009 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval
system, or transmitted in any form or by any means, without the prior written
permission of the publisher, except in the case of brief quotations embedded in
critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy
of the information presented. However, the information contained in this book is
sold without warranty, either express or implied. Neither the author, nor Packt
Publishing, and its dealers and distributors will be held liable for any damages
caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the
companies and products mentioned in this book by the appropriate use of capitals.
However, Packt Publishing cannot guarantee the accuracy of this information.
First published: November 2009
Production Reference: 1171109
Published by Packt Publishing Ltd.
32 Lincoln Road
Olton
Birmingham, B27 6PA, UK.
ISBN 978-1-847196-26-2
www.packtpub.com
Cover Image by Sue Harper (sue.harper@oracle.com)
Table of Contents
Preface 1
Chapter 1: Getting Started with SQL Developer 9
Preparing your environment 9
Finding and downloading the software 10
Downloading and installing the Java Development Kit 10
Installing and starting SQL Developer 11
Working with different platforms 12
Migrating settings from a previous release 13
Maintaining your environment 14
Verifying the current release 14
Using Check for Updates 15
Managing the system folder and other files 16
Sharing preferences 17
Alternative installations of SQL Developer 17
Oracle JDeveloper 17
Oracle Database 11g 18
Troubleshooting 18
A quick overview 20
Sample schemas 20
Creating your first connection 21
Using basic commands in the SQL Worksheet 22
Browsing and updating data 24
Running reports 25
Navigating around SQL Developer 26
Managing SQL Developer windows 26
Tiling windows 28
Splitting documents 29
Maximizing detail 29
Resetting the window layout 30
Table of Contents
[ ii ]
Finding more help 32
Summary 33
Chapter 2: Browsing and Editing Database Objects and Data 35
Browsing objects 35
Working with the Connections navigator 36
Opening connections 37
Working with objects 38
Filtering objects 38
Display editors 40
General display editors 41
Working with the display editors 43
Using the SQL display editor 44
Working with the data grids 46
Controlling the column display 46
Sorting the data 47
Filtering columns 48
More data grid context menus 48
Count Rows and the Single Record View 50
Working with Updating Data Grids 50
Updating data 52
Reviewing other database object nodes 53
Accessing objects you don't own 55
Recycle Bin 56
Creating and updating database objects 57
Creating new objects 57
Creating tables 57
Creating views 62
Reviewing a few specific objects 66
Editing objects: Putting context menus to work 67
Editing objects 67
Diving into context menus 68
Using context menus as utilities 69
Summary 73
Chapter 3: Working with the SQL Worksheet 75
Introducing the SQL Worksheet 75
Controlling the environment 76
Opening SQL Worksheets 77
Working with multiple worksheets 78
Switching connections 79
Getting started 79
Writing and executing commands 79
Writing your first statements 80
Running statements 81
Run script 82
Table of Contents
[ iii ]
Using SQL*Plus commands 83
Supporting SQL*Plus 83
Running scripts 87
Reviewing unsupported SQL*Plus commands 88
Working with SQL 88
Dragging and dropping tables to create queries 88
Formatting code 90
Managing the case 93
Formatting SQL for use in other languages 94
Working with code completion insight 95
Including code snippets 98
Using the File navigator 100
Opening files 101
Using extra features in the worksheet 102
SQL History 103
DBMS Output 105
OWA Output 106
Using the Query Builder 106
Building an SQL query 108
Selecting the tables, column, and joins 108
Viewing the Results 110
Adding the WHERE clause 110
Returning to the SQL Worksheet 111
Summary 112
Chapter 4: The Power of SQL Reports 113
Introducing SQL Developer reports 114
Who can run reports? 114
When do you use reports? 114
Running a report 116
Using bind variables 116
Privileges required for running reports 117
Switching users 118
Browsing shipped reports 119
Running data dictionary reports 119
Getting to know the data dictionary 119
About the database 120
Reviewing Privileges and Security reports 121
Assisting with quality assurance 122
Using the PL/SQL reports 122
Running ASH and AWR reports 124
Other categories 125
Migration reports 125
Application Express reports 125
Data Modeler reports 125
Running reports from other menus 125
Table of Contents
[ iv ]
Monitor sessions 126
Managing the database 126
Real-time SQL monitoring 127
Creating your own reports 129
Getting started 129
Creating folders 129
Storing reports 130
Creating general reports 132
Building general tabular reports 133
Adding bind variables 134
Drilling down through reports 136
Creating a drill-down report 136
Master-detail reports 139
Creating master-detail reports 139
Creating sibling details 143
Adding charts 144
Building other graphical reports 146
Other reports styles 148
Sharing reports 150
Copying and reusing reports 150
Importing and exporting 151
Sharing reports through user defined extensions 152
Summary 154
Chapter 5: Working with PL/SQL 155
Creating PL/SQL code 155
Writing PL/SQL in the SQL Worksheet 156
Using code insight 156
Using code snippets and code templates 158
Creating and compiling PL/SQL program units 159
Working with triggers 159
Using the Create Trigger dialog 159
Viewing trigger details 163
Controlling triggers 165
Adding triggers that populate columns 165
Adding functions or procedures 168
Editing program units 170
Working with errors 171
Testing and executing program units 173
Creating packages 175
Creating the body 176
Editing code 181
Refactoring code 181
Searching for code 184
Finding DB Object 184
Table of Contents
[ v ]
Debugging PL/SQL 185
Debugging PL/SQL code 186
Using the debugging mechanism in SQL Developer 186
Remote debugging 193
Summary 197
Chapter 6: SQL and PL/SQL Tuning Tools 199
Support for tuning code in the SQL Worksheet 200
Working with EXPLAIN PLAN 200
Controlling the Explain Plan output 202
Execution plan details 203
Using Autotrace 205
Additional performance tuning tools 207
Using SQL reports 207
Running the Top SQL reports 208
Monitoring your environment 211
Inspecting SQL trace files 213
Profiling PL/SQL 215
Getting started 215
Preparing the environment 216
Reviewing the output 218
Summary 220
Chapter 7: Managing Files 221
Introducing source code control 221
Overview 222
Ways of working 222
The repository is the point of truth 222
SQL Developer integration 223
Subversion (SVN) 223
Concurrent Versions System (CVS) 223
Other version control systems 223
Getting started 224
Invoking the Files navigator 225
Browsing and editing files 225
Reviewing the file editors 226
Editing other file types 227
Working with the file history 228
Introducing the Versioning Navigator 229
Managing general version control preferences 230
Setting up the repository 230
Creating connections to a version repository 231
Browsing files in the repository 233
Working with files under version control 234
Placing files under version control 234
Table of Contents
[ vi ]
Importing files into the repository 234
Refreshing the repository 237
Understanding revision numbers 238
Checking out files 238
Saving files 240
Checking files in 242
Comparing and merging code 244
Creating patches 245
Summary 246
Chapter 8: Importing, Exporting, and Working with Data 247
Exporting data 247
Exporting instance data 248
Setting up the export file 250
Exporting SQL DML 252
Exporting to HTML 253
Supporting export for SQL*Loader 253
Exporting to Microsoft Excel 254
Exporting to XML 255
Exporting DDL (Metadata) 255
Exporting table DDL 256
Selecting multiple tables for DDL export 258
Using the Database Export wizard to export DDL and data 258
Starting the export wizard 259
Selecting objects for generation 260
Specifying objects 261
Specifying data 263
Running the script 265
Importing data 266
Importing data from SQL script files 266
Importing data from XLS and CSV files 267
Creating a table on XLS import 270
Using the Database Copy wizard 273
Comparing the database copy alternatives 273
Running the Database Copy wizard 275
Comparing schemas 276
Summary 278
Chapter 9: Database Connections and JDBC Drivers 279
Working with Oracle connections 279
Using alternative Oracle connection types 279
Reviewing the Basic connection 281
Accessing the tnsnames.ora file 281
Accessing LDAP server details 283
Creating advanced connections with JDBC URLs 284
Connecting to Oracle TimesTen 285
Reviewing JDBC drivers 286
Table of Contents
[ vii ]
Oracle JDBC thin driver (Type IV driver) 287
Oracle JDBC thick driver (Type II driver) 287
SQL Developers shipped drivers 287
Using different authentication methods 288
OS Authentication 288
Using Proxy authentication 290
Using Kerberos authentication 293
Using RADIUS authentication 297
Creating non-Oracle database connections 297
Setting up JDBC drivers 298
Using Check for Updates 298
Manually adding JDBC drivers 299
Creating connections to the third-party databases 300
Connecting to IBM DB2 301
Microsoft Access 301
Connecting to Sybase Adaptive Server or Microsoft SQL Server 302
Connecting to MySQL 303
Organizing your connections 303
Creating folders 304
Working with folders 305
Managing folders 306
Exporting and importing connections 306
Summary 307
Chapter 10: Introducing SQL Developer Data Modeler 309
Oracle SQL Developer Data Modeler 310
Feature overview 310
Integrated architecture 311
Getting started 312
Installing and setting up the environment 312
Oracle clients and JDBC drivers 312
Creating your first models 313
Importing from the Data Dictionary 314
Creating a database connection 314
Using the import wizard 316
Reviewing the results 318
Saving designs 319
Working with diagrams and their components 320
Formatting the elements 320
Changing the default format settings 322
Setting general diagram properties 323
Creating subviews and displays 324
Adding subviews to your design 324
Adding displays 325
Creating a composite view 327
Controlling the layout 328
Table of Contents
[ viii ]
Adjusting the level of detail displayed 328
Adjusting the width and height across the model 329
Controlling alignment 330
Working with lines 330
Managing lines with elbows 332
Managing straight lines 332
Analysis, design, and generation 333
Flow of work 333
Starting with analysis (top down) 334
Importing existing models (bottom up) 334
Building the relational model 334
Logical models 335
Creating an ERD 335
Supporting alternate notations 339
Creating constraints, domains, and setting default values 343
Working with domains 343
Creating domains 344
Assigning domain valid values to an attribute or column 345
Setting valid values at attribute or column level 346
Introducing forward and reverse engineering 348
Forward engineering 348
General engineering dialog features 349
Maintaining the model layout 350
Reverse engineering models 350
Creating relational models 351
Working with the relational model 351
Setting naming standards templates 354
Building the physical model 357
Importing a schema from the data dictionary 357
Creating a new physical model 358
Adding new database sites 360
Reviewing physical properties 362
Propagate properties 363
Generating the DDL 364
Reviewing and applying Design Rules 365
Integration with Oracle SQL Developer 369
Creating a new model 370
Creating and running reports 371
Setting up the reporting schema 372
Summary 375
Chapter 11: Extending SQL Developer 377
Introducing extensibility 377
Extensibility in SQL Developer 378
Who builds extensions? 378
Why extend? 379
Table of Contents
[ ix ]
SQL Developer XML extension types 379
Adding an XML extension 379
Sharing user-defined reports 380
Adding display editors 382
Examples of display editors 383
Building the XML file for a display editor 383
Working with context menus 386
Adding a context menu to the connections menus 387
Passing parameters 388
Creating a utility using context menus 389
Including the user-defined extension for context menus 391
Adding new nodes to the Connections navigator 392
Including user-defined extensions for a navigator node 393
Adding a new tree to the navigator 394
Adding multiple nodes 398
Reviewing an example 399
Adding support for dimensions 399
Working with extensions 403
Controlling existing extensions 403
Adding in new Java extensions 403
Removing extensions 405
Sharing extensions 405
Summary 406
Chapter 12: Working with Application Express 407
Setting the scene 407
Setting up in Application Express 408
Creating a workspace and database schema 408
Creating an Application Express user 409
Browsing applications in SQL Developer 411
Creating a connection in SQL Developer 411
Browsing and working with schema objects 411
Browsing the applications 412
Mapping objects in SQL Developer to Application Express 415
Tuning SQL and PL/SQL code using SQL Developer 416
Working with Region Source SQL 417
Tuning with Explain Plan 418
Working with PL/SQL code 419
Replacing the anonymous block in Application Express 421
Managing applications in SQL Developer 422
Importing applications 422
Modifying applications 423
Deploying applications 425
Controlling services 425
Reporting on applications using SQL Developer 426
Summary 427
Table of Contents
[ x ]
Chapter 13: Working with SQL Developer Migrations 429
Introducing SQL Developer Migrations 429
An overview of the migration process 430
Offline or online migration choices 430
Supported third-party databases 431
Setting up your environment 431
Setting up the JDBC drivers 431
Creating third-party connections 432
Accessing non-Oracle databases 433
Browsing database objects 433
Using the SQL Worksheet 434
Managing the repository 435
Creating the repository 436
Associating a repository with a user 436
Planning database connections 437
Setting up the source database connection 437
Setting up the target database connection 437
Migrating 438
Using Quick Migrate 438
The migration 442
Verifying the results 444
Delving into a complex migration 444
Preparing for the migration 444
Capturing the model 445
Converting the model 447
Generating the scripts 453
Executing the script 454
Populating the target tables with data 456
Offline migrations 458
Additional migration activities 458
Migration reports 459
Summary 459
Index 461
Getting Started with SQL
Developer
This book is divided into chapters that focus on the different areas or functionality
in SQL Developer. The progression through the chapters is from the more frequently
used features to those less frequently used. This initial chapter is all about preparing
your environment, installation, and getting started.
SQL Developer is easy to set up and use, so there is very little setup required to
follow the examples in this book. The best way to learn is by practice, and for that
you'll need a computer with access to an Oracle database and SQL Developer.
This chapter, and indeed the rest of the book, assumes you have a computer with
Microsoft Windows, Linux, or Mac OS X installed, and that you have access to
an Oracle database. It focuses on the alternative installations available for SQL
Developer, where to find the product, and how to install it. Once your environment
is set up, you can follow a quick product walk-through to familiarize yourself with
the landscape. You'll create a few connections, touch on the various areas available
(such as the SQL Worksheet and Reports navigator), and learn about the control
of the windows and general product layout.
Preparing your environment
Preparing your environment depends on a few factors, including the platform you
are working on and whether you have an early edition of SQL Developer previously
installed. First, you need to locate the software, download, and install it.
Getting Started with SQL Developer
[ 10 ]
Finding and downloading the software
SQL Developer is available through a variety of sources as both a standalone
download and as part of the Oracle Database and Oracle JDeveloper installations.
SQL Developer is a free product, and you can download it from the Oracle
Technology Network, http://www.oracle.com/technology/products/database/
sql_developer. Use this link to reach the download for the latest standalone
production release. It also includes details of the release and is regularly updated
with news of preview releases and new articles. While SQL Developer is free to
download and use, you are required to read and agree to the license before you can
proceed with the download. The product also falls under Oracle Support contracts,
if you have a Support contract for the database, which means that you can log Oracle
Support tickets.
Downloading and installing the Java Development
Kit
SQL Developer requires the Java SE Development Kit (JDK); this includes the Java
Runtime Environment (JRE) and other tools, which are used by SQL Developer
utilities such as the PL/SL Debugger.
For Microsoft Windows, you can download and install SQL Developer with the JDK
already installed. This means you'll download and unzip the product and will be
ready to start, as there are no extra steps required. For the other operating systems,
you'll need to download the JDK and direct SQL Developer to the path yourself.
Indeed, as many other products require a JDK to be installed, you may already
have one on your system. In this case, just direct the product to use an existing JDK
installation. For Microsoft Windows, ensure you download SQL Developer without
the JDK to make use of an existing JDK installation.
The SQL Developer download site offers a selection of download choices:
• Microsoft Windows (with or without the JDK)
• Linux (without the JDK)
• Mac OS X (without the JDK)
In each case, make your selection and download the required file.
Chapter 1
[ 11 ]
The download sites for the JDK are as follows:
• For Microsoft Windows and Linux:
http://java.sun.com/javase/downloads/index.jsp
• For Mac OS X:
http://developer.apple.com/java/download/
SQL Developer is shipped with the minimum JDK required. You can
download and use the latest updates to the JDK. You should be aware
that some updates to the JDK are not supported. This detail is posted on
the SQL Developer Downloads page for each release. Starting from SQL
Developer 2.1, JDK 1.6 is the minimum JDK supported.
Once you have installed the JDK, you can start SQL Developer.
Installing and starting SQL Developer
SQL Developer does not use an installer. All you need to do is unzip the given file
into an empty folder, locate, and run the executable.
Do not unzip SQL Developer into an $Oracle_Home folder
or an existing SQL Developer install.
Unzipping the file creates an sqldeveloper folder, which includes a selection of
sub-folders and files, including the sqldeveloper.exe executable.
If your download does not include the JDK, then you'll be prompted for the full
path of the java.exe. Browse to the location of the file and select it. The path should
include the full path and executable (for example, C:Program FilesJava
jdk1.6.0_13binjava.exe):
Getting Started with SQL Developer
[ 12 ]
Working with different platforms
Whether you are accessing SQL Developer as part of the Oracle Database 11g
installation or as a stand-alone install, there is a selection of executables available
to you. These are either platform specific or provide additional detail while running
the product.
Microsoft Windows
The first executable you'll find is in the root folder sqldeveloper. This is the
executable more generally used. If you navigate down to sqldeveloperbin, there
are two additional executables, sqldeveloper.exe and sqldeveloperW.exe. The
latter is the same as the executable in the root folder. Use either of these for running
SQL Developer.
The additional executable is often used for debugging purposes. Use
sqldeveloperbinsqldeveloper.exe to invoke SQL Developer and a separate
console window which displays additional Java messages. You can use these
messages when encountering errors in the product and if you want to log an issue
with Oracle Support.
Oracle SQL Developer
Three steps to getting started on Microsoft Windows:
Download: Download the full file, with JDK, from the Oracle
Technology Network web site.
Unzip: Unzip the file to an empty directory.
Double-click: Double-click on the sqldeveloper
sqldeveloper.exe file.
Alternative platforms
Microsoft Windows is the predominant platform used by SQL Developer users.
There is a steadily growing audience for Linux and Max OS X. As neither of these
platform downloads include the JDK, you need to first access, download, and install
the JDK. On starting either Linux or the Mac OS, you'll be prompted for the full path
of the JDK as described.
Mac OS X
Download the file specific to Mac OS X and double-click to unzip the file. This
creates an icon for SQL Developer on your desktop. Double-click to run the
application.
Chapter 1
[ 13 ]
Linux
Use the Linux rpm command to install SQL Developer. For example, your command
might look like this:
rpm -Uhv sqldeveloper-1.5.54.40-1.noarch.rpm
In the same way that unzip creates an sqldeveloper folder, with sub-folders and
files, the rpm command creates an sqldeveloper folder, complete with files and
sub-folders. Switch to this new folder and run the sqldeveloper.sh executable.
Migrating settings from a previous release
On the initial startup of any release of SQL Developer, you may be asked one or two
questions. The first is the location of the Java executable of the JDK as discussed.
If you have installed the full release with the JDK, this question is skipped. The
second question is if you want to migrate any preferences from a previous release.
Regardless of whether this is the first SQL Developer install on the machine or not,
the first time you invoke SQL Developer, you are offered the choice of migrating
your settings. You can migrate settings of any release from SQL Developer 1.5 and
above. By default, the utility looks for the latest previous installation of the software.
If you want to migrate from a different installation, select the Show All Installations
button (seen above). This displays a list of all SQL Developer installations that have
the system folder in the Documents and Settings system folder (for example,
C:Documents and Settings<your_user>Application DataSQL Developer
system1.5.1.54.40) and includes releases from SQL Developer 1.5 and above. For
releases prior to SQL Developer 1.5, the system folder was created within the SQL
Developer install (for example, D:SQLDeveloperBuilds1.2.11.2.1.3213
sqldevelopersqldevelopersystem).
Getting Started with SQL Developer
[ 14 ]
Maintaining your environment
Once you have SQL Developer installed, it is helpful to know about the
environmental settings and some of the files that are created when you start the
product. Knowing about the version you have installed is important if only to
be able to identify this when asking questions on the forum, or when contacting
Oracle Support.
Verifying the current release
To verify the SQL Developer release you have, select the Help | About menu once
you start SQL Developer or JDeveloper. In the dialog invoked, select the Extensions
tab and find the Oracle SQL Developer extension, as shown in the next screenshot.
This will match the build number on the download site if you have the latest release.
The screenshot shows a number of the extensions that make up SQL Developer. If
your dialog does not show the Version or Status columns, you can select the column
headers to resize the visible columns and bring the others into focus.
Chapter 1
[ 15 ]
Using Check for Updates
SQL Developer offers a built-in patching and extensions utility, known as Check
for Updates. Check for Updates is used to release:
• SQL Developer extensions
• General Oracle extensions
• Minor patches
• Third-party tools required by SQL Developer, such as the non-Oracle
database drivers
• Third-party extensions
You can control whether Check for Updates warns you about new updates using the
Tools | Preferences menu. Select Extensions and then select Automatically Check
for Updates. For SQL Developer extensions, if you already have SQL Developer
installed and you're not secured by a firewall, you'll be alerted about new updates.
You need not use the utility to get the updates, but you'll be aware of the latest
release from the alert. For all other extensions, you need to start Check for Updates
to see what's available. To do this, select Help | Check for Updates. In either
situation, just follow the dialog to find the updates you require.
You can initially elect to see just the third-party updates, or all updates available,
by selecting all options, as shown in the following screenshot:
Getting Started with SQL Developer
[ 16 ]
The database drivers for some of the non-Oracle databases are located in Third Party
SQL Developer Extensions. The Third Party update center also includes a selection
of customer developed SQL Developer extensions. The customer extensions are
developed, supported, and updated by the customer involved, and are not tested,
certified, or supported by Oracle.
As with all software downloads from the Internet, you are required to read and
accept the license agreements. The Check for Updates utility directs you to the
appropriate licenses, before downloading the software. If the updates are from
Oracle, you will need to provide your Oracle Technology Network sign-on details.
Check for Updates is only used to apply patches to your install. Starting with
SQL Developer 1.5.1, the team released patches which are applied to upgrade the
product in place. These patches fixed one or two bugs and did not constitute a new
download, or even a full install. For all other releases, you need to do a full install
as described earlier.
Managing the system folder and other files
SQL Developer maintains a series of files as you work with the product. These
files are created and stored in the Documents and Settings<your_user>
Application DataSQL Developer folder. On Linux, these files are all stored
in a folder ~/.sqldeveloper/.
Deleting this folder is equivalent to returning a SQL Developer installation to its
factory settings. The files at this highest level are:
• CodeTemplate.xml—created as you add your own user defined
code templates
• UserReports.xml—created as you add your own user defined reports
• SqlHistory.xml—created as you execute SQL and PL/SQL commands
in the SQL Worksheet
• UserSnippets.xml—created as you add your own snippets
These files are used by each of the SQL Developer installations you have. For
example, you may elect to have the latest installation in addition to a number of
earlier releases. Having several different releases of SQL Developer on one machine
is acceptable, as the installations have no impact on each other, except that they do
share these files.
Chapter 1
[ 17 ]
Once you have started SQL Developer, a folder with sub-folders and files is
created in the Documents and Settings<your_user>Application Data
SQL Developer folder. The top-level folder is labeled systemx.x.x.x.x (for
example system1.5.0.54.40). The systemx.x.x.x.x folder contains all of the
other preferences and the settings that pertain to the specific release in use. In this
case, deleting the system folder is almost equivalent to resetting SQL Developer
to its factory settings, except that any user defined reports, SQL history, and code
templates are not lost.
Sharing preferences
Preferences are set for your local environment and are therefore not shared
globally between teams. However, you can export the SQL Formatter preferences
set. This allows you to share the settings between team members and ensure that
you all code to the same settings. To export your SQL Formatter settings, select
Tools | Preferences and expand the Database node in the tree. Select SQL
Formatter, you can now export or import previous saved settings.
Alternative installations of SQL Developer
We have been discussing the installation and management of the independent
release of SQL Developer available on the Oracle Technology Network.
SQL Developer is also available as part of the Oracle Database and Oracle
JDeveloper installations.
Oracle JDeveloper
Most of SQL Developer is integrated into Oracle JDeveloper, which means you need
to install JDeveloper to access and use the SQL Developer components. Having SQL
Developer as part of JDeveloper means that, if you are building Java applications
and working with the Fusion Middleware platform, you can access and work with
the Oracle Database without an additional install of SQL Developer. JDeveloper does
not consume all of the extensions for SQL Developer (for example, extensions like
Migrations and Versioning are not included).
Oracle JDeveloper 11g includes SQL Developer 1.5.6.
Getting Started with SQL Developer
[ 18 ]
Oracle Database 11g
SQL Developer is also shipped with the Oracle Database. Initially, Oracle
Database 11g Release 1. SQL Developer is installed by default when you install the
database. Once the installation is complete, locate the sqldeveloper directory
(for example, product11.1.0db_1sqldevelopersqldeveloper.exe) to
start SQL Developer.
Be aware that Oracle database releases are less frequent than those of SQL
Developer, which, by its nature and size, allows for more frequent updates. This
means the version of SQL Developer shipped with the database may not be the most
current release. Oracle Database 11g Release 2 is shipped with SQL Developer 1.5.5.
All examples in this text are using SQL Developer 2.1. You may also update your
database version less frequently than a client tool.
To upgrade the SQL Developer installation in Oracle Database 11g Release 1, you
should do a full new install. As with other installs, create a new folder and unzip
the latest download.
Oracle Database 11g Release 1 ships with SQL Developer 1.1.3
Oracle Database 11g Release 2 ships with SQL Developer 1.5.5
Troubleshooting
It seems ominous to provide a section on troubleshooting at the start of a book! If
you accept that software can get in a tangle sometimes, either if you use the product
as it's not designed, or perhaps include extensions that you'd prefer not to have and
the product is no longer behaving as expected, then a few hints on how to escape
that tangle can be useful.
Removing extensions
If you have created your own extensions, or have downloaded and installed other
extensions that you no longer require, then invoke the preferences, using the menu
Tools | Preferences and select Extensions from the tree. Here you see that SQL
Developer includes a number of default extensions, such as the Oracle TimesTen
extension. In addition, any extension that you have included is listed here. You can
deselect extensions here and the product will no longer access them. This does not
delete the files installed for the extension. You will need to manually delete any
files downloaded for that to happen. However, it does mean that you can restart
the product and see if the extension is the root of the problem.
Chapter 1
[ 19 ]
Resetting shortcut keys
Some users find that their keyboard shortcuts no longer work as expected. In this
circumstance, you can select the menu Tools | Preferences, and then select Shortcut
Keys from the tree. Click on the More Actions drop-down list and select Load
Keyboard Scheme…, as shown in the following screenshot. Select Default from the
dialog to reset the keyboard accelerators to the shipped settings. This also replaces
any settings you have added.
In releases prior to SQL Developer 2.1, the Shortcut Keys are called
Accelerators. In these releases, to reset the keys, select Load Preset.
Reset the environment, do not reinstall the product
When things go wrong, users sometimes resort to deleting and reinstalling a
product. This may even require downloading the files again. This is time consuming,
and in the case of SQL Developer, not necessary. Assuming you have not edited any
of the .jar files (it's been known to happen and not legally permitted), you can reset
the product to the shipped factory settings by deleting the system folder. Before you
delete the system folder, export your connections and shut down SQL Developer.
Getting Started with SQL Developer
[ 20 ]
Export Connections: To export your connections, select Connections,
right-click and select Export Connections. Save the file to a new location.
When troubleshooting, deleting the system folder is useful. However, by deleting
this folder you are also deleting all of the changes made to the preferences,
your connections, and any layout changes you have made. Therefore, it is
recommended that you delete the folder as a last resort, and not as a standard
approach to troubleshooting.
Reset to factory settings
For Microsoft Windows, delete the Documents and
Settings<your_user>Application DataSQL Developer
folder to reset SQL Developer to the shipped factory settings.
For Linux, remove the ~.sqldeveloper folder and on the Mac, remove
the ~/Library/Application Support/SQL Developer folder.
In addition to deleting all of the preferences set and connections created,
this action also deletes user-defined reports, your SQL history, and any
code templates and snippets you have created. In general, delete the lower
level system folder for a less drastic reset.
A quick overview
Let's start with a walk-through of the product. This book is all about SQL Developer,
using the product, and getting to know it. You may well ask yourself why there is
a need for a book if we can walk through the product in twenty minutes or less. By
spending a little time dipping into a number of areas of the product, you can start
laying down a map of how the pieces connect and provide a base that you can drill
down into later.
Sample schemas
To follow the examples in the book, you need access to SYSTEM and the shipped
sample schemas, HR, OE, SH, PM, and IX available in Oracle Database 9i, 10g, or 11g.
Specifically, this book uses the sample schemas shipped with Oracle Database 11g.
There are two ways to install the sample schema. The first way is when you install
the database. You can elect to have the sample schema installed at that point.
Chapter 1
[ 21 ]
Second, if you have not installed these, then you can locate the sample schema in the
$ORACLE_HOME/demo/schema folder and follow the instructions on installing them
using the Oracle online documentation. Not all of these schemas are available for
Oracle Express Edition. In this chapter, we use SYSTEM to verify the HR schema
is unlocked, and then we use the HR sample schema, which is available in Oracle
Express Edition.
Creating your first connection
To complete this quick walk-through, you need to know the username and password
of the SYSTEM user. You also need to know the location of the database, whether
this is the machine name or the IP address, and the database SID.
To begin, start SQL Developer. The very first time you start SQL Developer, you'll
be asked if you want to migrate from a previous version. Select No and allow the
tool to start up.
The first thing you need to do after you have started SQL Developer for the first time
is to create your initial connections.
Create a connection for SYSTEM:
1. Select Connections, right-click and select New Connection. This invokes
the New Database Connection dialog. You can edit and control all of the
connection details using this dialog.
2. Complete the details, as seen in the following screenshot, relevant to your
environment.
3. Click on Test to ensure you have the connection details correct and click
on Connect.
Getting Started with SQL Developer
[ 22 ]
You are now connected as SYSTEM. Use this connection to verify your other users,
by continuing as follows:
1. Select the new connection you have created, expand the node, and scroll
down to Other Users.
2. Expand Other Users and find the user HR. Right-click and select Edit
User. Verify that the account for HR is unlocked and the Password has not
expired, that is, the properties Account is Locked and Password Expired are
deselected. If either of these is selected, deselect them. You can change the
password for HR at this point too. It's good practice to modify the passwords
of the shipped sample schemas once you have unlocked them.
Now you are really ready to begin!
1. Once again, select Connections, right-click and select New Connection.
2. Give the connection a name (for example, HR_11g).
3. Provide the Username (HR) and a Password. If you are working on Oracle
Database 11g, be aware that passwords are now case sensitive.
4. Select the Save Password checkbox. This makes life easy while you are
working with SQL Developer. Passwords are stored in an encrypted file.
However, you should always be aware of saving passwords and possible
security implications this may have.
5. Use the Basic connection. This requires no more detail than the location
of the database and the SID, details you have.
6. Click on Test to test the connection.
7. Click on Connect.
Using basic commands in the SQL Worksheet
As soon as you connect to a user, SQL Developer opens an SQL Worksheet.
You may have started working with Oracle using the SQL*Plus command line,
or even the GUI window. Either way, you'd start with a selection of SQL*Plus and
SQL commands.
Enter the following into the SQL Worksheet:
DESC DEPARTMENTS
SELECT * FROM DEPARTMENTS;
Press the F5 key (or use the Run Script button).
Chapter 1
[ 23 ]
The output of both commands appears in the Script Output tab, which appears
below the SQL Worksheet (as seen in the previous screenshot). Both commands
are handled by a few simple clicks of the mouse in SQL Developer.
Select and expand the HR_11g connection in the Connections navigator. Expand
the Tables node and select DEPARTMENTS.
The DEPARTMENTS tab now opens, displaying a list of the column names
and details. These are the same details as given by the DESC (describe) SQL*Plus
command that you entered in the SQL Worksheet. It also provides additional detail,
such as the Primary Key and column comments.
Select the Data tab and notice that you now see the output from your second
command. These two tabs are included with a number of other tabs, each with
additional details about the DEPARTMENTS table. You would need to write a
number of SQL queries in order to get the additional detail from the data dictionary
if you were working in SQL*Plus.
Getting Started with SQL Developer
[ 24 ]
Select the EMPLOYEES table. Notice that the new table, EMPLOYEES, immediately
replaces the previous DEPARTMENTS table with its details. Select the Triggers tab,
and select one of the triggers. The trigger and related trigger detail is displayed in a
master-detail window:
Browsing and updating data
Return to the EMPLOYEES data by again selecting the Data tab. The data grid
that is displayed provides a variety of options. To get started with the data grid,
double-click on an item or field, such as the name of one of the employees, and
change it. Tab out of the field and notice that the change is applied to the data grid
and an asterisk (*) flags the record. Commit and Rollback buttons are available to
send the change to the database, or to undo your action. Roll back the changes.
Once again you get feedback, this time in the Data Editor log, as shown in the
following screenshot:
Chapter 1
[ 25 ]
Running reports
Select the Reports navigator and expand the Data Dictionary Reports node. Expand
the Table node and review the available reports. Expand Constraints and select the
Unique Constraints report. As you select the report, a dialog displays requesting
the Connection name. Select the connection you created, HR_11g, and click on OK.
An Enter Bind Values dialog now appears, requesting the table name as an input
parameter. Click on Apply to accept the default, which in this case, means all tables:
Getting Started with SQL Developer
[ 26 ]
Run the same report for any user by selecting the Connections
drop-down list on the right-hand side.
Navigating around SQL Developer
SQL Developer has a selection of windows, navigators, and tabs. On start-up,
you are presented with the main navigator toolbars and menus:
The two main navigators: Connections and Reports, are presented in a tabbed
window. These and other navigators, such as the Versioning Navigator, are
available through the main View menu. You can also open windows such as
Snippets, Recent Objects, and Find DB Objects using the View menu.
Any navigators that you open during a session, and that are
still open when you close the product, are automatically opened
when you restart the product.
Managing SQL Developer windows
With the exception of the SQL Worksheet and its associated tabs, all of the main
tabbed dialogs can be minimized or maximized and accessed while docked or
undocked. These menu controls are available through context menus in the tabs:
Chapter 1
[ 27 ]
You can rearrange tabbed windows by selecting and dragging the tab into place.
Once any window is minimized, roll your mouse over the minimized tab to display
a floating window that stays active while your mouse lies over it and rolls back
into place when you move off. This is very useful when working with temporary
windows such as Snippets and Find DB Object. The following screenshot shows
the floating window for the Snippets dialog. If you roll the mouse over the area,
you can work in the window (for example, navigating about until you have located
the snippet of code you are after, and then drag the code onto the worksheet). The
window will minimize out of the way once you have moved off it.
You can undock the floating window, move it off to one side, and keep it undocked
while you work with the SQL Worksheet. In a dual-monitor setup, you can drag the
floating window onto one monitor, while working with the SQL Worksheet on the
other monitor.
Getting Started with SQL Developer
[ 28 ]
Tiling windows
Once you start working with connections, you have more windows and tabs to deal
with, especially if you have more than one connection created. Select the HR_11g
connection created in the previous section, expand the connection and Tables node,
and select EMPLOYEES. In the table definition window, select the pin button, as
shown below, to freeze the view.
Now, select the DEPARTMENTS table. A second table definition window opens
to display the details from the new table. Select the DEPARTMENTS tab and drag
it down to the lower portion of the screen. Notice the shape of the dragged object
change as you drag it slightly to the left, to the center, and the lower portion of
the window. Each of the shapes represents a different layout position. Release the
mouse to secure the new position. The screenshots, which follow, display two of
the available positions:
Chapter 1
[ 29 ]
Splitting documents
When you tile windows, you can compare the details of two tables. However, as each
table has a selection of tabs, it's useful to be able to review details in the tabs without
having to switch back and forth between tabs. As is true for other layout features,
you can split the document using a menu, or by drag-and-drop. Each of the object
definitions tabbed displays has a drag bar on the top and bottom right that you can
select and drag to split the window horizontally, or vertically:
Maximizing detail
Almost all of the tabs in SQL Developer will maximize when double-clicked. There
are a few that do not follow this rule, such as the tabs related to the SQL Worksheet.
In general, this works for top-level tabs, which is any tab you can undock and move
about, and not for secondary tabs. To maximize a tab, double-click on the tab. A
second double-click will reverse the process.
Double-click on the tab to maximize a top-level tab.
Double-click again to revert to the previous layout.
Getting Started with SQL Developer
[ 30 ]
Resetting the window layout
If you move your windows about a great deal, you may find that you want to get
things back to the default settings.
The example in the following screenshot displays the standard docked Connections
and Reports windows to the left. We have also opened the Versioning Navigator,
which by default docks below the connections. We have also docked the Snippets
window to the right. These windows fill the columns to the left and right, leaving a
central window for the editors and log files.
Chapter 1
[ 31 ]
The layout is controlled by the window layout set in the preferences. Select
Tools | Preferences, under the Environment node in the tree select Dockable
Windows. The default layout, and the one that matches the example in the
previous screenshot, is shown in the following screenshot:
Each of the little curved arrows on the diagram is clickable, and as such controls
the positioning of the windows. Clicking on the arrow extends or contracts the area
taken up by the docked window.
Getting Started with SQL Developer
[ 32 ]
In our example, and in the default SQL Developer environment, there is no
full-docked window across the top of the screen. However, if you drag a window
into the docked position below the main tool bar, it would stretch across the screen,
as shown in the following screenshot:
If you find your windows are in a muddle, first verify that the Dockable Windows
layout is what you want, and then drag the various dockable windows back into
place. Some suggestions on the SQL Developer forum are to remove the system
folder (it works, but that's an extreme solution).
Finding more help
SQL Developer has a site on the Oracle Technology Network, http://www.oracle.
com/technology/products/database/sql_developer/index.html. This provides
links to current and past magazine articles, white papers, and team blogs. It also has
links to brief product demonstrations and longer hands-on exercises.
Chapter 1
[ 33 ]
There is an active user forum on OTN, http://forums.oracle.com/forums/
forum.jspa?forumID=260, which is monitored by the development team and
end users.
The SQL Developer Exchange, http://sqldeveloper.oracle.com, is a site where
anyone using SQL Developer can log feature requests and vote on other requests
already posted. In addition to posting feature requests, the site hosts reports and
code snippets.
Summary
You've started and should now have SQL Developer installed. You should have a
few connections created and an initial idea of how to navigate around the product.
You are now set to learn a lot more about SQL Developer. From here you can dip
into different chapters, focusing on the areas you're most interested in.
In the next chapter, we'll show you how to browse different types of objects, and use
SQL Developer to look at them in greater detail. We'll review the different editors
and dialogs available and how you can manage what you see using preferences.
We'll also show you the different ways you can create objects and how to manipulate
the data.
Browsing and Editing
Database Objects and Data
Those developers, who access the Oracle database regularly, typically spend the
bulk of their time querying, creating, and updating database objects and data. There
are those who only need to browse the objects and see how they relate to each other,
while others create and update the objects, and many only query and manipulate
the data. SQL Developer provides an intuitive user interface that supports all of
these activities, which makes accessing and updating database objects and data a
point-and-click activity. In this chapter, we look at the broad choices offered by SQL
Developer, by reviewing the available browsing, creating, and updating features.
Browsing objects
Whether you are about to embark on new development, modify existing objects, or
just want to see what's in your database, you are likely going to start by browsing
the schema or schemas you have access to. Technically, you are querying the Oracle
database, and so many of the actions in this chapter, such as using a menu to drop a
table, or a dialog to create a new table with columns and constraints, can be done by
writing the SQL in the SQL Worksheet or SQL*Plus. By using the functionality the
tool provides, you can quickly complete a multitude of tasks. In SQL Developer, you
use the Connections navigator to browse (or query) the database objects. To follow
the examples in this section, you need to create database connections for the sample
schemas HR and OE. You will also need access to SYSTEM, or a user capable of
granting privileges to other users.
Browsing and Editing Database Objects and Data
[ 36 ]
Working with the Connections navigator
Objects are grouped into nodes in the Connections navigator to reflect their types.
They are ordered by most commonly used with Tables, Views, and Indexes, at the top
of the list. You can refer to the following screenshot to see the grouping, order, and
some of the currently available types displayed in the Connections navigator. The
selection of browsable object types available increases with each release as the SQL
Developer team adds support for more features. For example, Queues and Queues
Tables were introduced in Oracle SQL Developer 1.5, and Jobs were added in SQL
Developer 2.1.
Chapter 2
[ 37 ]
Opening connections
To open a connection in the navigator:
1. Double-click the connection.
2. Expand the node.
3. Select Connect from the context menu.
The first time you connect to a database schema, whether you open an existing
connection or click on Connect in the New Database Connections dialog, SQL
Developer automatically expands the connection in the Connections navigator and
opens a SQL Worksheet. This automatic opening of the SQL Worksheet is controlled
by a preference: Open a Worksheet on connect. Select Tools | Preferences, expand
the Database node and select Worksheet.
Reconnecting users
When doing administrative work with users, it can help to
disconnect the user you are working with before making the changes,
and reconnect them afterwards. Some actions, such as dropping users
or renaming connections, will not be possible without first disconnecting
the connection.
Database schema or user?
The Oracle Concepts Guide states,
"A schema is a collection of database objects. A schema is owned by a
database user and has the same name as that user."
Throughout the text, we use schema and user interchangeably. For the
most part, we refer to the OE and HR schemas, meaning the collection of
database objects. When closely or directly related to an activity we use
"user", as the code does this. For example, DROP user HR cascade; a
piece of code that drops all of the objects in the schema and the user itself.
Browsing and Editing Database Objects and Data
[ 38 ]
Working with objects
To work with any object, select and expand the node. The most common node you'll
work with is the Tables node. This displays all of the tables the user owns (all of
the tables in the schema). Each of the object nodes is identified by an icon, and the
Tables node highlights some of the main table types using these icons. Not all are
singled out, but the more commonly used ones are. If you expand the HR Tables
node, the COUNTRIES table, which in the sample is an index-organized table,
is identified by the slightly different table icon used. Partitioned tables are also
distinguished from regular, simple tables using icons. The following screenshot
displays the index organized, regular, external, partitioned, and temporary icons:
Filtering objects
Using the HR and OE schemas is useful for illustrating various features within SQL
Developer. They do not reflect reality, where you'd typically be working with many
more objects or sets of objects, within a schema or across schemas, and the mere act
of expanding a node exposes a long and possibly unworkable list of objects. SQL
Developer provides filtering for each object type, which allows you to control the
display of objects.
To use the filter, select an object node, such as Tables, and select Apply Filter… from
the context menu.
Depending on the object node selected, the choice of filter criteria varies. An
important feature to note is the Include Synonyms checkbox, available for tables and
views. All object nodes will only display those objects that belong to the schema. If
one schema has access to the objects in another schema, you can create synonyms for
those objects and, using the filter, have them display in the object node. Without the
filter, you need to use the Other Users node to see the objects in another schema.
Chapter 2
[ 39 ]
In the previous screenshot, the Filter dialog is for tables. For all object filters, you
can add multiple selections as shown and select the options:
• Match Any
• Match All
The filter criteria provides lists of choices. In the first for the column, values such
as CREATED and LAST_DDL_TIME, and for the operator, values such as LIKE or <>.
Prior to SQL Developer 2.1, the column drop-down list displayed only four choices.
These four choices have since been expanded to provide greater control of the
objects displayed.
In SQL Developer 2.1, the underlying query no longer includes
the restrictions defined in earlier releases. For example, there is no
longer the restriction ALL_OBJECTS.GENERATED = 'N', which means
that your list of tables also includes generated tables. If you tend not to
work with these objects, then applying only that filter is worthwhile.
Browsing and Editing Database Objects and Data
[ 40 ]
Schema level filtering
To avoid needing to apply a schema at the level of each object type in the browser,
you can set a schema filter. This is particularly useful if you enforce a naming
standard that requires all objects to have a prefix or suffix to designate the
application or schema with which they are associated. Select Apply Filter… from
the database connection for the schema to invoke the dialog:
You can override the schema level filter using a filter at the object type level.
The object filter dialog includes an Override Schema Filter option.
Display editors
Once you have expanded an object type node in the Connections navigator, selecting
any object in that node opens a window of tabs, called display editors, which define
the object. Each editor displays a data grid of details describing the selected object.
These are based on queries against the data dictionary and you can get the same
results by writing the SQL yourself.
The number and types of editors displayed will vary depending on the object or
database that you are connected to. If you are connected to Oracle Database 11g,
then an additional Flashback editor displays with the other table display editors.
The Partitions tab is permanently displayed from SQL Developer 2.1.
Chapter 2
[ 41 ]
General display editors
Instead of itemizing each of the object types and the different collections of display
editors, we'll use the Tables node to review some of the display editor details.
Using the HR connection, select EMPLOYEES in the Tables node to see the general
display editors:
The Columns editor displays all of the column detail, including column comments.
To get a feel for queries that run behind the editors, run the following query in the
SQL Worksheet:
SELECT COLUMN_NAME,DATA_TYPE
FROM ALL_TAB_COLUMNS
WHERE TABLE_NAME ='EMPLOYEES'
AND OWNER = 'HR';
The output from the query matches the first two columns of the Columns display
editor (this is a simplified example). If you need to find out more information about
any object in the database, without a GUI tool, you need to start by querying the
data dictionary to determine which tables hold the metadata about your objects.
From there, you must decide what detail you need from these tables, in our example
it was the single ALL_TAB_COLUMNS table, and then write the join clause to query all
of the selected tables.
Browsing and Editing Database Objects and Data
[ 42 ]
There is a set of editors for each of the object types. For tables, these include
Constraints, Grants, Statistics, Triggers, and Partitions. The data in each data
grid is a result of a query joining a number of data dictionary tables. SQL Developer
provides a framework for you to create and add your own display editors. You
can do this with user extensions, which are discussed in the chapter on Extending
SQL Developer.
Some of the editors display master-detail output. To see the detail result set you
need to select an individual record in the master result set. The following screenshot
shows the EMP_NAME_IX for the EMPLOYEES table. By selecting the index, you
can quickly see that this index is made up of two columns:
To create the index using SQL, use the following query:
CREATE INDEX "EMP_NAME_IX" ON "EMPLOYEES" ("LAST_NAME", "FIRST_NAME");
Chapter 2
[ 43 ]
Working with the display editors
Each new object selected in the navigator replaces the last, regardless of object type
or connection, unless you click on the Freeze View pin button ( ) on the object
display. This locks the window and a new window opens with a new set of editors.
To see this feature in action, expand the HR Tables node. Select the EMPLOYEES
table and note the set of display editors. Now select the DEPARTMENTS table, and
note that it replaces the details of the EMPLOYEES table. Expand the Sequences
node and click through each of the sequences available. These now replace the tables
which were previously displayed. This replacing feature is very useful as it saves
screen real estate, and keeps the screen and work area uncluttered. However, it is
also very useful to be able to compare two sets of data, side by side. Therefore, by
selecting the Freeze View pin, each new object selected opens in a new window
and you can then tile the windows.
Freezing the Object Viewer
You can control whether each new object select opens a new set of
editors. Select Tools | Preferences, in the tree display, expand
Database. Next, click on ObjectViewer and select Automatically
Freeze Object Viewer Windows.
SQL Developer automatically opens the display editors as you click
on the object, or if you navigate down through the objects using
the keyboard. You can control this by changing the default Open
Object on Single Click behavior. Select Tools | Preferences, in the
tree displayed, expand Database, select ObjectViewer and deselect
Open Object on Single Click.
Browsing and Editing Database Objects and Data
[ 44 ]
Using the SQL display editor
The SQL editor is displayed at the end of the set of shipped display editors and is
available for most object types (any editors you create are added after the SQL editor).
The SQL editor displays the query required to recreate the object selected. When you
select the SQL editor, SQL Developer uses the package DBMS_METADATA to query the
database and return the SQL required for recreating the object selected. So, clicking on
the editor with a table selected displays the SQL (DDL) for that table.
Select the COUNTRIES table in the Connections navigator. The default display
provides the full CREATE TABLE SQL in a single statement as shown in the
following screenshot:
You can control the SQL output for tables by adjusting the parameters passed to the
DBMS_METADATA package. This is done by using the SQL Developer preferences in the
Tools | Preferences dialog, and by setting Database | ObjectViewer options. To
illustrate this, deselect Show Schema, Show Storage, and select Show Constraints
as Alter and then click on OK:
Chapter 2
[ 45 ]
Refresh the SQL editor to display the updated output. Notice how the schema prefix
"HR" is no longer displayed and the storage specifics are now excluded. This makes
it a very useful script to reuse on other databases, or for other schemas. You may also
like to create the tables with no constraints, add data, and then apply the constraints
subsequently:
Browsing and Editing Database Objects and Data
[ 46 ]
The Database | ObjectViewer preferences that you set are used to
format the SQL display editor code. These preferences also format
the SQL created by the Export DDL context menu for the table.
Working with the data grids
The contents of each display editor are displayed in data grids, which typically have
three or more columns of data within the grid. A few are two column name-value
pair data grids, such as the Details editor. The data in these grids is not editable
and merely reflects the details about the object or structure selected. There are two
exceptions. The first exception is the Data editor included with the set of display
editors for certain objects, such as tables and views. The Data editor displays the
instance data for a table and, depending on the object, this data can be edited and
the changes can be committed to the database. The second exception is new to SQL
Developer 2.1. This is the Code editor for PL/SQL objects, where you are placed into
a PL/SQL editor when you select the object.
Data grids throughout SQL Developer have context menus on the column's headings
and the data grid itself. You can control the layout and what data is displayed by
using these two context menus. For the remaining portion of this section we'll review
the various options on these context menus.
Controlling the column display
The easiest way to control the column order displayed in the data grid is to use
drag-and-drop. Select the column header and drag it to a new position. Alternatively,
you can select Columns… from the context menu on the column heading as shown
in the following screenshot:
Chapter 2
[ 47 ]
This invokes the Manage Columns dialog, which supports reordering of columns.
The same dialog also supports the ability to selectively hide and show columns.
Regardless of how you reorder or change the display of columns, the new column
order remains in place when you close and reopen the display editor, as well as if you
close SQL Developer. Along with the other display settings, this value is persisted
until you actively change the setting or clear the settings by selecting Delete Persisted
Settings… from the same context menu displayed in the earlier screenshot.
The column headings also provide a context menu to Auto-Fit selections. This allows
you to resize the column based on the header or the contents of the column. There is
also a Best Fit option, which uses a combination of these. Using Ctrl or Shift+select,
you can select multiple columns and apply these conditions to all of the columns.
An additional Fit Screen option is available to ensure all of the columns fit within
the extent of the display area.
Clearing object display settings
You can clear all of the persisted display settings, including
column widths and order using a preference. Select Tools
| Preferences. Expand Database in the tree and select
ObjectViewer. Click on Clear.
Sorting the data
With the exception of the two column name-value pair displays, you can sort the
records displayed by double-clicking on most of the column headings. This is true
for all of the data grids throughout SQL Developer. Columns that allow for sorting
display this icon to the left of the column header. You can also perform multiple
column sorts by selecting Sort… from the column header context menu. The
following screenshot displays the detail of placing two sort settings on the data grid:
Another Random Scribd Document
with Unrelated Content
Colonel Folsom. The test form was Department of the Army,
Adjutant General's Office, PRT-157. This is merely the test series
designation.
Now, under "understands" the scoring was minus 5, which
means that he got five more wrong than right. The "P" in
parentheses indicates "poor." Under reading he achieved a score of
4, which is low. This, again, is shown by the "P" in parentheses for
"poor."
Mr. Ely. This 4 means he got four more questions right than
wrong?
Colonel Folsom. This is correct.
And under "writes" he achieved a score of 3, with "P" in
parentheses, and this indicates he got three more right than he did
wrong.
His total score was 2, with a "P" in parentheses meaning that
overall he got two more right than wrong, and his rating was poor
throughout.
Mr. Ely. Page 7 also summarizes the results of the battery of
classification and aptitude tests taken by Oswald upon his entry into
the Marine Corps, specifically on October 30, 1956. This battery was
composed of six examinations.
Oswald's scores I see range from as low as 92 to as high as 125.
Could you, Colonel, tell us about these six categories, what they
are, and what Oswald's scores in each of them means?
Colonel Folsom. Yes. I will take this in sequence.
The "RV" indicates reading and vocabulary, and the score,
Roman numeral II-125 indicates that he was in the second category.
Categories throughout the test battery run from I to IV, with IV
being the highest.
The abbreviation "AC"—arithmetical computation—and the score
Roman numeral III-108, indicates that he dropped into the third
class.
"AR" is arithmetical computation, Roman numeral III-90,
indicates that he was at the bottom of the Grade 3 in this area.
"PA" indicates pattern analysis, Roman numeral III-94 indicates
that he was the bottom portion of the third group in this category.
Now, these four areas are grouped into a general classification
test score, the abbreviation "GCT" represents that definition. And as
a result of Oswald's composite scores, he was graded as a Grade 3,
Roman III-103. At that time, the Marine Corps average, I believe,
was 107.
Mr. Ely. Would you explain the one designated "RCT"?
Colonel Folsom. The abbreviation "RCT" is—represents radio code
test. There are three scores in this, ranging from one to three, with
one being the highest. The minimum, or the range in Grade III is
from 90 to 109. As Oswald achieved 92, he was in the bottom,
practically, of Group III.
Mr. Ely. Which is the lowest group.
Colonel Folsom. Which is the lowest.
Mr. Ely. Now, directing your attention to page 8, which is a
summary court memorandum: this relates, I believe, to his first
court-martial, and in general is self-explanatory. I want, however, to
ask you about one sentence which to me seems to be in error.
According to the notation made here on page 8, under the title
"Convening Authorities Action Dated," it states that that part of
Oswald's sentence confining him at hard labor for 20 days would be
suspended "for 6 months at which time, unless the suspension is
sooner vacated, the sentence to confinement at hard labor for 20
days will be remitted without further action."
However, turning our attention down to Section 11, page 8, it
was noted that on June 27, 1958, which would be the time of his
second court-martial, "Confinement at hard labor for 28 days
vacated on June 27, 1958."
So the way it is worded it says that the confinement would be
vacated. Am I correct in assuming, Colonel, that what it really means
to say is that the suspension of the sentence was vacated?
Colonel Folsom. This is correct.
However, there appears to be an error here, since the original
sentence was for 20 days, and not 28 days, as shown under the
subject entry.
Mr. Ely. Right.
So I suppose we have a typographical error, substituting 28 for
20 and we also have a misleading sentence in that it implies that the
sentence was vacated rather than that the suspension of the
sentence was vacated.
Colonel Folsom. This is correct.
Mr. Ely. However, Colonel, what did happen is that when he was
court-martialed the second time, they then sentenced him to both
the sentence for the second court-martial and at that time gave him
the sentence that he received in connection with the first court-
martial?
Colonel Folsom. Well, that portion of it—unexecuted portion of
the first sentence.
Mr. Ely. That is correct. Thank you.
On page 9 of the exhibit we have some records relating to the
second court-martial. At this point, again, I think the page is in
general self-explanatory. However, under the section marked
"Findings" on each charge, and specifications, there is the notation
that on Charge II he was found not guilty, and then it goes on to
say, "On specification of" Charge I. Am I correct in thinking that is a
typographical error and that it should be that on the specification of
Charge II, he was found not guilty?
Colonel Folsom. That is correct.
Mr. Ely. So the record should read, on page 9, that Oswald was
found guilty on Charge I, which was a violation of Article 117 of the
Uniform Code of Military Justice. Similarly he was found guilty on the
specification under Charge I, which was wrongfully using provoking
words to a staff noncommissioned officer. However, on Charge II,
which was a violation of Article 128 of the Uniform Code of Military
Justice, he was found not guilty, and he was similarly found not
guilty on the specification of that charge which was assaulting a staff
noncommissioned officer by pouring a drink on him.
Colonel Folsom. This is correct.
Mr. Ely. Turning now to page 10 of the exhibit, the title of which
is "Administrative Remarks" I note entries dated April 14, 1958,
indicating that a request for an extension of Oswald's overseas tour
had been received and approved.
Must such a request come from the marine whose overseas tour
is involved?
Colonel Folsom. Yes. This must be a voluntary request from the
individual concerned.
Mr. Ely. In other words, then, Oswald wanted to stay overseas
longer than he was scheduled to have been over there?
Colonel Folsom. Yes.
Mr. Ely. I note, also, on page 10 that this extension which had
been approved was later canceled, on July 13, 1958.
Is there any way of determining from this record what the
reason for this cancellation was?
Colonel Folsom. No; other than knowledge of the system, which
indicates that the local commander withdrew his approval of the
extension as a result of the disciplinary action.
Mr. Ely. So we might guess that because this followed his second
court-martial, that was the reason?
Colonel Folsom. Yes; and it followed it very closely.
Mr. Ely. Now, we will move all the way over to page 26, and I
want to ask you about only one entry here—actually it is two entries
relating to one event.
On January 19, 1959, the record discloses that Oswald departed
El Toro for Yuma, Arizona, and that on January 26, 1959, he
returned to El Toro from Yuma.
Is there any way of telling from this record for what purpose he
went to Yuma?
Colonel Folsom. Yes. The record shows that he departed MCS,
MCAS, El Toro, for ADEX, 1-59, which is a designation for an air
defense exercise, the first one held during 1959.
Mr. Ely. Turning to page 27, I just want to clear up one detail
that might be confusing to somebody who has been in the Army
rather than in the Marine Corps.
It is here noted that Oswald was, at least for part of his career,
private, first class, and at the same time his pay grade was "E-2".
Am I correct in asserting that in the Marine Corps a private is an E-1,
a private first class is an E-2, your E-3 is a lance corporal, and your
E-4 is a corporal?
Colonel Folsom. This is correct. This is under the new rank
structure.
Mr. Ely. Turning now to page 36 of Folsom Deposition Exhibit 1, I
want to ask you about only one abbreviation here. This is one that is
indicated for both the periods June 27, 1958 through June 30, 1959
and July 1, 1958 through July 24, 1958. It is an abbreviated CNF
SSCM. What does that stand for?
Colonel Folsom. Confined, serving sentence—it should be
summary court-martial, but let me look at the record.
Mr. Ely. You mean there should be three "S's"?
Colonel Folsom. I just want to be sure somebody didn't goof and
ring a special in here.
Yes—serving sentence, summary court-martial.
Mr. Ely. Turning now to page 106 of the exhibit, we have here a
document relating to the high school level general educational
development tests which were taken by Oswald on March 23, 1959.
Page 106 reports the scores received by Oswald on each of these
five tests, and also converts each score into a so-called United States
percentile.
However, it does not make clear what the five areas in which
Oswald was tested were. Could you tell us what they are?
Colonel Folsom. Yes. The high school "GED" test covers five
areas. One, English literature; two, English composition; three, social
sciences; four, physical sciences; five, mathematics.
Mr. Ely. Is it the case that those five that you have just read off
were read in the same order as they are numbered on the score
sheet?
Colonel Folsom. Yes. The battery is administered in the sequence
in which it appears on the report.
Mr. Ely. And am I correct in asserting that on this test Oswald
received a rating of satisfactory?
Colonel Folsom. This is correct. I believe USAFI rates as
satisfactory or unsatisfactory.
Mr. Ely. Right.
Well, that is not entirely clear. We have a rating code printed in
the lower right-hand corner.
Colonel Folsom. Well, they have two passing ones—satisfactory,
and "D" with distinction, and "U", unsatisfactory.
Mr. Ely. So he could have received a higher rating than he did?
Colonel Folsom. This is correct.
Mr. Ely. Finally for this document, turning to page 120, we have
a rather imposing score sheet which relates Oswald's scores while he
was in training at Jacksonville, Florida. Could you explain the
meaning of these numbers insofar as you can?
Colonel Folsom. Well, the first column indicates the number of
hours devoted to the subject. In the first instance, 37 hours to
mathematics, two examinations were given, he achieved a score of
67 on the first and 54 on the second.
The last—the next column indicates his average score for that
subject.
Twenty-five hours physics, score, 75 and 77.
Mr. Ely. Excuse me. Do you know whether those scores you just
read are on a scale of 100?
Colonel Folsom. I do not know. But from the mathematics I
would assume they are, particularly since they say that 62 is a
passing score.
Mr. Ely. I see.
Now, getting back again to the column which is second from the
right, which you say represents his average. It is his average on the
previous test carried out to three digits without the decimal point.
Colonel Folsom. That is correct. This report was prepared on an
electric accounting machine, and is a little difficult to interpret.
Mr. Ely. Yes. But I do see that that makes sense in terms of the
individual scores.
Colonel Folsom. Do you want to go through all of these?
Mr. Ely. No; I don't think that will be necessary, now that you
have explained the principle by which the scores are recorded.
Colonel Folsom. Under the heading "Indoctrination Test Scores"
this is a test, an Army test battery, which in this instance was
administered by the Marine Corps at a Navy installation. It consists
of a reading and vocabulary, arithmetic computation, arithmetical
reasoning, and pattern analysis. The "GC" is an abbreviation for
"GCT".
These are raw scores.
Mr. Ely. The ones designated RV, AC, AR, and PA?
Colonel Folsom. And the scores indicated are raw scores, which
converted to the Marine Corps scoring on the general classification
test shows that Oswald achieved a score of 105 on this test battery,
and a score of 106 on the Marine Corps test batter. So the
correlation is quite close.
The column headed "B" indicates year of birth. And the "G"
column indicates the number of years of schooling—in this case,
nine.
Mr. Ely. All right.
Colonel, I would finally like to show you a document which has
already been introduced in evidence before the Commission in
connection with the testimony of Marguerite Oswald. It is, therefore,
designated Exhibit 239.
This exhibit is a photostatic copy.
Could you tell us, Colonel, of what it is a photostatic copy?
Colonel Folsom. It is a Photostatic copy of the U.S. Marine Corps
Scorebook for use with the U.S. Rifle, Caliber 30 M-1.
Now, this scorebook is issued to each individual at each time
they are sent on the rifle range for qualification or requalification.
They are maintained by the individual and are used to provide
the individual with a record of the idiosyncracies of the weapon, and
the weather on the day that the entries are made. This is referred to
in the Marine Corps as the zero of the rifle, because the sight
settings are individual characteristics of the particular rifle used. That
is, he may—this rifle may require a half a point more windage under
the same wind velocity than another rifle, and that the scale by
yards may require adjustment depending upon the range that is
being fired.
Mr. Ely. This book, then, is used by the individual Marine prior to
his firing for record in order that he can zero his weapon so that he
will do well on his record firing?
Colonel Folsom. This is the purpose. And it should be maintained
even on the day that he fires for record.
In this particular record, it would appear that the entries were
rather limited. As a matter of fact, it was not adequately maintained
for the purpose for which it was designed.
Mr. Ely. Is it possible, Colonel, to tell anything from this
scorebook, assuming for the moment that it was accurately
maintained, concerning the marksmanship of Lee Harvey Oswald?
Colonel Folsom. Well, yes. But very generally. For instance, at 200
yards slow fire—on Tuesday, at 200 yards slow fire, offhand
position——
Mr. Ely. You are referring, are you not, to the page designated
22 in Oswald's scorebook?
Colonel Folsom. Right—well, 22 as opposed to 23. He got out in
the three ring, which is not good. They should be able to keep them
—all 10 shots within the four ring.
Mr. Ely. And even if his weapon needed a great deal of
adjustment in terms of elevation or windage, he still would have a
closer group than that if he were a good shot?
Colonel Folsom. Yes. As a matter of fact, at 200 yards, people
should get a score of between 48 and 50 in the offhand position.
Mr. Ely. And what was his score?
Colonel Folsom. Well, total shown on page 22 would be—he got a
score of 34 out of a possible 50 on Tuesday, as shown on page 22 of
his record book.
On Wednesday, he got a score of 38, improved four points.
Do you want to compute these?
Mr. Ely. I don't see any point in doing this page by page.
I just wonder, after having looked through the whole scorebook,
if we could fairly say that all that it proves is that at this stage of his
career he was not a particularly outstanding shot.
Colonel Folsom. No, no, he was not. His scorebook indicates—as
a matter of fact—that he did well at one or two ranges in order to
achieve the two points over the minimum score for sharpshooter.
Mr. Ely. In other words, he had a good day the day he fired for
qualification?
Colonel Folsom. I would say so.
Mr. Ely. Well, Colonel, as far as I can see, that is all the
testimony that we need from you with regard to these records. No
doubt there are ambiguities in the records which I have not caught.
I have asked you about the ones that seemed most confusing to me.
Can you think of anything else that you would like to add for the
record?
Colonel Folsom. No; I believe that the record is rather complete.
There are no missing documents from this official record. The
photostatic copy contains everything that is in the original record.
And I do not believe that there are any discrepancies, other than
those clerical errors which have been noted on such items as the
summary court-martial records.
Mr. Ely. But you cannot think of any errors which we did not
mention during your testimony today?
Colonel Folsom. No; I do not.
Mr. Ely. All right.
In that case, Colonel, on behalf of the Commission, I want to
thank you very much for giving your testimony. It has been very
helpful.
TESTIMONY OF CAPT. GEORGE
DONABEDIAN
The testimony of Captain George Donabedian was taken at 2:15
p.m., on May 1, 1964, at 200 Maryland Avenue NE., Washington,
D.C., by Mr. John Hart Ely, member of the staff of the President's
Commission.
Mr. Ely. Will you stand and be sworn?
Do you solemnly swear that the testimony you are about to give
will be the truth, the whole truth, and nothing but the truth, so help
you God?
Captain Donabedian. I do.
Mr. Ely. Please be seated.
My name is John Ely. I am a member of the legal staff of the
President's Commission on the Assassination of President Kennedy.
Staff members have been authorized to take the testimony of
witnesses pursuant to authority granted to the Commission by
Executive Order No. 11130, dated November 29, 1963, and joint
Resolution of Congress No. 137.
Under the Commission's rules, each witness is to be provided
with a copy of the Executive order of the joint resolution, and a copy
of the rules that the Commission has adopted governing the taking
of testimony from witnesses.
Is it correct that I have provided you with copies of these
documents?
Captain Donabedian. Yes.
Mr. Ely. Under the Commission rules, also, each witness is
entitled to 3 days' notice before he is required to come and give
testimony.
You were not given 3 days' notice.
However, each witness can waive that notice requirement if he
wishes, and I assume by your presence that you are willing to waive
that notice requirement.
Captain Donabedian. I do.
Mr. Ely. Would you state your full name, please?
Captain Donabedian. Captain George Donabedian, Medical Corps,
U.S. Navy.
Mr. Ely. And what position exactly do you hold?
Captain Donabedian. Staff medical officer, Headquarters, U.S.
Marine Corps, Washington, D.C.
Mr. Ely. You are an M.D., is that correct?
Captain Donabedian. Yes; I am.
Mr. Ely. How long have you held the position of staff medical
officer?
Captain Donabedian. Since July 1959.
Mr. Ely. Prior to the assassination of President Kennedy, had you
ever heard of Lee Harvey Oswald?
Captain Donabedian. No; I had not.
Mr. Ely. You, like Lieutenant Colonel Folsom, were called in to
give us some help in interpreting the records of Lee Harvey Oswald
—in other words, your testimony does not stem from any personal
contact with the man.
Captain Donabedian. Right.
Mr. Ely. I will show you now a document which I have just
labeled "Donabedian Deposition Exhibit No. 1."
(The document referred to was marked "Donabedian Deposition
Exhibit No. 1" for identification.)
Mr. Ely. Doctor, could you tell us generally what this document
is?
Captain Donabedian. This is taken from the health record of the
marine.
Mr. Ely. It is, in other words, a photostatic copy——
Captain Donabedian. A photostatic copy of a medical document
which each military person has. We have the physical examinations
on entrance, and any other illnesses that he may develop during his
service, which diseases are recorded and the treatments are
recorded, and the inoculations he receives.
Mr. Ely. I have numbered the pages of this exhibit in the upper
right-hand corner. Because it was previously part of a larger
document, Commission Document 82, the pagination of Donabedian
Deposition Exhibit No. 1 runs from 132 through 171.
Doctor, I would like, first, to refer you to an entry made on page
147 of this exhibit, and dated July 12, 1958.
Could you explain it?
Captain Donabedian. "Bleeding from the rectum. For the past 1
month has noticed bleeding on paper after bowel movement. This
a.m., one to two drops bright red blood dropped into stool. Bowel
movement light brown and very hard. Examination."
Mr. Ely. The copy at that point becomes illegible.
Captain Donabedian. "Slight irritation and moderate." Anyway,
they gave him treatment with mineral oil.
Mr. Ely. And what was the overall diagnosis?
Captain Donabedian. Hemorrhoids was the diagnosis.
Mr. Ely. And what did you say the treatment was?
Captain Donabedian. The treatment was mineral oil, rectal
suppository.
Mr. Ely. All right. I would like to show you now an entry which is
on page 40, but which is chronologically later than the one to which
we just referred, and that is the entry dated——
Captain Donabedian. 10-6-57. "Urethritis acute. Nonvenereal."
Mr. Ely. Before we get into that, could we discuss the entry of
10-10-58?
Captain Donabedian. "Sigmoidoscopy." I don't know what this
number is, unless the number of the procedure. They discharged
this man on 10-13-58.
Mr. Ely. Do you believe that relates to the hemorrhoids?
Captain Donabedian. He may have had some trouble with the
lower bowel, or possibly some more bleeding, and they looked inside
the rectum and the sigmoid to determine if there was any cause of
the bleeding.
Mr. Ely. I would like at this point to refer you to pages 152
through 156 of this exhibit.
I shall let you proceed to explain what these mean without
questioning.
Captain Donabedian. On 9-10-58, slight burning on urination. "Has
urethral discharge."
Mr. Ely. Well, if you cannot read it, there is no point——
Captain Donabedian. Then they took a smear.
Mr. Ely. What is the purpose of a smear?
Captain Donabedian. A smear is to diagnose the cause of the
infection, the cause of the discharge, to see what type of bacteria
was present.
And on 9-23-58, report of a urethral discharge sensitivity test. A
culture was taken and reported staphylococcal hemolytic. And the
sensitivity test to determine what drug we have that will affect that
particular bacteria that is causing this. And erythromycin was the
drug of choice.
On page 154, on 16 September 58 he evidently went to one of
the outlying dispensaries, and they said "Send to the mainside for
smear," which means he was sent to the mainside dispensary to get
the smear taken.
September 1958, the complaint was urethral discharge. They
sent him to the lab for a smear.
And here it says, "Gram negative, diplococci intra- and extra-
cellular morphological resembling neisseria gonococci."
Mr. Ely. Could you tell us, Doctor, generally, what that means?
Captain Donabedian. Well, this resembles the gonococcus bacteria
which causes gonorrhea. And it says here morphologically
resembling this germ—since the only legal diagnosis would be to
have a culture made to prove this or disprove it.
And here for his treatment they gave him penicillin, it looks like
400,000 units, four times a day, for 3 days, and said "Return on
Monday in the p.m., for a repeat smear."
Then on September 30, 1958, "Still has profuse discharge,
somewhat clearer, received course of penicillin ending 2 days ago."
In other words, he had finished getting his penicillin. So for this
profuse discharge, they treated him with chloromycetin capsules,
one, four times a day, and return Monday for smear and culture.
Then on September 22——
Mr. Ely. I believe the last item was September 20.
Captain Donabedian. Then September 22, 1958, urethral
discharge, and it says "September 23" underneath—"urethral
discharge, smear and culture."
The smear showed many pus cells, no organisms noted. The
culture showed micrococcus pyogenous vas aurens. This is the type
of bacteria that gives a dark-greenish color discharge.
Mr. Ely. Does either the results of the smear or the results of the
culture say anything about whether or not Oswald had gonorrhea, or
can we tell?
Captain Donabedian. Not in this one.
The one above here, we assume he had gonorrhea—on the
16th.
Mr. Ely. We would assume he had it, even though, as you
pointed out, you could not prove it in court, because it was
determined by a smear rather than a culture?
Captain Donabedian. Most of the doctors use this. They may take
a smear, and they find that—intra and extracellular diplococci, they
treat the patient for gonorrhea.
Now, the treatment for his micrococcus pyogenous is "continue
chloromycetin," I guess it is four times a day. Yes; it was four times
a day. And then continue four times a day. And something was
given. And they wanted him to return again. I cannot tell what this
is. Instructions, probably. Some instructions were given.
On September 29, 1958, the complaint was urethral discharge.
They took a smear. And that was—"many pus cells were noted, no
organisms were noted."
The note underneath is "good response to therapy, has been
doing much heavy lifting." They must have given him light duty for 3
days. "To repeat smear, 1 week."
October 6, 1958, the complaint was urethral discharge. They
took a smear. The report was "moderate amount of pus cells, few
gram positive cocci."
This is not gonorrhea. "Heavy discharge with occasional burning.
Has been doing heavy lifting recently."
"Some heavy discharge with occasional burning of the
urination"—although this says dysurea—"has been doing heavy
lifting recently."
October 24, 1958, the complaint was urethral discharge, and
they gave him pyridium, one tablet five times a day—one gram five
times a day.
No—"return in 5 days."
They just gave him pyridium, and "d" means to duty, and return
in 5 days.
"Smear, few pus cells, some mucus threads noted, occasional
gram positive cocci noted."
The next date is hard to tell. Something—"qid for for 5 days."
The next thing is hard to tell.
Mr. Ely. All right. That entry is illegible.
Captain Donabedian. Page 156. He was admitted to the sick list,
9-16-58, diagnosis, "urethritis acute due to gonococcus." This is No.
0303. And in handwriting——
Mr. Ely. That is my handwriting, so we will disregard that.
Captain Donabedian. The chief complaint is urethral discharge.
"Present illness. Patient complains of a slight discharge and a
stinging sensation on urination. Past history—previous venereal
disease. Physical examination, essentially negative, except for thick
mucco burn discharge from the urethra. Laboratory. Smear reveals
gram negative intra- and extra-cellular diplococci having a
morphology resembling gonorrhea."
Unless they took a culture to grow the germ out, they could not
absolutely be certain.
Mr. Ely. You mentioned that under this previous history column it
mentioned "previous VD." Does that mean that Oswald had had it
prior to this time?
Captain Donabedian. At another time, in his past, whenever that
would be. It could have been while he was in the service, although
we didn't notice in these records. But he could have had it before he
came in the service. VD could be any venereal disease. There are
five different kinds.
Mr. Ely. But you have not seen any reference in his medical
records to any prior case during his military career?
Captain Donabedian. No; except those that we reported within
those dates.
Treatment was procaine penicillin, 900,000 units, intramuscularly
for 3 days.
Now, you remember when we read the other report it looked like
400,000 units. It is most apt to be 900,000 units.
Mr. Ely. It should be noted page 156 contains typewriting rather
than handwriting as the other one did. And I believe this entry on
page 156 is something of a summary.
Captain Donabedian. This is a summary. He was admitted on 9-
16-58, and discharged on the same day. But they readmitted these
VD cases for statistical purposes, so we can keep track of how many
people have been in contact with this. And he was sent to duty
under treatment and observation.
Mr. Ely. Would it be fair to say, Doctor, summarizing your
testimony as to these few pages, that this looks, as far as we can
tell, like a typical case of gonorrhea?
Captain Donabedian. Yes; it does.
Mr. Ely. Nothing extraordinary about it? But it certainly does
seem that he did have gonorrhea at this point?
Captain Donabedian. Right.
Mr. Ely. These medical records also contain entries relating to the
gunshot wound received by Oswald in connection with the .22-
caliber pistol he had stored in his footlocker. I believe those entries
are self-explanatory. Also, in filling out his own forms on physicals,
Oswald made reference to a mastoid operation which he had had
when he was a child. This, also, I think, is something we don't have
to go into at this point.
Doctor, I will ask you, in conclusion, if you, in looking through his
medical records, have noticed anything which we have not
mentioned which seems to you extraordinary—anything over and
above the normal marine's complaints.
Captain Donabedian. No; not offhand. He had a sore throat, which
many boys have in the service. He had a cold. And he had one other
infection, otitis media, in 1957.
Mr. Ely. That reference appears at page 150.
Captain Donabedian. And they give him penicillin, 600,000 units, 5
days.
I see nothing else.
Mr. Ely. In that case, Doctor, we will thank you very much for
helping to explain these records for us.
Captain Donabedian. Thank you.
AFFIDAVIT OF JAMES ANTHONY
BOTELHO
The following affidavit was executed by James Anthony Botelho
on June 3, 1964.
AFFIDAVIT
PRESIDENT'S COMMISSION
ON THE ASSASSINATION OF
PRESIDENT JOHN F. KENNEDY
State of California,
County of San Benito, ss:
I, James Anthony Botelho, 820 West Alisal Street, Salinas,
California, being first duly sworn, depose and say:
That I served in the United States Marine Corps from January 8,
1957, to January 8, 1960. I served with Lee Harvey Oswald from
about March to September 1959, while we were both attached to
Marine Air Control Squadron No. 9, Marine Corps Air Facility, Santa
Ana, California.
Oswald once mentioned to me that he would like to go to Cuba
to train Castro's troops because of the money he would earn.
I shared a room with Oswald for approximately two months prior
to his discharge. He was unusual in that he generally would not
speak unless spoken to, and his answers were always brief. He
seldom associated with others.
Oswald subscribed to a newspaper printed in Russian, which I
believe he said was published in San Francisco. It was common
knowledge that Oswald had taught himself to speak Russian. Oswald
used expressions like "da" and "niet" around the squadron. Some of
his fellow Marines kidded him by calling him "Oswaldskovich". Once,
when I called him up "Oswald", he requested in a serious vein, that I
refer to him as "Oswaldskovich". At times Oswald referred,
seemingly seriously, to "American capitalist warmongers."
At times I discussed Communism and Russia with Oswald. My
impression is that although he believed in pure Marxist theory, he
did not believe in the way Communism was practiced by the
Russians. I was quite surprised when I learned that Oswald had
gone to Russia.
Generally, Oswald's uniforms were clean but not neat; they were
either unironed or sloppily ironed.
As far I know, Oswald seldom left the post. On one occasion he
and I went to a movie in Santa Ana; on other occasions we walked
around Santa Ana.
Although Oswald did a good deal of reading, I do not remember
what sort of books he read. We both enjoyed classical music. I still
have some of the classical records we purchased together. I recall
that he particularly enjoyed Tchaikovsky's "Russian War Dance".
Oswald played chess with both me and Call. Oswald was not a very
good chess player, although he was better than I was.
It was my impression that Oswald was quite intelligent. He
performed his job no better and no worse than the average Marine;
he made no effort to obtain perfection. His superiors had to "keep
after him" in order to get him to finish the job he had been
assigned. This surveillance made him all the more belligerent. In my
opinion, one was likely to get better results from him by treating him
politely.
I do not recall Oswald's engaging in any fights, except for
nonbelligerent recreation around the barracks.
It is my impression that Oswald's clearance was taken away from
him; for this reason, I believe he was made company clerk at Santa
Ana. I believe that before Oswald requested his hardship discharge,
the Sergeant Major was planning to take steps to "straighten Oswald
out."
Although Oswald may have drunk at times, I never observed him
to be intoxicated.
I do not remember Oswald's studying Spanish or German nor do
I recall any remarks concerning his religious beliefs.
I remember Oswald's having a date with a girl who spoke
Russian. I believe Oswald liked the girl a great deal, but he was for
some reason unable to get in touch with her thereafter. I have no
recollection of his receiving any visitors.
Signed this 3d day of June 1964, at San Juan Bautista, Calif.
(S) James Anthony Botelho,
James Anthony Botelho.
AFFIDAVIT OF DONALD PETER
CAMARATA
The following affidavit was executed by Donald Peter Camarata
on May 19, 1964.
AFFIDAVIT
PRESIDENT'S COMMISSION
ON THE ASSASSINATION OF
PRESIDENT JOHN F. KENNEDY
State of California,
County of Santa Cruz, ss:
I, Donald Peter Camarata, 601 Burlingame Avenue, Capitola,
California, being first duly sworn, depose and say:
That Lee Harvey Oswald and I were concurrently stationed at
the following military installations while we were both members of
the United States Marine Corps: Keesler Air Force Base in Biloxi,
Mississippi; the Marine Air Stations at El Toro and Santa Ana,
California, and possibly the Naval Air Station at Jacksonville, Florida.
Although I served in the Far East, Oswald and I were not in the
same unit at that time.
While in the Marine Corps, I heard from other Marines that
Oswald was studying Russian. I personally observed that Oswald
had his name written in Russian on one of his jackets, and played
records of Russian songs so loud that one could hear them outside
the barracks.
Either en route back to the United States or subsequent to my
return, I heard a rumor to the effect that Oswald had been in some
way responsible for the death of Martin Schrand. I have no personal
knowledge of any such involvement. I do not remember who told
me of this rumor, and am not even certain that I heard it from more
than one person.
Oswald seldom, if ever, left the post in the company of other
Marines. I would not characterize Oswald as an extremely unfriendly
person; he simply did not often choose to be with his fellow Marines
off post.
Oswald was not particularly prone to fighting. Although he
apparently resented the orders of his superiors no more than does
the average Marine, he was more outspoken than average in his
resentment. However, he generally followed such orders.
Although I have no firm impression of the level of Oswald's
intelligence, he was a man who attempted to make other people
believe he was intelligent.
I know from rumor that Oswald received a newspaper printed in
Russian. I was informed by my fellow Marines that one of his
superiors—either the First Sergeant or a Lieutenant—asked Oswald
why he read this paper.
I have no recollection of Oswald's studying or speaking either
Spanish or German: of any remarks on his part concerning
Communism, Russia, or Cuba: of his religious beliefs: of any
abnormal attitude toward women on his part; or of his receiving any
visitors.
Oswald was nicknamed "Oz".
Signed this 19th day of May, 1964, at Santa Cruz, Calif.
(S) Donald Peter Camarata,
Donald Peter Camarata.
AFFIDAVIT OF PETER FRANCIS
CONNOR
The following affidavit was executed by Peter Francis Connor on
May 22, 1964.
AFFIDAVIT
PRESIDENT'S COMMISSION
ON THE ASSASSINATION OF
PRESIDENT JOHN F. KENNEDY
State of Connecticut,
County of New Haven, ss:
I, Peter Francis Connor, 27 Flaum Drive, West Haven,
Connecticut, being first duly sworn, depose and say:
That, while I was in the Marine Corps, I was stationed at Atsugi,
Japan, with Lee Harvey Oswald.
Oswald had the reputation of being a good worker. I observed
that he was not personally neat. I remember that while Oswald was
in Japan, he wore an expert rifleman's medal.
I never heard Oswald make any anti-American or pro-Communist
statements. He claimed to be named after Robert E. Lee, whom he
characterized as the greatest man in history.
Although Oswald engaged in several fights—one of them with a
Robert Demurs—I have no recollection as to how good a fighter he
was.
Oswald did not choose to associate with his fellow Marines, nor
did they choose to associate with him. He often responded to the
orders of his superiors with insolent remarks.
I have no recollection to how much Oswald drank.
I was of the opinion that Oswald was intelligent. He read a great
deal, but I do not remember what sort of books he read.
Oswald was nicknamed "Harv." This was a shortened version of
his middle name; for some reason it upset him to be called by it.
I have no recollection concerning Oswald's religious beliefs, his
attitude toward women, or what he did off post.
Signed this 22d day of May, 1964, at West Haven, Conn.
(S) Peter Francis Connor,
Peter Francis Connor.
AFFIDAVIT OF ALLEN D. GRAF
The following affidavit was executed by Allen D. Graf on June
15, 1964.
AFFIDAVIT
PRESIDENT'S COMMISSION
ON THE ASSASSINATION OF
PRESIDENT JOHN F. KENNEDY
State of New York,
County of Erie, ss:
I, Allen D. Graf, 31 East Utica Street, Buffalo, New York, being
first duly sworn, depose and say:
That I served in the United States Marine Corps from 1948 to
1961. While stationed in California, I was Lee Harvey Oswald's
Platoon Sergeant.
Oswald often complained about the Marine Corps; he seemed to
me to resent all military authority. He also seemed narrow-minded,
refusing to listen to the views of others.
Once, at the rifle range, I had a long discussion with Oswald
concerning why he found it difficult to adapt to the Marine Corps. He
explained that his mother had had a great deal of trouble during the
depression and that when he was young, he had often not had
enough to eat. He felt that he had been forced to accept
responsibility at a premature age. He remarked that he was tired of
being "kicked around."
Oswald never gave to me any indication of favoring Communism
or opposing capitalism.
It was difficult to judge the level of Oswald's intelligence,
because he seldom stated his opinions. However, with regard to his
job in the Marine Corps, Oswald learned quickly.
Oswald went to a great many movies, and did not often engage
in sports.
It is my recollection that Oswald enjoyed firing a rifle, and
scored in the "high expert" range.
Oswald did not drink excessively, and kept his temper—if indeed
he had a temper—in check.
I have no recollection of Oswald's studying foreign languages; of
where he went when he had time off; of his reading habits or
religious beliefs; or of any nicknames for him. Nor do I remember his
having any dates.
Signed this 15th day of June, 1964, at Buffalo, N.Y.
(S) Allen D. Graf,
Allen D. Graf.
AFFIDAVIT OF JOHN RENE HEINDEL
The following affidavit was executed by John Rene Heindel on
May 19, 1964.
AFFIDAVIT
PRESIDENT'S COMMISSION
ON THE ASSASSINATION OF
PRESIDENT JOHN F. KENNEDY
State of Louisiana,
Parish of New Orleans, ss:
I, John Rene Heindel, 812 Belleville Street, New Orleans,
Louisiana, being first duly sworn, depose and say:
That I served in the United States Marine Corps from July 15,
1957, until July 15, 1961. I was stationed at Atsugi, Japan, with Lee
Harvey Oswald.
I recall that Oswald was often in trouble for failure to adhere to
rules and regulations and gave the impression of disliking any kind
of authority.
While in the Marine Corps, I was often referred to as "Hidell"—
pronounced so as to rhyme with "Rydell" rather than "Fidel." This
was a nickname and not merely an inadvertent mispronounciation. It
is possible that Oswald might have heard me being called by this
name; indeed he may himself have called me "Hidell." However, I
have no specific recollection of his either using or hearing this name.
Although I generally regarded Oswald as an intelligent person, I
did not observe him to be particularly interested in politics or
international affairs.
While in Japan, Oswald drank a good deal, at times becoming
intoxicated. He was willing to do so because he did not greatly care
whether or not he got back to the post on time.
Oswald did not often talk back to his superiors, but was likely to
complain about their orders when he was alone with his fellow
Marines.
Oswald generally went on liberty by himself; I therefore do not
know what his activities off post were.
I do not recall Oswald's being called by any nicknames.
Although our Marine Air Group was sent to Formosa for a period
of time, I am unable to remember Oswald's being there.
Signed this 19th day of May, 1964, at New Orleans, La.
(S) John Rene Heindel,
John Rene Heindel.
Welcome to our website – the perfect destination for book lovers and
knowledge seekers. We believe that every book holds a new world,
offering opportunities for learning, discovery, and personal growth.
That’s why we are dedicated to bringing you a diverse collection of
books, ranging from classic literature and specialized publications to
self-development guides and children's books.
More than just a book-buying platform, we strive to be a bridge
connecting you with timeless cultural and intellectual values. With an
elegant, user-friendly interface and a smart search system, you can
quickly find the books that best suit your interests. Additionally,
our special promotions and home delivery services help you save time
and fully enjoy the joy of reading.
Join us on a journey of knowledge exploration, passion nurturing, and
personal growth every day!
ebookbell.com

More Related Content

PDF
Download full ebook of Oracle Sql Developer Narayanan Ajith instant download pdf
PDF
Odpnet Developers Guide Oracle Database 10g Development With Visual Studio 20...
PDF
Soa And Wsbpel Composing Serviceoriented Solutions With Php And Activebpel Yu...
PDF
Essential SQL on SQL Server 2008 1st Edition Dr. Sikha Bagui
PDF
Big Insights v4.1
PDF
Essential SQL on SQL Server 2008 1st Edition Dr. Sikha Bagui
PDF
Database Programming With Visual Basic Net And Adonet Tips Tutorials And Code...
PDF
Essential SQL on SQL Server 2008 1st Edition Dr. Sikha Bagui
Download full ebook of Oracle Sql Developer Narayanan Ajith instant download pdf
Odpnet Developers Guide Oracle Database 10g Development With Visual Studio 20...
Soa And Wsbpel Composing Serviceoriented Solutions With Php And Activebpel Yu...
Essential SQL on SQL Server 2008 1st Edition Dr. Sikha Bagui
Big Insights v4.1
Essential SQL on SQL Server 2008 1st Edition Dr. Sikha Bagui
Database Programming With Visual Basic Net And Adonet Tips Tutorials And Code...
Essential SQL on SQL Server 2008 1st Edition Dr. Sikha Bagui

Similar to Oracle Sql Developer 21 Database Design And Development Using This Featurerich Powerful Userextensible Interface Sue Harper (20)

PDF
Continuous Integration & Continuous Delivery
PDF
PDF
Sql Server 2005 Reporting Services In Action 1 Rev Ed Bret Updegraff
PDF
Mysql Cookbook Solutions For Database Developers And Administrators 4th Editi...
PDF
Oracle PL SQL Programming Animal Guide 5th Edition Steven Feuerstein
PPT
Rajnish singh(presentation on oracle )
PDF
Navicat en
PDF
Session 2: SQL Server 2012 with Christian Malbeuf
PDF
Database Programming with Visual Basic NET and ADO NET Tips Tutorials and Cod...
PPT
Plantilla oracle
PPTX
SQL Server 2019 hotlap - WARDY IT Solutions
PDF
SQL Server 2005 Reporting Services in Action 1 / Rev. ed Edition Bret Updegraff
PPTX
SQL on Linux
PDF
SQL Server 2019 hotlap - WARDY IT Solutions
PDF
SQL Server 2005 Reporting Services in Action 1 / Rev. ed Edition Bret Updegraff
PPTX
6232 b 01
PDF
Postgresql Up And Running Regina Obe Leo Hsu
PDF
Core Web Programming Volumes I II Includes index 2nd ed Edition Hall
PDF
Oracle Business Intelligence The Condensed Guide To Analysis And Reporting Yu...
PPT
ow-123123123123123123123123123123123123123
Continuous Integration & Continuous Delivery
Sql Server 2005 Reporting Services In Action 1 Rev Ed Bret Updegraff
Mysql Cookbook Solutions For Database Developers And Administrators 4th Editi...
Oracle PL SQL Programming Animal Guide 5th Edition Steven Feuerstein
Rajnish singh(presentation on oracle )
Navicat en
Session 2: SQL Server 2012 with Christian Malbeuf
Database Programming with Visual Basic NET and ADO NET Tips Tutorials and Cod...
Plantilla oracle
SQL Server 2019 hotlap - WARDY IT Solutions
SQL Server 2005 Reporting Services in Action 1 / Rev. ed Edition Bret Updegraff
SQL on Linux
SQL Server 2019 hotlap - WARDY IT Solutions
SQL Server 2005 Reporting Services in Action 1 / Rev. ed Edition Bret Updegraff
6232 b 01
Postgresql Up And Running Regina Obe Leo Hsu
Core Web Programming Volumes I II Includes index 2nd ed Edition Hall
Oracle Business Intelligence The Condensed Guide To Analysis And Reporting Yu...
ow-123123123123123123123123123123123123123
Ad

Recently uploaded (20)

PDF
Sports Quiz easy sports quiz sports quiz
PDF
Abdominal Access Techniques with Prof. Dr. R K Mishra
PPTX
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
PDF
Computing-Curriculum for Schools in Ghana
PPTX
Pharmacology of Heart Failure /Pharmacotherapy of CHF
PPTX
Microbial diseases, their pathogenesis and prophylaxis
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
Basic Mud Logging Guide for educational purpose
PDF
RMMM.pdf make it easy to upload and study
PDF
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PDF
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
O7-L3 Supply Chain Operations - ICLT Program
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
PDF
Insiders guide to clinical Medicine.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
PPH.pptx obstetrics and gynecology in nursing
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
Sports Quiz easy sports quiz sports quiz
Abdominal Access Techniques with Prof. Dr. R K Mishra
BOWEL ELIMINATION FACTORS AFFECTING AND TYPES
Computing-Curriculum for Schools in Ghana
Pharmacology of Heart Failure /Pharmacotherapy of CHF
Microbial diseases, their pathogenesis and prophylaxis
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
Basic Mud Logging Guide for educational purpose
RMMM.pdf make it easy to upload and study
Physiotherapy_for_Respiratory_and_Cardiac_Problems WEBBER.pdf
human mycosis Human fungal infections are called human mycosis..pptx
ANTIBIOTICS.pptx.pdf………………… xxxxxxxxxxxxx
Final Presentation General Medicine 03-08-2024.pptx
TR - Agricultural Crops Production NC III.pdf
O7-L3 Supply Chain Operations - ICLT Program
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
Insiders guide to clinical Medicine.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPH.pptx obstetrics and gynecology in nursing
STATICS OF THE RIGID BODIES Hibbelers.pdf
Ad

Oracle Sql Developer 21 Database Design And Development Using This Featurerich Powerful Userextensible Interface Sue Harper

  • 1. Oracle Sql Developer 21 Database Design And Development Using This Featurerich Powerful Userextensible Interface Sue Harper download https://ebookbell.com/product/oracle-sql-developer-21-database- design-and-development-using-this-featurerich-powerful- userextensible-interface-sue-harper-4105082 Explore and download more ebooks at ebookbell.com
  • 2. Here are some recommended products that we believe you will be interested in. You can click the link to download. Oracle Sql Developer Narayanan Ajith https://ebookbell.com/product/oracle-sql-developer-narayanan- ajith-32704464 Oracle Sql Developer Data Modeler For Database Design Mastery 1st Edition Helskyaho https://ebookbell.com/product/oracle-sql-developer-data-modeler-for- database-design-mastery-1st-edition-helskyaho-5845708 Advanced Oracle Plsql Developers Guide 2nd Edition Saurabh K Gupta https://ebookbell.com/product/advanced-oracle-plsql-developers- guide-2nd-edition-saurabh-k-gupta-6988076 Murachs Oracle Sql And Plsql For Developers 2nd Edition Joel Murach https://ebookbell.com/product/murachs-oracle-sql-and-plsql-for- developers-2nd-edition-joel-murach-5324802
  • 3. Oracle Advanced Plsql Developer Professional Guide Saurabh Gupta https://ebookbell.com/product/oracle-advanced-plsql-developer- professional-guide-saurabh-gupta-4105036 Pkg Oracle Developer Pl Sql Prog Oracle Cd Paperback Joan Casteel https://ebookbell.com/product/pkg-oracle-developer-pl-sql-prog-oracle- cd-paperback-joan-casteel-10020964 Expert Pl Sql Practices For Oracle Developers And Dbas 1st Edition John Beresniewicz https://ebookbell.com/product/expert-pl-sql-practices-for-oracle- developers-and-dbas-1st-edition-john-beresniewicz-2358492 Learning How To Develop The Application With Oracle Sql Plsql Apex Shah https://ebookbell.com/product/learning-how-to-develop-the-application- with-oracle-sql-plsql-apex-shah-232134586 Oracle Sql Tuning With Oracle Sqltxplain Oracle Database 12c Edition Second Edition Charalambides https://ebookbell.com/product/oracle-sql-tuning-with-oracle- sqltxplain-oracle-database-12c-edition-second-edition- charalambides-22004982
  • 5. Oracle SQL Developer 2.1 Database design and development using this feature-rich, powerful, user-extensible interface Sue Harper BIRMINGHAM - MUMBAI
  • 6. Oracle SQL Developer 2.1 Copyright © 2009 Packt Publishing All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews. Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book. Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information. First published: November 2009 Production Reference: 1171109 Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK. ISBN 978-1-847196-26-2 www.packtpub.com Cover Image by Sue Harper (sue.harper@oracle.com)
  • 7. Table of Contents Preface 1 Chapter 1: Getting Started with SQL Developer 9 Preparing your environment 9 Finding and downloading the software 10 Downloading and installing the Java Development Kit 10 Installing and starting SQL Developer 11 Working with different platforms 12 Migrating settings from a previous release 13 Maintaining your environment 14 Verifying the current release 14 Using Check for Updates 15 Managing the system folder and other files 16 Sharing preferences 17 Alternative installations of SQL Developer 17 Oracle JDeveloper 17 Oracle Database 11g 18 Troubleshooting 18 A quick overview 20 Sample schemas 20 Creating your first connection 21 Using basic commands in the SQL Worksheet 22 Browsing and updating data 24 Running reports 25 Navigating around SQL Developer 26 Managing SQL Developer windows 26 Tiling windows 28 Splitting documents 29 Maximizing detail 29 Resetting the window layout 30
  • 8. Table of Contents [ ii ] Finding more help 32 Summary 33 Chapter 2: Browsing and Editing Database Objects and Data 35 Browsing objects 35 Working with the Connections navigator 36 Opening connections 37 Working with objects 38 Filtering objects 38 Display editors 40 General display editors 41 Working with the display editors 43 Using the SQL display editor 44 Working with the data grids 46 Controlling the column display 46 Sorting the data 47 Filtering columns 48 More data grid context menus 48 Count Rows and the Single Record View 50 Working with Updating Data Grids 50 Updating data 52 Reviewing other database object nodes 53 Accessing objects you don't own 55 Recycle Bin 56 Creating and updating database objects 57 Creating new objects 57 Creating tables 57 Creating views 62 Reviewing a few specific objects 66 Editing objects: Putting context menus to work 67 Editing objects 67 Diving into context menus 68 Using context menus as utilities 69 Summary 73 Chapter 3: Working with the SQL Worksheet 75 Introducing the SQL Worksheet 75 Controlling the environment 76 Opening SQL Worksheets 77 Working with multiple worksheets 78 Switching connections 79 Getting started 79 Writing and executing commands 79 Writing your first statements 80 Running statements 81 Run script 82
  • 9. Table of Contents [ iii ] Using SQL*Plus commands 83 Supporting SQL*Plus 83 Running scripts 87 Reviewing unsupported SQL*Plus commands 88 Working with SQL 88 Dragging and dropping tables to create queries 88 Formatting code 90 Managing the case 93 Formatting SQL for use in other languages 94 Working with code completion insight 95 Including code snippets 98 Using the File navigator 100 Opening files 101 Using extra features in the worksheet 102 SQL History 103 DBMS Output 105 OWA Output 106 Using the Query Builder 106 Building an SQL query 108 Selecting the tables, column, and joins 108 Viewing the Results 110 Adding the WHERE clause 110 Returning to the SQL Worksheet 111 Summary 112 Chapter 4: The Power of SQL Reports 113 Introducing SQL Developer reports 114 Who can run reports? 114 When do you use reports? 114 Running a report 116 Using bind variables 116 Privileges required for running reports 117 Switching users 118 Browsing shipped reports 119 Running data dictionary reports 119 Getting to know the data dictionary 119 About the database 120 Reviewing Privileges and Security reports 121 Assisting with quality assurance 122 Using the PL/SQL reports 122 Running ASH and AWR reports 124 Other categories 125 Migration reports 125 Application Express reports 125 Data Modeler reports 125 Running reports from other menus 125
  • 10. Table of Contents [ iv ] Monitor sessions 126 Managing the database 126 Real-time SQL monitoring 127 Creating your own reports 129 Getting started 129 Creating folders 129 Storing reports 130 Creating general reports 132 Building general tabular reports 133 Adding bind variables 134 Drilling down through reports 136 Creating a drill-down report 136 Master-detail reports 139 Creating master-detail reports 139 Creating sibling details 143 Adding charts 144 Building other graphical reports 146 Other reports styles 148 Sharing reports 150 Copying and reusing reports 150 Importing and exporting 151 Sharing reports through user defined extensions 152 Summary 154 Chapter 5: Working with PL/SQL 155 Creating PL/SQL code 155 Writing PL/SQL in the SQL Worksheet 156 Using code insight 156 Using code snippets and code templates 158 Creating and compiling PL/SQL program units 159 Working with triggers 159 Using the Create Trigger dialog 159 Viewing trigger details 163 Controlling triggers 165 Adding triggers that populate columns 165 Adding functions or procedures 168 Editing program units 170 Working with errors 171 Testing and executing program units 173 Creating packages 175 Creating the body 176 Editing code 181 Refactoring code 181 Searching for code 184 Finding DB Object 184
  • 11. Table of Contents [ v ] Debugging PL/SQL 185 Debugging PL/SQL code 186 Using the debugging mechanism in SQL Developer 186 Remote debugging 193 Summary 197 Chapter 6: SQL and PL/SQL Tuning Tools 199 Support for tuning code in the SQL Worksheet 200 Working with EXPLAIN PLAN 200 Controlling the Explain Plan output 202 Execution plan details 203 Using Autotrace 205 Additional performance tuning tools 207 Using SQL reports 207 Running the Top SQL reports 208 Monitoring your environment 211 Inspecting SQL trace files 213 Profiling PL/SQL 215 Getting started 215 Preparing the environment 216 Reviewing the output 218 Summary 220 Chapter 7: Managing Files 221 Introducing source code control 221 Overview 222 Ways of working 222 The repository is the point of truth 222 SQL Developer integration 223 Subversion (SVN) 223 Concurrent Versions System (CVS) 223 Other version control systems 223 Getting started 224 Invoking the Files navigator 225 Browsing and editing files 225 Reviewing the file editors 226 Editing other file types 227 Working with the file history 228 Introducing the Versioning Navigator 229 Managing general version control preferences 230 Setting up the repository 230 Creating connections to a version repository 231 Browsing files in the repository 233 Working with files under version control 234 Placing files under version control 234
  • 12. Table of Contents [ vi ] Importing files into the repository 234 Refreshing the repository 237 Understanding revision numbers 238 Checking out files 238 Saving files 240 Checking files in 242 Comparing and merging code 244 Creating patches 245 Summary 246 Chapter 8: Importing, Exporting, and Working with Data 247 Exporting data 247 Exporting instance data 248 Setting up the export file 250 Exporting SQL DML 252 Exporting to HTML 253 Supporting export for SQL*Loader 253 Exporting to Microsoft Excel 254 Exporting to XML 255 Exporting DDL (Metadata) 255 Exporting table DDL 256 Selecting multiple tables for DDL export 258 Using the Database Export wizard to export DDL and data 258 Starting the export wizard 259 Selecting objects for generation 260 Specifying objects 261 Specifying data 263 Running the script 265 Importing data 266 Importing data from SQL script files 266 Importing data from XLS and CSV files 267 Creating a table on XLS import 270 Using the Database Copy wizard 273 Comparing the database copy alternatives 273 Running the Database Copy wizard 275 Comparing schemas 276 Summary 278 Chapter 9: Database Connections and JDBC Drivers 279 Working with Oracle connections 279 Using alternative Oracle connection types 279 Reviewing the Basic connection 281 Accessing the tnsnames.ora file 281 Accessing LDAP server details 283 Creating advanced connections with JDBC URLs 284 Connecting to Oracle TimesTen 285 Reviewing JDBC drivers 286
  • 13. Table of Contents [ vii ] Oracle JDBC thin driver (Type IV driver) 287 Oracle JDBC thick driver (Type II driver) 287 SQL Developers shipped drivers 287 Using different authentication methods 288 OS Authentication 288 Using Proxy authentication 290 Using Kerberos authentication 293 Using RADIUS authentication 297 Creating non-Oracle database connections 297 Setting up JDBC drivers 298 Using Check for Updates 298 Manually adding JDBC drivers 299 Creating connections to the third-party databases 300 Connecting to IBM DB2 301 Microsoft Access 301 Connecting to Sybase Adaptive Server or Microsoft SQL Server 302 Connecting to MySQL 303 Organizing your connections 303 Creating folders 304 Working with folders 305 Managing folders 306 Exporting and importing connections 306 Summary 307 Chapter 10: Introducing SQL Developer Data Modeler 309 Oracle SQL Developer Data Modeler 310 Feature overview 310 Integrated architecture 311 Getting started 312 Installing and setting up the environment 312 Oracle clients and JDBC drivers 312 Creating your first models 313 Importing from the Data Dictionary 314 Creating a database connection 314 Using the import wizard 316 Reviewing the results 318 Saving designs 319 Working with diagrams and their components 320 Formatting the elements 320 Changing the default format settings 322 Setting general diagram properties 323 Creating subviews and displays 324 Adding subviews to your design 324 Adding displays 325 Creating a composite view 327 Controlling the layout 328
  • 14. Table of Contents [ viii ] Adjusting the level of detail displayed 328 Adjusting the width and height across the model 329 Controlling alignment 330 Working with lines 330 Managing lines with elbows 332 Managing straight lines 332 Analysis, design, and generation 333 Flow of work 333 Starting with analysis (top down) 334 Importing existing models (bottom up) 334 Building the relational model 334 Logical models 335 Creating an ERD 335 Supporting alternate notations 339 Creating constraints, domains, and setting default values 343 Working with domains 343 Creating domains 344 Assigning domain valid values to an attribute or column 345 Setting valid values at attribute or column level 346 Introducing forward and reverse engineering 348 Forward engineering 348 General engineering dialog features 349 Maintaining the model layout 350 Reverse engineering models 350 Creating relational models 351 Working with the relational model 351 Setting naming standards templates 354 Building the physical model 357 Importing a schema from the data dictionary 357 Creating a new physical model 358 Adding new database sites 360 Reviewing physical properties 362 Propagate properties 363 Generating the DDL 364 Reviewing and applying Design Rules 365 Integration with Oracle SQL Developer 369 Creating a new model 370 Creating and running reports 371 Setting up the reporting schema 372 Summary 375 Chapter 11: Extending SQL Developer 377 Introducing extensibility 377 Extensibility in SQL Developer 378 Who builds extensions? 378 Why extend? 379
  • 15. Table of Contents [ ix ] SQL Developer XML extension types 379 Adding an XML extension 379 Sharing user-defined reports 380 Adding display editors 382 Examples of display editors 383 Building the XML file for a display editor 383 Working with context menus 386 Adding a context menu to the connections menus 387 Passing parameters 388 Creating a utility using context menus 389 Including the user-defined extension for context menus 391 Adding new nodes to the Connections navigator 392 Including user-defined extensions for a navigator node 393 Adding a new tree to the navigator 394 Adding multiple nodes 398 Reviewing an example 399 Adding support for dimensions 399 Working with extensions 403 Controlling existing extensions 403 Adding in new Java extensions 403 Removing extensions 405 Sharing extensions 405 Summary 406 Chapter 12: Working with Application Express 407 Setting the scene 407 Setting up in Application Express 408 Creating a workspace and database schema 408 Creating an Application Express user 409 Browsing applications in SQL Developer 411 Creating a connection in SQL Developer 411 Browsing and working with schema objects 411 Browsing the applications 412 Mapping objects in SQL Developer to Application Express 415 Tuning SQL and PL/SQL code using SQL Developer 416 Working with Region Source SQL 417 Tuning with Explain Plan 418 Working with PL/SQL code 419 Replacing the anonymous block in Application Express 421 Managing applications in SQL Developer 422 Importing applications 422 Modifying applications 423 Deploying applications 425 Controlling services 425 Reporting on applications using SQL Developer 426 Summary 427
  • 16. Table of Contents [ x ] Chapter 13: Working with SQL Developer Migrations 429 Introducing SQL Developer Migrations 429 An overview of the migration process 430 Offline or online migration choices 430 Supported third-party databases 431 Setting up your environment 431 Setting up the JDBC drivers 431 Creating third-party connections 432 Accessing non-Oracle databases 433 Browsing database objects 433 Using the SQL Worksheet 434 Managing the repository 435 Creating the repository 436 Associating a repository with a user 436 Planning database connections 437 Setting up the source database connection 437 Setting up the target database connection 437 Migrating 438 Using Quick Migrate 438 The migration 442 Verifying the results 444 Delving into a complex migration 444 Preparing for the migration 444 Capturing the model 445 Converting the model 447 Generating the scripts 453 Executing the script 454 Populating the target tables with data 456 Offline migrations 458 Additional migration activities 458 Migration reports 459 Summary 459 Index 461
  • 17. Getting Started with SQL Developer This book is divided into chapters that focus on the different areas or functionality in SQL Developer. The progression through the chapters is from the more frequently used features to those less frequently used. This initial chapter is all about preparing your environment, installation, and getting started. SQL Developer is easy to set up and use, so there is very little setup required to follow the examples in this book. The best way to learn is by practice, and for that you'll need a computer with access to an Oracle database and SQL Developer. This chapter, and indeed the rest of the book, assumes you have a computer with Microsoft Windows, Linux, or Mac OS X installed, and that you have access to an Oracle database. It focuses on the alternative installations available for SQL Developer, where to find the product, and how to install it. Once your environment is set up, you can follow a quick product walk-through to familiarize yourself with the landscape. You'll create a few connections, touch on the various areas available (such as the SQL Worksheet and Reports navigator), and learn about the control of the windows and general product layout. Preparing your environment Preparing your environment depends on a few factors, including the platform you are working on and whether you have an early edition of SQL Developer previously installed. First, you need to locate the software, download, and install it.
  • 18. Getting Started with SQL Developer [ 10 ] Finding and downloading the software SQL Developer is available through a variety of sources as both a standalone download and as part of the Oracle Database and Oracle JDeveloper installations. SQL Developer is a free product, and you can download it from the Oracle Technology Network, http://www.oracle.com/technology/products/database/ sql_developer. Use this link to reach the download for the latest standalone production release. It also includes details of the release and is regularly updated with news of preview releases and new articles. While SQL Developer is free to download and use, you are required to read and agree to the license before you can proceed with the download. The product also falls under Oracle Support contracts, if you have a Support contract for the database, which means that you can log Oracle Support tickets. Downloading and installing the Java Development Kit SQL Developer requires the Java SE Development Kit (JDK); this includes the Java Runtime Environment (JRE) and other tools, which are used by SQL Developer utilities such as the PL/SL Debugger. For Microsoft Windows, you can download and install SQL Developer with the JDK already installed. This means you'll download and unzip the product and will be ready to start, as there are no extra steps required. For the other operating systems, you'll need to download the JDK and direct SQL Developer to the path yourself. Indeed, as many other products require a JDK to be installed, you may already have one on your system. In this case, just direct the product to use an existing JDK installation. For Microsoft Windows, ensure you download SQL Developer without the JDK to make use of an existing JDK installation. The SQL Developer download site offers a selection of download choices: • Microsoft Windows (with or without the JDK) • Linux (without the JDK) • Mac OS X (without the JDK) In each case, make your selection and download the required file.
  • 19. Chapter 1 [ 11 ] The download sites for the JDK are as follows: • For Microsoft Windows and Linux: http://java.sun.com/javase/downloads/index.jsp • For Mac OS X: http://developer.apple.com/java/download/ SQL Developer is shipped with the minimum JDK required. You can download and use the latest updates to the JDK. You should be aware that some updates to the JDK are not supported. This detail is posted on the SQL Developer Downloads page for each release. Starting from SQL Developer 2.1, JDK 1.6 is the minimum JDK supported. Once you have installed the JDK, you can start SQL Developer. Installing and starting SQL Developer SQL Developer does not use an installer. All you need to do is unzip the given file into an empty folder, locate, and run the executable. Do not unzip SQL Developer into an $Oracle_Home folder or an existing SQL Developer install. Unzipping the file creates an sqldeveloper folder, which includes a selection of sub-folders and files, including the sqldeveloper.exe executable. If your download does not include the JDK, then you'll be prompted for the full path of the java.exe. Browse to the location of the file and select it. The path should include the full path and executable (for example, C:Program FilesJava jdk1.6.0_13binjava.exe):
  • 20. Getting Started with SQL Developer [ 12 ] Working with different platforms Whether you are accessing SQL Developer as part of the Oracle Database 11g installation or as a stand-alone install, there is a selection of executables available to you. These are either platform specific or provide additional detail while running the product. Microsoft Windows The first executable you'll find is in the root folder sqldeveloper. This is the executable more generally used. If you navigate down to sqldeveloperbin, there are two additional executables, sqldeveloper.exe and sqldeveloperW.exe. The latter is the same as the executable in the root folder. Use either of these for running SQL Developer. The additional executable is often used for debugging purposes. Use sqldeveloperbinsqldeveloper.exe to invoke SQL Developer and a separate console window which displays additional Java messages. You can use these messages when encountering errors in the product and if you want to log an issue with Oracle Support. Oracle SQL Developer Three steps to getting started on Microsoft Windows: Download: Download the full file, with JDK, from the Oracle Technology Network web site. Unzip: Unzip the file to an empty directory. Double-click: Double-click on the sqldeveloper sqldeveloper.exe file. Alternative platforms Microsoft Windows is the predominant platform used by SQL Developer users. There is a steadily growing audience for Linux and Max OS X. As neither of these platform downloads include the JDK, you need to first access, download, and install the JDK. On starting either Linux or the Mac OS, you'll be prompted for the full path of the JDK as described. Mac OS X Download the file specific to Mac OS X and double-click to unzip the file. This creates an icon for SQL Developer on your desktop. Double-click to run the application.
  • 21. Chapter 1 [ 13 ] Linux Use the Linux rpm command to install SQL Developer. For example, your command might look like this: rpm -Uhv sqldeveloper-1.5.54.40-1.noarch.rpm In the same way that unzip creates an sqldeveloper folder, with sub-folders and files, the rpm command creates an sqldeveloper folder, complete with files and sub-folders. Switch to this new folder and run the sqldeveloper.sh executable. Migrating settings from a previous release On the initial startup of any release of SQL Developer, you may be asked one or two questions. The first is the location of the Java executable of the JDK as discussed. If you have installed the full release with the JDK, this question is skipped. The second question is if you want to migrate any preferences from a previous release. Regardless of whether this is the first SQL Developer install on the machine or not, the first time you invoke SQL Developer, you are offered the choice of migrating your settings. You can migrate settings of any release from SQL Developer 1.5 and above. By default, the utility looks for the latest previous installation of the software. If you want to migrate from a different installation, select the Show All Installations button (seen above). This displays a list of all SQL Developer installations that have the system folder in the Documents and Settings system folder (for example, C:Documents and Settings<your_user>Application DataSQL Developer system1.5.1.54.40) and includes releases from SQL Developer 1.5 and above. For releases prior to SQL Developer 1.5, the system folder was created within the SQL Developer install (for example, D:SQLDeveloperBuilds1.2.11.2.1.3213 sqldevelopersqldevelopersystem).
  • 22. Getting Started with SQL Developer [ 14 ] Maintaining your environment Once you have SQL Developer installed, it is helpful to know about the environmental settings and some of the files that are created when you start the product. Knowing about the version you have installed is important if only to be able to identify this when asking questions on the forum, or when contacting Oracle Support. Verifying the current release To verify the SQL Developer release you have, select the Help | About menu once you start SQL Developer or JDeveloper. In the dialog invoked, select the Extensions tab and find the Oracle SQL Developer extension, as shown in the next screenshot. This will match the build number on the download site if you have the latest release. The screenshot shows a number of the extensions that make up SQL Developer. If your dialog does not show the Version or Status columns, you can select the column headers to resize the visible columns and bring the others into focus.
  • 23. Chapter 1 [ 15 ] Using Check for Updates SQL Developer offers a built-in patching and extensions utility, known as Check for Updates. Check for Updates is used to release: • SQL Developer extensions • General Oracle extensions • Minor patches • Third-party tools required by SQL Developer, such as the non-Oracle database drivers • Third-party extensions You can control whether Check for Updates warns you about new updates using the Tools | Preferences menu. Select Extensions and then select Automatically Check for Updates. For SQL Developer extensions, if you already have SQL Developer installed and you're not secured by a firewall, you'll be alerted about new updates. You need not use the utility to get the updates, but you'll be aware of the latest release from the alert. For all other extensions, you need to start Check for Updates to see what's available. To do this, select Help | Check for Updates. In either situation, just follow the dialog to find the updates you require. You can initially elect to see just the third-party updates, or all updates available, by selecting all options, as shown in the following screenshot:
  • 24. Getting Started with SQL Developer [ 16 ] The database drivers for some of the non-Oracle databases are located in Third Party SQL Developer Extensions. The Third Party update center also includes a selection of customer developed SQL Developer extensions. The customer extensions are developed, supported, and updated by the customer involved, and are not tested, certified, or supported by Oracle. As with all software downloads from the Internet, you are required to read and accept the license agreements. The Check for Updates utility directs you to the appropriate licenses, before downloading the software. If the updates are from Oracle, you will need to provide your Oracle Technology Network sign-on details. Check for Updates is only used to apply patches to your install. Starting with SQL Developer 1.5.1, the team released patches which are applied to upgrade the product in place. These patches fixed one or two bugs and did not constitute a new download, or even a full install. For all other releases, you need to do a full install as described earlier. Managing the system folder and other files SQL Developer maintains a series of files as you work with the product. These files are created and stored in the Documents and Settings<your_user> Application DataSQL Developer folder. On Linux, these files are all stored in a folder ~/.sqldeveloper/. Deleting this folder is equivalent to returning a SQL Developer installation to its factory settings. The files at this highest level are: • CodeTemplate.xml—created as you add your own user defined code templates • UserReports.xml—created as you add your own user defined reports • SqlHistory.xml—created as you execute SQL and PL/SQL commands in the SQL Worksheet • UserSnippets.xml—created as you add your own snippets These files are used by each of the SQL Developer installations you have. For example, you may elect to have the latest installation in addition to a number of earlier releases. Having several different releases of SQL Developer on one machine is acceptable, as the installations have no impact on each other, except that they do share these files.
  • 25. Chapter 1 [ 17 ] Once you have started SQL Developer, a folder with sub-folders and files is created in the Documents and Settings<your_user>Application Data SQL Developer folder. The top-level folder is labeled systemx.x.x.x.x (for example system1.5.0.54.40). The systemx.x.x.x.x folder contains all of the other preferences and the settings that pertain to the specific release in use. In this case, deleting the system folder is almost equivalent to resetting SQL Developer to its factory settings, except that any user defined reports, SQL history, and code templates are not lost. Sharing preferences Preferences are set for your local environment and are therefore not shared globally between teams. However, you can export the SQL Formatter preferences set. This allows you to share the settings between team members and ensure that you all code to the same settings. To export your SQL Formatter settings, select Tools | Preferences and expand the Database node in the tree. Select SQL Formatter, you can now export or import previous saved settings. Alternative installations of SQL Developer We have been discussing the installation and management of the independent release of SQL Developer available on the Oracle Technology Network. SQL Developer is also available as part of the Oracle Database and Oracle JDeveloper installations. Oracle JDeveloper Most of SQL Developer is integrated into Oracle JDeveloper, which means you need to install JDeveloper to access and use the SQL Developer components. Having SQL Developer as part of JDeveloper means that, if you are building Java applications and working with the Fusion Middleware platform, you can access and work with the Oracle Database without an additional install of SQL Developer. JDeveloper does not consume all of the extensions for SQL Developer (for example, extensions like Migrations and Versioning are not included). Oracle JDeveloper 11g includes SQL Developer 1.5.6.
  • 26. Getting Started with SQL Developer [ 18 ] Oracle Database 11g SQL Developer is also shipped with the Oracle Database. Initially, Oracle Database 11g Release 1. SQL Developer is installed by default when you install the database. Once the installation is complete, locate the sqldeveloper directory (for example, product11.1.0db_1sqldevelopersqldeveloper.exe) to start SQL Developer. Be aware that Oracle database releases are less frequent than those of SQL Developer, which, by its nature and size, allows for more frequent updates. This means the version of SQL Developer shipped with the database may not be the most current release. Oracle Database 11g Release 2 is shipped with SQL Developer 1.5.5. All examples in this text are using SQL Developer 2.1. You may also update your database version less frequently than a client tool. To upgrade the SQL Developer installation in Oracle Database 11g Release 1, you should do a full new install. As with other installs, create a new folder and unzip the latest download. Oracle Database 11g Release 1 ships with SQL Developer 1.1.3 Oracle Database 11g Release 2 ships with SQL Developer 1.5.5 Troubleshooting It seems ominous to provide a section on troubleshooting at the start of a book! If you accept that software can get in a tangle sometimes, either if you use the product as it's not designed, or perhaps include extensions that you'd prefer not to have and the product is no longer behaving as expected, then a few hints on how to escape that tangle can be useful. Removing extensions If you have created your own extensions, or have downloaded and installed other extensions that you no longer require, then invoke the preferences, using the menu Tools | Preferences and select Extensions from the tree. Here you see that SQL Developer includes a number of default extensions, such as the Oracle TimesTen extension. In addition, any extension that you have included is listed here. You can deselect extensions here and the product will no longer access them. This does not delete the files installed for the extension. You will need to manually delete any files downloaded for that to happen. However, it does mean that you can restart the product and see if the extension is the root of the problem.
  • 27. Chapter 1 [ 19 ] Resetting shortcut keys Some users find that their keyboard shortcuts no longer work as expected. In this circumstance, you can select the menu Tools | Preferences, and then select Shortcut Keys from the tree. Click on the More Actions drop-down list and select Load Keyboard Scheme…, as shown in the following screenshot. Select Default from the dialog to reset the keyboard accelerators to the shipped settings. This also replaces any settings you have added. In releases prior to SQL Developer 2.1, the Shortcut Keys are called Accelerators. In these releases, to reset the keys, select Load Preset. Reset the environment, do not reinstall the product When things go wrong, users sometimes resort to deleting and reinstalling a product. This may even require downloading the files again. This is time consuming, and in the case of SQL Developer, not necessary. Assuming you have not edited any of the .jar files (it's been known to happen and not legally permitted), you can reset the product to the shipped factory settings by deleting the system folder. Before you delete the system folder, export your connections and shut down SQL Developer.
  • 28. Getting Started with SQL Developer [ 20 ] Export Connections: To export your connections, select Connections, right-click and select Export Connections. Save the file to a new location. When troubleshooting, deleting the system folder is useful. However, by deleting this folder you are also deleting all of the changes made to the preferences, your connections, and any layout changes you have made. Therefore, it is recommended that you delete the folder as a last resort, and not as a standard approach to troubleshooting. Reset to factory settings For Microsoft Windows, delete the Documents and Settings<your_user>Application DataSQL Developer folder to reset SQL Developer to the shipped factory settings. For Linux, remove the ~.sqldeveloper folder and on the Mac, remove the ~/Library/Application Support/SQL Developer folder. In addition to deleting all of the preferences set and connections created, this action also deletes user-defined reports, your SQL history, and any code templates and snippets you have created. In general, delete the lower level system folder for a less drastic reset. A quick overview Let's start with a walk-through of the product. This book is all about SQL Developer, using the product, and getting to know it. You may well ask yourself why there is a need for a book if we can walk through the product in twenty minutes or less. By spending a little time dipping into a number of areas of the product, you can start laying down a map of how the pieces connect and provide a base that you can drill down into later. Sample schemas To follow the examples in the book, you need access to SYSTEM and the shipped sample schemas, HR, OE, SH, PM, and IX available in Oracle Database 9i, 10g, or 11g. Specifically, this book uses the sample schemas shipped with Oracle Database 11g. There are two ways to install the sample schema. The first way is when you install the database. You can elect to have the sample schema installed at that point.
  • 29. Chapter 1 [ 21 ] Second, if you have not installed these, then you can locate the sample schema in the $ORACLE_HOME/demo/schema folder and follow the instructions on installing them using the Oracle online documentation. Not all of these schemas are available for Oracle Express Edition. In this chapter, we use SYSTEM to verify the HR schema is unlocked, and then we use the HR sample schema, which is available in Oracle Express Edition. Creating your first connection To complete this quick walk-through, you need to know the username and password of the SYSTEM user. You also need to know the location of the database, whether this is the machine name or the IP address, and the database SID. To begin, start SQL Developer. The very first time you start SQL Developer, you'll be asked if you want to migrate from a previous version. Select No and allow the tool to start up. The first thing you need to do after you have started SQL Developer for the first time is to create your initial connections. Create a connection for SYSTEM: 1. Select Connections, right-click and select New Connection. This invokes the New Database Connection dialog. You can edit and control all of the connection details using this dialog. 2. Complete the details, as seen in the following screenshot, relevant to your environment. 3. Click on Test to ensure you have the connection details correct and click on Connect.
  • 30. Getting Started with SQL Developer [ 22 ] You are now connected as SYSTEM. Use this connection to verify your other users, by continuing as follows: 1. Select the new connection you have created, expand the node, and scroll down to Other Users. 2. Expand Other Users and find the user HR. Right-click and select Edit User. Verify that the account for HR is unlocked and the Password has not expired, that is, the properties Account is Locked and Password Expired are deselected. If either of these is selected, deselect them. You can change the password for HR at this point too. It's good practice to modify the passwords of the shipped sample schemas once you have unlocked them. Now you are really ready to begin! 1. Once again, select Connections, right-click and select New Connection. 2. Give the connection a name (for example, HR_11g). 3. Provide the Username (HR) and a Password. If you are working on Oracle Database 11g, be aware that passwords are now case sensitive. 4. Select the Save Password checkbox. This makes life easy while you are working with SQL Developer. Passwords are stored in an encrypted file. However, you should always be aware of saving passwords and possible security implications this may have. 5. Use the Basic connection. This requires no more detail than the location of the database and the SID, details you have. 6. Click on Test to test the connection. 7. Click on Connect. Using basic commands in the SQL Worksheet As soon as you connect to a user, SQL Developer opens an SQL Worksheet. You may have started working with Oracle using the SQL*Plus command line, or even the GUI window. Either way, you'd start with a selection of SQL*Plus and SQL commands. Enter the following into the SQL Worksheet: DESC DEPARTMENTS SELECT * FROM DEPARTMENTS; Press the F5 key (or use the Run Script button).
  • 31. Chapter 1 [ 23 ] The output of both commands appears in the Script Output tab, which appears below the SQL Worksheet (as seen in the previous screenshot). Both commands are handled by a few simple clicks of the mouse in SQL Developer. Select and expand the HR_11g connection in the Connections navigator. Expand the Tables node and select DEPARTMENTS. The DEPARTMENTS tab now opens, displaying a list of the column names and details. These are the same details as given by the DESC (describe) SQL*Plus command that you entered in the SQL Worksheet. It also provides additional detail, such as the Primary Key and column comments. Select the Data tab and notice that you now see the output from your second command. These two tabs are included with a number of other tabs, each with additional details about the DEPARTMENTS table. You would need to write a number of SQL queries in order to get the additional detail from the data dictionary if you were working in SQL*Plus.
  • 32. Getting Started with SQL Developer [ 24 ] Select the EMPLOYEES table. Notice that the new table, EMPLOYEES, immediately replaces the previous DEPARTMENTS table with its details. Select the Triggers tab, and select one of the triggers. The trigger and related trigger detail is displayed in a master-detail window: Browsing and updating data Return to the EMPLOYEES data by again selecting the Data tab. The data grid that is displayed provides a variety of options. To get started with the data grid, double-click on an item or field, such as the name of one of the employees, and change it. Tab out of the field and notice that the change is applied to the data grid and an asterisk (*) flags the record. Commit and Rollback buttons are available to send the change to the database, or to undo your action. Roll back the changes. Once again you get feedback, this time in the Data Editor log, as shown in the following screenshot:
  • 33. Chapter 1 [ 25 ] Running reports Select the Reports navigator and expand the Data Dictionary Reports node. Expand the Table node and review the available reports. Expand Constraints and select the Unique Constraints report. As you select the report, a dialog displays requesting the Connection name. Select the connection you created, HR_11g, and click on OK. An Enter Bind Values dialog now appears, requesting the table name as an input parameter. Click on Apply to accept the default, which in this case, means all tables:
  • 34. Getting Started with SQL Developer [ 26 ] Run the same report for any user by selecting the Connections drop-down list on the right-hand side. Navigating around SQL Developer SQL Developer has a selection of windows, navigators, and tabs. On start-up, you are presented with the main navigator toolbars and menus: The two main navigators: Connections and Reports, are presented in a tabbed window. These and other navigators, such as the Versioning Navigator, are available through the main View menu. You can also open windows such as Snippets, Recent Objects, and Find DB Objects using the View menu. Any navigators that you open during a session, and that are still open when you close the product, are automatically opened when you restart the product. Managing SQL Developer windows With the exception of the SQL Worksheet and its associated tabs, all of the main tabbed dialogs can be minimized or maximized and accessed while docked or undocked. These menu controls are available through context menus in the tabs:
  • 35. Chapter 1 [ 27 ] You can rearrange tabbed windows by selecting and dragging the tab into place. Once any window is minimized, roll your mouse over the minimized tab to display a floating window that stays active while your mouse lies over it and rolls back into place when you move off. This is very useful when working with temporary windows such as Snippets and Find DB Object. The following screenshot shows the floating window for the Snippets dialog. If you roll the mouse over the area, you can work in the window (for example, navigating about until you have located the snippet of code you are after, and then drag the code onto the worksheet). The window will minimize out of the way once you have moved off it. You can undock the floating window, move it off to one side, and keep it undocked while you work with the SQL Worksheet. In a dual-monitor setup, you can drag the floating window onto one monitor, while working with the SQL Worksheet on the other monitor.
  • 36. Getting Started with SQL Developer [ 28 ] Tiling windows Once you start working with connections, you have more windows and tabs to deal with, especially if you have more than one connection created. Select the HR_11g connection created in the previous section, expand the connection and Tables node, and select EMPLOYEES. In the table definition window, select the pin button, as shown below, to freeze the view. Now, select the DEPARTMENTS table. A second table definition window opens to display the details from the new table. Select the DEPARTMENTS tab and drag it down to the lower portion of the screen. Notice the shape of the dragged object change as you drag it slightly to the left, to the center, and the lower portion of the window. Each of the shapes represents a different layout position. Release the mouse to secure the new position. The screenshots, which follow, display two of the available positions:
  • 37. Chapter 1 [ 29 ] Splitting documents When you tile windows, you can compare the details of two tables. However, as each table has a selection of tabs, it's useful to be able to review details in the tabs without having to switch back and forth between tabs. As is true for other layout features, you can split the document using a menu, or by drag-and-drop. Each of the object definitions tabbed displays has a drag bar on the top and bottom right that you can select and drag to split the window horizontally, or vertically: Maximizing detail Almost all of the tabs in SQL Developer will maximize when double-clicked. There are a few that do not follow this rule, such as the tabs related to the SQL Worksheet. In general, this works for top-level tabs, which is any tab you can undock and move about, and not for secondary tabs. To maximize a tab, double-click on the tab. A second double-click will reverse the process. Double-click on the tab to maximize a top-level tab. Double-click again to revert to the previous layout.
  • 38. Getting Started with SQL Developer [ 30 ] Resetting the window layout If you move your windows about a great deal, you may find that you want to get things back to the default settings. The example in the following screenshot displays the standard docked Connections and Reports windows to the left. We have also opened the Versioning Navigator, which by default docks below the connections. We have also docked the Snippets window to the right. These windows fill the columns to the left and right, leaving a central window for the editors and log files.
  • 39. Chapter 1 [ 31 ] The layout is controlled by the window layout set in the preferences. Select Tools | Preferences, under the Environment node in the tree select Dockable Windows. The default layout, and the one that matches the example in the previous screenshot, is shown in the following screenshot: Each of the little curved arrows on the diagram is clickable, and as such controls the positioning of the windows. Clicking on the arrow extends or contracts the area taken up by the docked window.
  • 40. Getting Started with SQL Developer [ 32 ] In our example, and in the default SQL Developer environment, there is no full-docked window across the top of the screen. However, if you drag a window into the docked position below the main tool bar, it would stretch across the screen, as shown in the following screenshot: If you find your windows are in a muddle, first verify that the Dockable Windows layout is what you want, and then drag the various dockable windows back into place. Some suggestions on the SQL Developer forum are to remove the system folder (it works, but that's an extreme solution). Finding more help SQL Developer has a site on the Oracle Technology Network, http://www.oracle. com/technology/products/database/sql_developer/index.html. This provides links to current and past magazine articles, white papers, and team blogs. It also has links to brief product demonstrations and longer hands-on exercises.
  • 41. Chapter 1 [ 33 ] There is an active user forum on OTN, http://forums.oracle.com/forums/ forum.jspa?forumID=260, which is monitored by the development team and end users. The SQL Developer Exchange, http://sqldeveloper.oracle.com, is a site where anyone using SQL Developer can log feature requests and vote on other requests already posted. In addition to posting feature requests, the site hosts reports and code snippets. Summary You've started and should now have SQL Developer installed. You should have a few connections created and an initial idea of how to navigate around the product. You are now set to learn a lot more about SQL Developer. From here you can dip into different chapters, focusing on the areas you're most interested in. In the next chapter, we'll show you how to browse different types of objects, and use SQL Developer to look at them in greater detail. We'll review the different editors and dialogs available and how you can manage what you see using preferences. We'll also show you the different ways you can create objects and how to manipulate the data.
  • 42. Browsing and Editing Database Objects and Data Those developers, who access the Oracle database regularly, typically spend the bulk of their time querying, creating, and updating database objects and data. There are those who only need to browse the objects and see how they relate to each other, while others create and update the objects, and many only query and manipulate the data. SQL Developer provides an intuitive user interface that supports all of these activities, which makes accessing and updating database objects and data a point-and-click activity. In this chapter, we look at the broad choices offered by SQL Developer, by reviewing the available browsing, creating, and updating features. Browsing objects Whether you are about to embark on new development, modify existing objects, or just want to see what's in your database, you are likely going to start by browsing the schema or schemas you have access to. Technically, you are querying the Oracle database, and so many of the actions in this chapter, such as using a menu to drop a table, or a dialog to create a new table with columns and constraints, can be done by writing the SQL in the SQL Worksheet or SQL*Plus. By using the functionality the tool provides, you can quickly complete a multitude of tasks. In SQL Developer, you use the Connections navigator to browse (or query) the database objects. To follow the examples in this section, you need to create database connections for the sample schemas HR and OE. You will also need access to SYSTEM, or a user capable of granting privileges to other users.
  • 43. Browsing and Editing Database Objects and Data [ 36 ] Working with the Connections navigator Objects are grouped into nodes in the Connections navigator to reflect their types. They are ordered by most commonly used with Tables, Views, and Indexes, at the top of the list. You can refer to the following screenshot to see the grouping, order, and some of the currently available types displayed in the Connections navigator. The selection of browsable object types available increases with each release as the SQL Developer team adds support for more features. For example, Queues and Queues Tables were introduced in Oracle SQL Developer 1.5, and Jobs were added in SQL Developer 2.1.
  • 44. Chapter 2 [ 37 ] Opening connections To open a connection in the navigator: 1. Double-click the connection. 2. Expand the node. 3. Select Connect from the context menu. The first time you connect to a database schema, whether you open an existing connection or click on Connect in the New Database Connections dialog, SQL Developer automatically expands the connection in the Connections navigator and opens a SQL Worksheet. This automatic opening of the SQL Worksheet is controlled by a preference: Open a Worksheet on connect. Select Tools | Preferences, expand the Database node and select Worksheet. Reconnecting users When doing administrative work with users, it can help to disconnect the user you are working with before making the changes, and reconnect them afterwards. Some actions, such as dropping users or renaming connections, will not be possible without first disconnecting the connection. Database schema or user? The Oracle Concepts Guide states, "A schema is a collection of database objects. A schema is owned by a database user and has the same name as that user." Throughout the text, we use schema and user interchangeably. For the most part, we refer to the OE and HR schemas, meaning the collection of database objects. When closely or directly related to an activity we use "user", as the code does this. For example, DROP user HR cascade; a piece of code that drops all of the objects in the schema and the user itself.
  • 45. Browsing and Editing Database Objects and Data [ 38 ] Working with objects To work with any object, select and expand the node. The most common node you'll work with is the Tables node. This displays all of the tables the user owns (all of the tables in the schema). Each of the object nodes is identified by an icon, and the Tables node highlights some of the main table types using these icons. Not all are singled out, but the more commonly used ones are. If you expand the HR Tables node, the COUNTRIES table, which in the sample is an index-organized table, is identified by the slightly different table icon used. Partitioned tables are also distinguished from regular, simple tables using icons. The following screenshot displays the index organized, regular, external, partitioned, and temporary icons: Filtering objects Using the HR and OE schemas is useful for illustrating various features within SQL Developer. They do not reflect reality, where you'd typically be working with many more objects or sets of objects, within a schema or across schemas, and the mere act of expanding a node exposes a long and possibly unworkable list of objects. SQL Developer provides filtering for each object type, which allows you to control the display of objects. To use the filter, select an object node, such as Tables, and select Apply Filter… from the context menu. Depending on the object node selected, the choice of filter criteria varies. An important feature to note is the Include Synonyms checkbox, available for tables and views. All object nodes will only display those objects that belong to the schema. If one schema has access to the objects in another schema, you can create synonyms for those objects and, using the filter, have them display in the object node. Without the filter, you need to use the Other Users node to see the objects in another schema.
  • 46. Chapter 2 [ 39 ] In the previous screenshot, the Filter dialog is for tables. For all object filters, you can add multiple selections as shown and select the options: • Match Any • Match All The filter criteria provides lists of choices. In the first for the column, values such as CREATED and LAST_DDL_TIME, and for the operator, values such as LIKE or <>. Prior to SQL Developer 2.1, the column drop-down list displayed only four choices. These four choices have since been expanded to provide greater control of the objects displayed. In SQL Developer 2.1, the underlying query no longer includes the restrictions defined in earlier releases. For example, there is no longer the restriction ALL_OBJECTS.GENERATED = 'N', which means that your list of tables also includes generated tables. If you tend not to work with these objects, then applying only that filter is worthwhile.
  • 47. Browsing and Editing Database Objects and Data [ 40 ] Schema level filtering To avoid needing to apply a schema at the level of each object type in the browser, you can set a schema filter. This is particularly useful if you enforce a naming standard that requires all objects to have a prefix or suffix to designate the application or schema with which they are associated. Select Apply Filter… from the database connection for the schema to invoke the dialog: You can override the schema level filter using a filter at the object type level. The object filter dialog includes an Override Schema Filter option. Display editors Once you have expanded an object type node in the Connections navigator, selecting any object in that node opens a window of tabs, called display editors, which define the object. Each editor displays a data grid of details describing the selected object. These are based on queries against the data dictionary and you can get the same results by writing the SQL yourself. The number and types of editors displayed will vary depending on the object or database that you are connected to. If you are connected to Oracle Database 11g, then an additional Flashback editor displays with the other table display editors. The Partitions tab is permanently displayed from SQL Developer 2.1.
  • 48. Chapter 2 [ 41 ] General display editors Instead of itemizing each of the object types and the different collections of display editors, we'll use the Tables node to review some of the display editor details. Using the HR connection, select EMPLOYEES in the Tables node to see the general display editors: The Columns editor displays all of the column detail, including column comments. To get a feel for queries that run behind the editors, run the following query in the SQL Worksheet: SELECT COLUMN_NAME,DATA_TYPE FROM ALL_TAB_COLUMNS WHERE TABLE_NAME ='EMPLOYEES' AND OWNER = 'HR'; The output from the query matches the first two columns of the Columns display editor (this is a simplified example). If you need to find out more information about any object in the database, without a GUI tool, you need to start by querying the data dictionary to determine which tables hold the metadata about your objects. From there, you must decide what detail you need from these tables, in our example it was the single ALL_TAB_COLUMNS table, and then write the join clause to query all of the selected tables.
  • 49. Browsing and Editing Database Objects and Data [ 42 ] There is a set of editors for each of the object types. For tables, these include Constraints, Grants, Statistics, Triggers, and Partitions. The data in each data grid is a result of a query joining a number of data dictionary tables. SQL Developer provides a framework for you to create and add your own display editors. You can do this with user extensions, which are discussed in the chapter on Extending SQL Developer. Some of the editors display master-detail output. To see the detail result set you need to select an individual record in the master result set. The following screenshot shows the EMP_NAME_IX for the EMPLOYEES table. By selecting the index, you can quickly see that this index is made up of two columns: To create the index using SQL, use the following query: CREATE INDEX "EMP_NAME_IX" ON "EMPLOYEES" ("LAST_NAME", "FIRST_NAME");
  • 50. Chapter 2 [ 43 ] Working with the display editors Each new object selected in the navigator replaces the last, regardless of object type or connection, unless you click on the Freeze View pin button ( ) on the object display. This locks the window and a new window opens with a new set of editors. To see this feature in action, expand the HR Tables node. Select the EMPLOYEES table and note the set of display editors. Now select the DEPARTMENTS table, and note that it replaces the details of the EMPLOYEES table. Expand the Sequences node and click through each of the sequences available. These now replace the tables which were previously displayed. This replacing feature is very useful as it saves screen real estate, and keeps the screen and work area uncluttered. However, it is also very useful to be able to compare two sets of data, side by side. Therefore, by selecting the Freeze View pin, each new object selected opens in a new window and you can then tile the windows. Freezing the Object Viewer You can control whether each new object select opens a new set of editors. Select Tools | Preferences, in the tree display, expand Database. Next, click on ObjectViewer and select Automatically Freeze Object Viewer Windows. SQL Developer automatically opens the display editors as you click on the object, or if you navigate down through the objects using the keyboard. You can control this by changing the default Open Object on Single Click behavior. Select Tools | Preferences, in the tree displayed, expand Database, select ObjectViewer and deselect Open Object on Single Click.
  • 51. Browsing and Editing Database Objects and Data [ 44 ] Using the SQL display editor The SQL editor is displayed at the end of the set of shipped display editors and is available for most object types (any editors you create are added after the SQL editor). The SQL editor displays the query required to recreate the object selected. When you select the SQL editor, SQL Developer uses the package DBMS_METADATA to query the database and return the SQL required for recreating the object selected. So, clicking on the editor with a table selected displays the SQL (DDL) for that table. Select the COUNTRIES table in the Connections navigator. The default display provides the full CREATE TABLE SQL in a single statement as shown in the following screenshot: You can control the SQL output for tables by adjusting the parameters passed to the DBMS_METADATA package. This is done by using the SQL Developer preferences in the Tools | Preferences dialog, and by setting Database | ObjectViewer options. To illustrate this, deselect Show Schema, Show Storage, and select Show Constraints as Alter and then click on OK:
  • 52. Chapter 2 [ 45 ] Refresh the SQL editor to display the updated output. Notice how the schema prefix "HR" is no longer displayed and the storage specifics are now excluded. This makes it a very useful script to reuse on other databases, or for other schemas. You may also like to create the tables with no constraints, add data, and then apply the constraints subsequently:
  • 53. Browsing and Editing Database Objects and Data [ 46 ] The Database | ObjectViewer preferences that you set are used to format the SQL display editor code. These preferences also format the SQL created by the Export DDL context menu for the table. Working with the data grids The contents of each display editor are displayed in data grids, which typically have three or more columns of data within the grid. A few are two column name-value pair data grids, such as the Details editor. The data in these grids is not editable and merely reflects the details about the object or structure selected. There are two exceptions. The first exception is the Data editor included with the set of display editors for certain objects, such as tables and views. The Data editor displays the instance data for a table and, depending on the object, this data can be edited and the changes can be committed to the database. The second exception is new to SQL Developer 2.1. This is the Code editor for PL/SQL objects, where you are placed into a PL/SQL editor when you select the object. Data grids throughout SQL Developer have context menus on the column's headings and the data grid itself. You can control the layout and what data is displayed by using these two context menus. For the remaining portion of this section we'll review the various options on these context menus. Controlling the column display The easiest way to control the column order displayed in the data grid is to use drag-and-drop. Select the column header and drag it to a new position. Alternatively, you can select Columns… from the context menu on the column heading as shown in the following screenshot:
  • 54. Chapter 2 [ 47 ] This invokes the Manage Columns dialog, which supports reordering of columns. The same dialog also supports the ability to selectively hide and show columns. Regardless of how you reorder or change the display of columns, the new column order remains in place when you close and reopen the display editor, as well as if you close SQL Developer. Along with the other display settings, this value is persisted until you actively change the setting or clear the settings by selecting Delete Persisted Settings… from the same context menu displayed in the earlier screenshot. The column headings also provide a context menu to Auto-Fit selections. This allows you to resize the column based on the header or the contents of the column. There is also a Best Fit option, which uses a combination of these. Using Ctrl or Shift+select, you can select multiple columns and apply these conditions to all of the columns. An additional Fit Screen option is available to ensure all of the columns fit within the extent of the display area. Clearing object display settings You can clear all of the persisted display settings, including column widths and order using a preference. Select Tools | Preferences. Expand Database in the tree and select ObjectViewer. Click on Clear. Sorting the data With the exception of the two column name-value pair displays, you can sort the records displayed by double-clicking on most of the column headings. This is true for all of the data grids throughout SQL Developer. Columns that allow for sorting display this icon to the left of the column header. You can also perform multiple column sorts by selecting Sort… from the column header context menu. The following screenshot displays the detail of placing two sort settings on the data grid:
  • 55. Another Random Scribd Document with Unrelated Content
  • 56. Colonel Folsom. The test form was Department of the Army, Adjutant General's Office, PRT-157. This is merely the test series designation. Now, under "understands" the scoring was minus 5, which means that he got five more wrong than right. The "P" in parentheses indicates "poor." Under reading he achieved a score of 4, which is low. This, again, is shown by the "P" in parentheses for "poor." Mr. Ely. This 4 means he got four more questions right than wrong? Colonel Folsom. This is correct. And under "writes" he achieved a score of 3, with "P" in parentheses, and this indicates he got three more right than he did wrong. His total score was 2, with a "P" in parentheses meaning that overall he got two more right than wrong, and his rating was poor throughout. Mr. Ely. Page 7 also summarizes the results of the battery of classification and aptitude tests taken by Oswald upon his entry into the Marine Corps, specifically on October 30, 1956. This battery was composed of six examinations. Oswald's scores I see range from as low as 92 to as high as 125. Could you, Colonel, tell us about these six categories, what they are, and what Oswald's scores in each of them means? Colonel Folsom. Yes. I will take this in sequence. The "RV" indicates reading and vocabulary, and the score, Roman numeral II-125 indicates that he was in the second category. Categories throughout the test battery run from I to IV, with IV being the highest. The abbreviation "AC"—arithmetical computation—and the score Roman numeral III-108, indicates that he dropped into the third
  • 57. class. "AR" is arithmetical computation, Roman numeral III-90, indicates that he was at the bottom of the Grade 3 in this area. "PA" indicates pattern analysis, Roman numeral III-94 indicates that he was the bottom portion of the third group in this category. Now, these four areas are grouped into a general classification test score, the abbreviation "GCT" represents that definition. And as a result of Oswald's composite scores, he was graded as a Grade 3, Roman III-103. At that time, the Marine Corps average, I believe, was 107. Mr. Ely. Would you explain the one designated "RCT"? Colonel Folsom. The abbreviation "RCT" is—represents radio code test. There are three scores in this, ranging from one to three, with one being the highest. The minimum, or the range in Grade III is from 90 to 109. As Oswald achieved 92, he was in the bottom, practically, of Group III. Mr. Ely. Which is the lowest group. Colonel Folsom. Which is the lowest. Mr. Ely. Now, directing your attention to page 8, which is a summary court memorandum: this relates, I believe, to his first court-martial, and in general is self-explanatory. I want, however, to ask you about one sentence which to me seems to be in error. According to the notation made here on page 8, under the title "Convening Authorities Action Dated," it states that that part of Oswald's sentence confining him at hard labor for 20 days would be suspended "for 6 months at which time, unless the suspension is sooner vacated, the sentence to confinement at hard labor for 20 days will be remitted without further action." However, turning our attention down to Section 11, page 8, it was noted that on June 27, 1958, which would be the time of his
  • 58. second court-martial, "Confinement at hard labor for 28 days vacated on June 27, 1958." So the way it is worded it says that the confinement would be vacated. Am I correct in assuming, Colonel, that what it really means to say is that the suspension of the sentence was vacated? Colonel Folsom. This is correct. However, there appears to be an error here, since the original sentence was for 20 days, and not 28 days, as shown under the subject entry. Mr. Ely. Right. So I suppose we have a typographical error, substituting 28 for 20 and we also have a misleading sentence in that it implies that the sentence was vacated rather than that the suspension of the sentence was vacated. Colonel Folsom. This is correct. Mr. Ely. However, Colonel, what did happen is that when he was court-martialed the second time, they then sentenced him to both the sentence for the second court-martial and at that time gave him the sentence that he received in connection with the first court- martial? Colonel Folsom. Well, that portion of it—unexecuted portion of the first sentence. Mr. Ely. That is correct. Thank you. On page 9 of the exhibit we have some records relating to the second court-martial. At this point, again, I think the page is in general self-explanatory. However, under the section marked "Findings" on each charge, and specifications, there is the notation that on Charge II he was found not guilty, and then it goes on to say, "On specification of" Charge I. Am I correct in thinking that is a typographical error and that it should be that on the specification of Charge II, he was found not guilty?
  • 59. Colonel Folsom. That is correct. Mr. Ely. So the record should read, on page 9, that Oswald was found guilty on Charge I, which was a violation of Article 117 of the Uniform Code of Military Justice. Similarly he was found guilty on the specification under Charge I, which was wrongfully using provoking words to a staff noncommissioned officer. However, on Charge II, which was a violation of Article 128 of the Uniform Code of Military Justice, he was found not guilty, and he was similarly found not guilty on the specification of that charge which was assaulting a staff noncommissioned officer by pouring a drink on him. Colonel Folsom. This is correct. Mr. Ely. Turning now to page 10 of the exhibit, the title of which is "Administrative Remarks" I note entries dated April 14, 1958, indicating that a request for an extension of Oswald's overseas tour had been received and approved. Must such a request come from the marine whose overseas tour is involved? Colonel Folsom. Yes. This must be a voluntary request from the individual concerned. Mr. Ely. In other words, then, Oswald wanted to stay overseas longer than he was scheduled to have been over there? Colonel Folsom. Yes. Mr. Ely. I note, also, on page 10 that this extension which had been approved was later canceled, on July 13, 1958. Is there any way of determining from this record what the reason for this cancellation was? Colonel Folsom. No; other than knowledge of the system, which indicates that the local commander withdrew his approval of the extension as a result of the disciplinary action. Mr. Ely. So we might guess that because this followed his second court-martial, that was the reason?
  • 60. Colonel Folsom. Yes; and it followed it very closely. Mr. Ely. Now, we will move all the way over to page 26, and I want to ask you about only one entry here—actually it is two entries relating to one event. On January 19, 1959, the record discloses that Oswald departed El Toro for Yuma, Arizona, and that on January 26, 1959, he returned to El Toro from Yuma. Is there any way of telling from this record for what purpose he went to Yuma? Colonel Folsom. Yes. The record shows that he departed MCS, MCAS, El Toro, for ADEX, 1-59, which is a designation for an air defense exercise, the first one held during 1959. Mr. Ely. Turning to page 27, I just want to clear up one detail that might be confusing to somebody who has been in the Army rather than in the Marine Corps. It is here noted that Oswald was, at least for part of his career, private, first class, and at the same time his pay grade was "E-2". Am I correct in asserting that in the Marine Corps a private is an E-1, a private first class is an E-2, your E-3 is a lance corporal, and your E-4 is a corporal? Colonel Folsom. This is correct. This is under the new rank structure. Mr. Ely. Turning now to page 36 of Folsom Deposition Exhibit 1, I want to ask you about only one abbreviation here. This is one that is indicated for both the periods June 27, 1958 through June 30, 1959 and July 1, 1958 through July 24, 1958. It is an abbreviated CNF SSCM. What does that stand for? Colonel Folsom. Confined, serving sentence—it should be summary court-martial, but let me look at the record. Mr. Ely. You mean there should be three "S's"?
  • 61. Colonel Folsom. I just want to be sure somebody didn't goof and ring a special in here. Yes—serving sentence, summary court-martial. Mr. Ely. Turning now to page 106 of the exhibit, we have here a document relating to the high school level general educational development tests which were taken by Oswald on March 23, 1959. Page 106 reports the scores received by Oswald on each of these five tests, and also converts each score into a so-called United States percentile. However, it does not make clear what the five areas in which Oswald was tested were. Could you tell us what they are? Colonel Folsom. Yes. The high school "GED" test covers five areas. One, English literature; two, English composition; three, social sciences; four, physical sciences; five, mathematics. Mr. Ely. Is it the case that those five that you have just read off were read in the same order as they are numbered on the score sheet? Colonel Folsom. Yes. The battery is administered in the sequence in which it appears on the report. Mr. Ely. And am I correct in asserting that on this test Oswald received a rating of satisfactory? Colonel Folsom. This is correct. I believe USAFI rates as satisfactory or unsatisfactory. Mr. Ely. Right. Well, that is not entirely clear. We have a rating code printed in the lower right-hand corner. Colonel Folsom. Well, they have two passing ones—satisfactory, and "D" with distinction, and "U", unsatisfactory. Mr. Ely. So he could have received a higher rating than he did? Colonel Folsom. This is correct.
  • 62. Mr. Ely. Finally for this document, turning to page 120, we have a rather imposing score sheet which relates Oswald's scores while he was in training at Jacksonville, Florida. Could you explain the meaning of these numbers insofar as you can? Colonel Folsom. Well, the first column indicates the number of hours devoted to the subject. In the first instance, 37 hours to mathematics, two examinations were given, he achieved a score of 67 on the first and 54 on the second. The last—the next column indicates his average score for that subject. Twenty-five hours physics, score, 75 and 77. Mr. Ely. Excuse me. Do you know whether those scores you just read are on a scale of 100? Colonel Folsom. I do not know. But from the mathematics I would assume they are, particularly since they say that 62 is a passing score. Mr. Ely. I see. Now, getting back again to the column which is second from the right, which you say represents his average. It is his average on the previous test carried out to three digits without the decimal point. Colonel Folsom. That is correct. This report was prepared on an electric accounting machine, and is a little difficult to interpret. Mr. Ely. Yes. But I do see that that makes sense in terms of the individual scores. Colonel Folsom. Do you want to go through all of these? Mr. Ely. No; I don't think that will be necessary, now that you have explained the principle by which the scores are recorded. Colonel Folsom. Under the heading "Indoctrination Test Scores" this is a test, an Army test battery, which in this instance was administered by the Marine Corps at a Navy installation. It consists
  • 63. of a reading and vocabulary, arithmetic computation, arithmetical reasoning, and pattern analysis. The "GC" is an abbreviation for "GCT". These are raw scores. Mr. Ely. The ones designated RV, AC, AR, and PA? Colonel Folsom. And the scores indicated are raw scores, which converted to the Marine Corps scoring on the general classification test shows that Oswald achieved a score of 105 on this test battery, and a score of 106 on the Marine Corps test batter. So the correlation is quite close. The column headed "B" indicates year of birth. And the "G" column indicates the number of years of schooling—in this case, nine. Mr. Ely. All right. Colonel, I would finally like to show you a document which has already been introduced in evidence before the Commission in connection with the testimony of Marguerite Oswald. It is, therefore, designated Exhibit 239. This exhibit is a photostatic copy. Could you tell us, Colonel, of what it is a photostatic copy? Colonel Folsom. It is a Photostatic copy of the U.S. Marine Corps Scorebook for use with the U.S. Rifle, Caliber 30 M-1. Now, this scorebook is issued to each individual at each time they are sent on the rifle range for qualification or requalification. They are maintained by the individual and are used to provide the individual with a record of the idiosyncracies of the weapon, and the weather on the day that the entries are made. This is referred to in the Marine Corps as the zero of the rifle, because the sight settings are individual characteristics of the particular rifle used. That is, he may—this rifle may require a half a point more windage under the same wind velocity than another rifle, and that the scale by
  • 64. yards may require adjustment depending upon the range that is being fired. Mr. Ely. This book, then, is used by the individual Marine prior to his firing for record in order that he can zero his weapon so that he will do well on his record firing? Colonel Folsom. This is the purpose. And it should be maintained even on the day that he fires for record. In this particular record, it would appear that the entries were rather limited. As a matter of fact, it was not adequately maintained for the purpose for which it was designed. Mr. Ely. Is it possible, Colonel, to tell anything from this scorebook, assuming for the moment that it was accurately maintained, concerning the marksmanship of Lee Harvey Oswald? Colonel Folsom. Well, yes. But very generally. For instance, at 200 yards slow fire—on Tuesday, at 200 yards slow fire, offhand position—— Mr. Ely. You are referring, are you not, to the page designated 22 in Oswald's scorebook? Colonel Folsom. Right—well, 22 as opposed to 23. He got out in the three ring, which is not good. They should be able to keep them —all 10 shots within the four ring. Mr. Ely. And even if his weapon needed a great deal of adjustment in terms of elevation or windage, he still would have a closer group than that if he were a good shot? Colonel Folsom. Yes. As a matter of fact, at 200 yards, people should get a score of between 48 and 50 in the offhand position. Mr. Ely. And what was his score? Colonel Folsom. Well, total shown on page 22 would be—he got a score of 34 out of a possible 50 on Tuesday, as shown on page 22 of his record book.
  • 65. On Wednesday, he got a score of 38, improved four points. Do you want to compute these? Mr. Ely. I don't see any point in doing this page by page. I just wonder, after having looked through the whole scorebook, if we could fairly say that all that it proves is that at this stage of his career he was not a particularly outstanding shot. Colonel Folsom. No, no, he was not. His scorebook indicates—as a matter of fact—that he did well at one or two ranges in order to achieve the two points over the minimum score for sharpshooter. Mr. Ely. In other words, he had a good day the day he fired for qualification? Colonel Folsom. I would say so. Mr. Ely. Well, Colonel, as far as I can see, that is all the testimony that we need from you with regard to these records. No doubt there are ambiguities in the records which I have not caught. I have asked you about the ones that seemed most confusing to me. Can you think of anything else that you would like to add for the record? Colonel Folsom. No; I believe that the record is rather complete. There are no missing documents from this official record. The photostatic copy contains everything that is in the original record. And I do not believe that there are any discrepancies, other than those clerical errors which have been noted on such items as the summary court-martial records. Mr. Ely. But you cannot think of any errors which we did not mention during your testimony today? Colonel Folsom. No; I do not. Mr. Ely. All right. In that case, Colonel, on behalf of the Commission, I want to thank you very much for giving your testimony. It has been very
  • 67. TESTIMONY OF CAPT. GEORGE DONABEDIAN The testimony of Captain George Donabedian was taken at 2:15 p.m., on May 1, 1964, at 200 Maryland Avenue NE., Washington, D.C., by Mr. John Hart Ely, member of the staff of the President's Commission. Mr. Ely. Will you stand and be sworn? Do you solemnly swear that the testimony you are about to give will be the truth, the whole truth, and nothing but the truth, so help you God? Captain Donabedian. I do. Mr. Ely. Please be seated. My name is John Ely. I am a member of the legal staff of the President's Commission on the Assassination of President Kennedy. Staff members have been authorized to take the testimony of witnesses pursuant to authority granted to the Commission by Executive Order No. 11130, dated November 29, 1963, and joint Resolution of Congress No. 137. Under the Commission's rules, each witness is to be provided with a copy of the Executive order of the joint resolution, and a copy of the rules that the Commission has adopted governing the taking of testimony from witnesses.
  • 68. Is it correct that I have provided you with copies of these documents? Captain Donabedian. Yes. Mr. Ely. Under the Commission rules, also, each witness is entitled to 3 days' notice before he is required to come and give testimony. You were not given 3 days' notice. However, each witness can waive that notice requirement if he wishes, and I assume by your presence that you are willing to waive that notice requirement. Captain Donabedian. I do. Mr. Ely. Would you state your full name, please? Captain Donabedian. Captain George Donabedian, Medical Corps, U.S. Navy. Mr. Ely. And what position exactly do you hold? Captain Donabedian. Staff medical officer, Headquarters, U.S. Marine Corps, Washington, D.C. Mr. Ely. You are an M.D., is that correct? Captain Donabedian. Yes; I am. Mr. Ely. How long have you held the position of staff medical officer? Captain Donabedian. Since July 1959. Mr. Ely. Prior to the assassination of President Kennedy, had you ever heard of Lee Harvey Oswald? Captain Donabedian. No; I had not. Mr. Ely. You, like Lieutenant Colonel Folsom, were called in to give us some help in interpreting the records of Lee Harvey Oswald —in other words, your testimony does not stem from any personal contact with the man.
  • 69. Captain Donabedian. Right. Mr. Ely. I will show you now a document which I have just labeled "Donabedian Deposition Exhibit No. 1." (The document referred to was marked "Donabedian Deposition Exhibit No. 1" for identification.) Mr. Ely. Doctor, could you tell us generally what this document is? Captain Donabedian. This is taken from the health record of the marine. Mr. Ely. It is, in other words, a photostatic copy—— Captain Donabedian. A photostatic copy of a medical document which each military person has. We have the physical examinations on entrance, and any other illnesses that he may develop during his service, which diseases are recorded and the treatments are recorded, and the inoculations he receives. Mr. Ely. I have numbered the pages of this exhibit in the upper right-hand corner. Because it was previously part of a larger document, Commission Document 82, the pagination of Donabedian Deposition Exhibit No. 1 runs from 132 through 171. Doctor, I would like, first, to refer you to an entry made on page 147 of this exhibit, and dated July 12, 1958. Could you explain it? Captain Donabedian. "Bleeding from the rectum. For the past 1 month has noticed bleeding on paper after bowel movement. This a.m., one to two drops bright red blood dropped into stool. Bowel movement light brown and very hard. Examination." Mr. Ely. The copy at that point becomes illegible. Captain Donabedian. "Slight irritation and moderate." Anyway, they gave him treatment with mineral oil. Mr. Ely. And what was the overall diagnosis?
  • 70. Captain Donabedian. Hemorrhoids was the diagnosis. Mr. Ely. And what did you say the treatment was? Captain Donabedian. The treatment was mineral oil, rectal suppository. Mr. Ely. All right. I would like to show you now an entry which is on page 40, but which is chronologically later than the one to which we just referred, and that is the entry dated—— Captain Donabedian. 10-6-57. "Urethritis acute. Nonvenereal." Mr. Ely. Before we get into that, could we discuss the entry of 10-10-58? Captain Donabedian. "Sigmoidoscopy." I don't know what this number is, unless the number of the procedure. They discharged this man on 10-13-58. Mr. Ely. Do you believe that relates to the hemorrhoids? Captain Donabedian. He may have had some trouble with the lower bowel, or possibly some more bleeding, and they looked inside the rectum and the sigmoid to determine if there was any cause of the bleeding. Mr. Ely. I would like at this point to refer you to pages 152 through 156 of this exhibit. I shall let you proceed to explain what these mean without questioning. Captain Donabedian. On 9-10-58, slight burning on urination. "Has urethral discharge." Mr. Ely. Well, if you cannot read it, there is no point—— Captain Donabedian. Then they took a smear. Mr. Ely. What is the purpose of a smear? Captain Donabedian. A smear is to diagnose the cause of the infection, the cause of the discharge, to see what type of bacteria
  • 71. was present. And on 9-23-58, report of a urethral discharge sensitivity test. A culture was taken and reported staphylococcal hemolytic. And the sensitivity test to determine what drug we have that will affect that particular bacteria that is causing this. And erythromycin was the drug of choice. On page 154, on 16 September 58 he evidently went to one of the outlying dispensaries, and they said "Send to the mainside for smear," which means he was sent to the mainside dispensary to get the smear taken. September 1958, the complaint was urethral discharge. They sent him to the lab for a smear. And here it says, "Gram negative, diplococci intra- and extra- cellular morphological resembling neisseria gonococci." Mr. Ely. Could you tell us, Doctor, generally, what that means? Captain Donabedian. Well, this resembles the gonococcus bacteria which causes gonorrhea. And it says here morphologically resembling this germ—since the only legal diagnosis would be to have a culture made to prove this or disprove it. And here for his treatment they gave him penicillin, it looks like 400,000 units, four times a day, for 3 days, and said "Return on Monday in the p.m., for a repeat smear." Then on September 30, 1958, "Still has profuse discharge, somewhat clearer, received course of penicillin ending 2 days ago." In other words, he had finished getting his penicillin. So for this profuse discharge, they treated him with chloromycetin capsules, one, four times a day, and return Monday for smear and culture. Then on September 22—— Mr. Ely. I believe the last item was September 20.
  • 72. Captain Donabedian. Then September 22, 1958, urethral discharge, and it says "September 23" underneath—"urethral discharge, smear and culture." The smear showed many pus cells, no organisms noted. The culture showed micrococcus pyogenous vas aurens. This is the type of bacteria that gives a dark-greenish color discharge. Mr. Ely. Does either the results of the smear or the results of the culture say anything about whether or not Oswald had gonorrhea, or can we tell? Captain Donabedian. Not in this one. The one above here, we assume he had gonorrhea—on the 16th. Mr. Ely. We would assume he had it, even though, as you pointed out, you could not prove it in court, because it was determined by a smear rather than a culture? Captain Donabedian. Most of the doctors use this. They may take a smear, and they find that—intra and extracellular diplococci, they treat the patient for gonorrhea. Now, the treatment for his micrococcus pyogenous is "continue chloromycetin," I guess it is four times a day. Yes; it was four times a day. And then continue four times a day. And something was given. And they wanted him to return again. I cannot tell what this is. Instructions, probably. Some instructions were given. On September 29, 1958, the complaint was urethral discharge. They took a smear. And that was—"many pus cells were noted, no organisms were noted." The note underneath is "good response to therapy, has been doing much heavy lifting." They must have given him light duty for 3 days. "To repeat smear, 1 week." October 6, 1958, the complaint was urethral discharge. They took a smear. The report was "moderate amount of pus cells, few
  • 73. gram positive cocci." This is not gonorrhea. "Heavy discharge with occasional burning. Has been doing heavy lifting recently." "Some heavy discharge with occasional burning of the urination"—although this says dysurea—"has been doing heavy lifting recently." October 24, 1958, the complaint was urethral discharge, and they gave him pyridium, one tablet five times a day—one gram five times a day. No—"return in 5 days." They just gave him pyridium, and "d" means to duty, and return in 5 days. "Smear, few pus cells, some mucus threads noted, occasional gram positive cocci noted." The next date is hard to tell. Something—"qid for for 5 days." The next thing is hard to tell. Mr. Ely. All right. That entry is illegible. Captain Donabedian. Page 156. He was admitted to the sick list, 9-16-58, diagnosis, "urethritis acute due to gonococcus." This is No. 0303. And in handwriting—— Mr. Ely. That is my handwriting, so we will disregard that. Captain Donabedian. The chief complaint is urethral discharge. "Present illness. Patient complains of a slight discharge and a stinging sensation on urination. Past history—previous venereal disease. Physical examination, essentially negative, except for thick mucco burn discharge from the urethra. Laboratory. Smear reveals gram negative intra- and extra-cellular diplococci having a morphology resembling gonorrhea." Unless they took a culture to grow the germ out, they could not absolutely be certain.
  • 74. Mr. Ely. You mentioned that under this previous history column it mentioned "previous VD." Does that mean that Oswald had had it prior to this time? Captain Donabedian. At another time, in his past, whenever that would be. It could have been while he was in the service, although we didn't notice in these records. But he could have had it before he came in the service. VD could be any venereal disease. There are five different kinds. Mr. Ely. But you have not seen any reference in his medical records to any prior case during his military career? Captain Donabedian. No; except those that we reported within those dates. Treatment was procaine penicillin, 900,000 units, intramuscularly for 3 days. Now, you remember when we read the other report it looked like 400,000 units. It is most apt to be 900,000 units. Mr. Ely. It should be noted page 156 contains typewriting rather than handwriting as the other one did. And I believe this entry on page 156 is something of a summary. Captain Donabedian. This is a summary. He was admitted on 9- 16-58, and discharged on the same day. But they readmitted these VD cases for statistical purposes, so we can keep track of how many people have been in contact with this. And he was sent to duty under treatment and observation. Mr. Ely. Would it be fair to say, Doctor, summarizing your testimony as to these few pages, that this looks, as far as we can tell, like a typical case of gonorrhea? Captain Donabedian. Yes; it does.
  • 75. Mr. Ely. Nothing extraordinary about it? But it certainly does seem that he did have gonorrhea at this point? Captain Donabedian. Right. Mr. Ely. These medical records also contain entries relating to the gunshot wound received by Oswald in connection with the .22- caliber pistol he had stored in his footlocker. I believe those entries are self-explanatory. Also, in filling out his own forms on physicals, Oswald made reference to a mastoid operation which he had had when he was a child. This, also, I think, is something we don't have to go into at this point. Doctor, I will ask you, in conclusion, if you, in looking through his medical records, have noticed anything which we have not mentioned which seems to you extraordinary—anything over and above the normal marine's complaints. Captain Donabedian. No; not offhand. He had a sore throat, which many boys have in the service. He had a cold. And he had one other infection, otitis media, in 1957. Mr. Ely. That reference appears at page 150. Captain Donabedian. And they give him penicillin, 600,000 units, 5 days. I see nothing else. Mr. Ely. In that case, Doctor, we will thank you very much for helping to explain these records for us. Captain Donabedian. Thank you.
  • 76. AFFIDAVIT OF JAMES ANTHONY BOTELHO The following affidavit was executed by James Anthony Botelho on June 3, 1964. AFFIDAVIT PRESIDENT'S COMMISSION ON THE ASSASSINATION OF PRESIDENT JOHN F. KENNEDY State of California, County of San Benito, ss: I, James Anthony Botelho, 820 West Alisal Street, Salinas, California, being first duly sworn, depose and say: That I served in the United States Marine Corps from January 8, 1957, to January 8, 1960. I served with Lee Harvey Oswald from about March to September 1959, while we were both attached to Marine Air Control Squadron No. 9, Marine Corps Air Facility, Santa Ana, California. Oswald once mentioned to me that he would like to go to Cuba to train Castro's troops because of the money he would earn. I shared a room with Oswald for approximately two months prior to his discharge. He was unusual in that he generally would not speak unless spoken to, and his answers were always brief. He seldom associated with others.
  • 77. Oswald subscribed to a newspaper printed in Russian, which I believe he said was published in San Francisco. It was common knowledge that Oswald had taught himself to speak Russian. Oswald used expressions like "da" and "niet" around the squadron. Some of his fellow Marines kidded him by calling him "Oswaldskovich". Once, when I called him up "Oswald", he requested in a serious vein, that I refer to him as "Oswaldskovich". At times Oswald referred, seemingly seriously, to "American capitalist warmongers." At times I discussed Communism and Russia with Oswald. My impression is that although he believed in pure Marxist theory, he did not believe in the way Communism was practiced by the Russians. I was quite surprised when I learned that Oswald had gone to Russia. Generally, Oswald's uniforms were clean but not neat; they were either unironed or sloppily ironed. As far I know, Oswald seldom left the post. On one occasion he and I went to a movie in Santa Ana; on other occasions we walked around Santa Ana. Although Oswald did a good deal of reading, I do not remember what sort of books he read. We both enjoyed classical music. I still have some of the classical records we purchased together. I recall that he particularly enjoyed Tchaikovsky's "Russian War Dance". Oswald played chess with both me and Call. Oswald was not a very good chess player, although he was better than I was. It was my impression that Oswald was quite intelligent. He performed his job no better and no worse than the average Marine; he made no effort to obtain perfection. His superiors had to "keep after him" in order to get him to finish the job he had been assigned. This surveillance made him all the more belligerent. In my opinion, one was likely to get better results from him by treating him politely. I do not recall Oswald's engaging in any fights, except for nonbelligerent recreation around the barracks.
  • 78. It is my impression that Oswald's clearance was taken away from him; for this reason, I believe he was made company clerk at Santa Ana. I believe that before Oswald requested his hardship discharge, the Sergeant Major was planning to take steps to "straighten Oswald out." Although Oswald may have drunk at times, I never observed him to be intoxicated. I do not remember Oswald's studying Spanish or German nor do I recall any remarks concerning his religious beliefs. I remember Oswald's having a date with a girl who spoke Russian. I believe Oswald liked the girl a great deal, but he was for some reason unable to get in touch with her thereafter. I have no recollection of his receiving any visitors. Signed this 3d day of June 1964, at San Juan Bautista, Calif. (S) James Anthony Botelho, James Anthony Botelho.
  • 79. AFFIDAVIT OF DONALD PETER CAMARATA The following affidavit was executed by Donald Peter Camarata on May 19, 1964. AFFIDAVIT PRESIDENT'S COMMISSION ON THE ASSASSINATION OF PRESIDENT JOHN F. KENNEDY State of California, County of Santa Cruz, ss: I, Donald Peter Camarata, 601 Burlingame Avenue, Capitola, California, being first duly sworn, depose and say: That Lee Harvey Oswald and I were concurrently stationed at the following military installations while we were both members of the United States Marine Corps: Keesler Air Force Base in Biloxi, Mississippi; the Marine Air Stations at El Toro and Santa Ana, California, and possibly the Naval Air Station at Jacksonville, Florida. Although I served in the Far East, Oswald and I were not in the same unit at that time. While in the Marine Corps, I heard from other Marines that Oswald was studying Russian. I personally observed that Oswald had his name written in Russian on one of his jackets, and played records of Russian songs so loud that one could hear them outside the barracks.
  • 80. Either en route back to the United States or subsequent to my return, I heard a rumor to the effect that Oswald had been in some way responsible for the death of Martin Schrand. I have no personal knowledge of any such involvement. I do not remember who told me of this rumor, and am not even certain that I heard it from more than one person. Oswald seldom, if ever, left the post in the company of other Marines. I would not characterize Oswald as an extremely unfriendly person; he simply did not often choose to be with his fellow Marines off post. Oswald was not particularly prone to fighting. Although he apparently resented the orders of his superiors no more than does the average Marine, he was more outspoken than average in his resentment. However, he generally followed such orders. Although I have no firm impression of the level of Oswald's intelligence, he was a man who attempted to make other people believe he was intelligent. I know from rumor that Oswald received a newspaper printed in Russian. I was informed by my fellow Marines that one of his superiors—either the First Sergeant or a Lieutenant—asked Oswald why he read this paper. I have no recollection of Oswald's studying or speaking either Spanish or German: of any remarks on his part concerning Communism, Russia, or Cuba: of his religious beliefs: of any abnormal attitude toward women on his part; or of his receiving any visitors. Oswald was nicknamed "Oz". Signed this 19th day of May, 1964, at Santa Cruz, Calif.
  • 81. (S) Donald Peter Camarata, Donald Peter Camarata.
  • 82. AFFIDAVIT OF PETER FRANCIS CONNOR The following affidavit was executed by Peter Francis Connor on May 22, 1964. AFFIDAVIT PRESIDENT'S COMMISSION ON THE ASSASSINATION OF PRESIDENT JOHN F. KENNEDY State of Connecticut, County of New Haven, ss: I, Peter Francis Connor, 27 Flaum Drive, West Haven, Connecticut, being first duly sworn, depose and say: That, while I was in the Marine Corps, I was stationed at Atsugi, Japan, with Lee Harvey Oswald. Oswald had the reputation of being a good worker. I observed that he was not personally neat. I remember that while Oswald was in Japan, he wore an expert rifleman's medal. I never heard Oswald make any anti-American or pro-Communist statements. He claimed to be named after Robert E. Lee, whom he characterized as the greatest man in history. Although Oswald engaged in several fights—one of them with a Robert Demurs—I have no recollection as to how good a fighter he was.
  • 83. Oswald did not choose to associate with his fellow Marines, nor did they choose to associate with him. He often responded to the orders of his superiors with insolent remarks. I have no recollection to how much Oswald drank. I was of the opinion that Oswald was intelligent. He read a great deal, but I do not remember what sort of books he read. Oswald was nicknamed "Harv." This was a shortened version of his middle name; for some reason it upset him to be called by it. I have no recollection concerning Oswald's religious beliefs, his attitude toward women, or what he did off post. Signed this 22d day of May, 1964, at West Haven, Conn. (S) Peter Francis Connor, Peter Francis Connor.
  • 84. AFFIDAVIT OF ALLEN D. GRAF The following affidavit was executed by Allen D. Graf on June 15, 1964. AFFIDAVIT PRESIDENT'S COMMISSION ON THE ASSASSINATION OF PRESIDENT JOHN F. KENNEDY State of New York, County of Erie, ss: I, Allen D. Graf, 31 East Utica Street, Buffalo, New York, being first duly sworn, depose and say: That I served in the United States Marine Corps from 1948 to 1961. While stationed in California, I was Lee Harvey Oswald's Platoon Sergeant. Oswald often complained about the Marine Corps; he seemed to me to resent all military authority. He also seemed narrow-minded, refusing to listen to the views of others. Once, at the rifle range, I had a long discussion with Oswald concerning why he found it difficult to adapt to the Marine Corps. He explained that his mother had had a great deal of trouble during the depression and that when he was young, he had often not had
  • 85. enough to eat. He felt that he had been forced to accept responsibility at a premature age. He remarked that he was tired of being "kicked around." Oswald never gave to me any indication of favoring Communism or opposing capitalism. It was difficult to judge the level of Oswald's intelligence, because he seldom stated his opinions. However, with regard to his job in the Marine Corps, Oswald learned quickly. Oswald went to a great many movies, and did not often engage in sports. It is my recollection that Oswald enjoyed firing a rifle, and scored in the "high expert" range. Oswald did not drink excessively, and kept his temper—if indeed he had a temper—in check. I have no recollection of Oswald's studying foreign languages; of where he went when he had time off; of his reading habits or religious beliefs; or of any nicknames for him. Nor do I remember his having any dates. Signed this 15th day of June, 1964, at Buffalo, N.Y. (S) Allen D. Graf, Allen D. Graf.
  • 86. AFFIDAVIT OF JOHN RENE HEINDEL The following affidavit was executed by John Rene Heindel on May 19, 1964. AFFIDAVIT PRESIDENT'S COMMISSION ON THE ASSASSINATION OF PRESIDENT JOHN F. KENNEDY State of Louisiana, Parish of New Orleans, ss: I, John Rene Heindel, 812 Belleville Street, New Orleans, Louisiana, being first duly sworn, depose and say: That I served in the United States Marine Corps from July 15, 1957, until July 15, 1961. I was stationed at Atsugi, Japan, with Lee Harvey Oswald. I recall that Oswald was often in trouble for failure to adhere to rules and regulations and gave the impression of disliking any kind of authority. While in the Marine Corps, I was often referred to as "Hidell"— pronounced so as to rhyme with "Rydell" rather than "Fidel." This was a nickname and not merely an inadvertent mispronounciation. It is possible that Oswald might have heard me being called by this name; indeed he may himself have called me "Hidell." However, I have no specific recollection of his either using or hearing this name.
  • 87. Although I generally regarded Oswald as an intelligent person, I did not observe him to be particularly interested in politics or international affairs. While in Japan, Oswald drank a good deal, at times becoming intoxicated. He was willing to do so because he did not greatly care whether or not he got back to the post on time. Oswald did not often talk back to his superiors, but was likely to complain about their orders when he was alone with his fellow Marines. Oswald generally went on liberty by himself; I therefore do not know what his activities off post were. I do not recall Oswald's being called by any nicknames. Although our Marine Air Group was sent to Formosa for a period of time, I am unable to remember Oswald's being there. Signed this 19th day of May, 1964, at New Orleans, La. (S) John Rene Heindel, John Rene Heindel.
  • 88. Welcome to our website – the perfect destination for book lovers and knowledge seekers. We believe that every book holds a new world, offering opportunities for learning, discovery, and personal growth. That’s why we are dedicated to bringing you a diverse collection of books, ranging from classic literature and specialized publications to self-development guides and children's books. More than just a book-buying platform, we strive to be a bridge connecting you with timeless cultural and intellectual values. With an elegant, user-friendly interface and a smart search system, you can quickly find the books that best suit your interests. Additionally, our special promotions and home delivery services help you save time and fully enjoy the joy of reading. Join us on a journey of knowledge exploration, passion nurturing, and personal growth every day! ebookbell.com