100% found this document useful (3 votes)
66 views

Foundation Db2 and Python: Access Db2 with Module-Based API Examples Using Python 1st Edition W. David Ashley - Download the ebook today and experience the full content

The document provides information about various ebooks available for download at ebookmeta.com, including titles such as 'Foundation Db2 and Python' by W. David Ashley and 'Practical Explainable AI Using Python' by Pradeepta Mishra. It includes links to each ebook and mentions the formats available for download. Additionally, it contains details about the content and structure of 'Foundation Db2 and Python', covering topics related to Db2 and Python integration.

Uploaded by

ddsiyunyan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
66 views

Foundation Db2 and Python: Access Db2 with Module-Based API Examples Using Python 1st Edition W. David Ashley - Download the ebook today and experience the full content

The document provides information about various ebooks available for download at ebookmeta.com, including titles such as 'Foundation Db2 and Python' by W. David Ashley and 'Practical Explainable AI Using Python' by Pradeepta Mishra. It includes links to each ebook and mentions the formats available for download. Additionally, it contains details about the content and structure of 'Foundation Db2 and Python', covering topics related to Db2 and Python integration.

Uploaded by

ddsiyunyan
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 76

Read Anytime Anywhere Easy Ebook Downloads at ebookmeta.

com

Foundation Db2 and Python: Access Db2 with Module-


Based API Examples Using Python 1st Edition W.
David Ashley

https://ebookmeta.com/product/foundation-db2-and-python-
access-db2-with-module-based-api-examples-using-python-1st-
edition-w-david-ashley/

OR CLICK HERE

DOWLOAD EBOOK

Visit and Get More Ebook Downloads Instantly at https://ebookmeta.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Foundation Db2 and Python: Access Db2 with Module-Based


API Examples Using Python 1st Edition W. David Ashley

https://ebookmeta.com/product/foundation-db2-and-python-access-
db2-with-module-based-api-examples-using-python-1st-edition-w-david-
ashley-2/
ebookmeta.com

Practical Explainable AI Using Python: Artificial


Intelligence Model Explanations Using Python-based
Libraries, Extensions, and Frameworks Pradeepta Mishra
https://ebookmeta.com/product/practical-explainable-ai-using-python-
artificial-intelligence-model-explanations-using-python-based-
libraries-extensions-and-frameworks-pradeepta-mishra/
ebookmeta.com

Learn OpenCV with Python by Examples 2nd Edition James


Chen

https://ebookmeta.com/product/learn-opencv-with-python-by-
examples-2nd-edition-james-chen/

ebookmeta.com

Pocket Handbook of GI Pharmacotherapeutics 3rd Edition


Marianna G Mavilia George Y Wu

https://ebookmeta.com/product/pocket-handbook-of-gi-
pharmacotherapeutics-3rd-edition-marianna-g-mavilia-george-y-wu/

ebookmeta.com
Training a Wife 1st Edition Trinity Blacio

https://ebookmeta.com/product/training-a-wife-1st-edition-trinity-
blacio/

ebookmeta.com

Physics Text Book Part 1 for Class 12 12089 Ncert (Author)

https://ebookmeta.com/product/physics-text-book-part-1-for-
class-12-12089-ncert-author/

ebookmeta.com

The Business of Emotions in Modern History 1st Edition


Mandy L. Cooper

https://ebookmeta.com/product/the-business-of-emotions-in-modern-
history-1st-edition-mandy-l-cooper/

ebookmeta.com

Web Development and Design Foundations with HTML5, 10/e


10th Edition Terry Felke-Morris

https://ebookmeta.com/product/web-development-and-design-foundations-
with-html5-10-e-10th-edition-terry-felke-morris/

ebookmeta.com

A companion to medical anthropology Second Edition César


Abadía Barrero Editor Merrill Singer Editor Pamela Irene
Erickson Editor
https://ebookmeta.com/product/a-companion-to-medical-anthropology-
second-edition-cesar-abadia-barrero-editor-merrill-singer-editor-
pamela-irene-erickson-editor/
ebookmeta.com
Euphrates River Valley Settlement The Carchemish Sector in
the Third Millennium BC Edgar Peltenberg

https://ebookmeta.com/product/euphrates-river-valley-settlement-the-
carchemish-sector-in-the-third-millennium-bc-edgar-peltenberg/

ebookmeta.com
Foundation
Db2 and Python
Access Db2 with Module-Based API
Examples Using Python

W. David Ashley
Foundation Db2
and Python
Access Db2 with Module-Based API
Examples Using Python

W. David Ashley
Foundation Db2 and Python
W. David Ashley
Austin, TX, USA

ISBN-13 (pbk): 978-1-4842-6941-1 ISBN-13 (electronic): 978-1-4842-6942-8


https://doi.org/10.1007/978-1-4842-6942-8

Copyright © 2021 by W. David Ashley


This work is subject to copyright. All rights are reserved by the Publisher, whether the whole or part of the
material is concerned, specifically the rights of translation, reprinting, reuse of illustrations, recitation,
broadcasting, reproduction on microfilms or in any other physical way, and transmission or information
storage and retrieval, electronic adaptation, computer software, or by similar or dissimilar methodology now
known or hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a trademark symbol with
every occurrence of a trademarked name, logo, or image we use the names, logos, and images only in an
editorial fashion and to the benefit of the trademark owner, with no intention of infringement of the
trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms, even if they are not
identified as such, is not to be taken as an expression of opinion as to whether or not they are subject to
proprietary rights.
While the advice and information in this book are believed to be true and accurate at the date of publication,
neither the authors nor the editors nor the publisher can accept any legal responsibility for any errors or
omissions that may be made. The publisher makes no warranty, express or implied, with respect to the
material contained herein.
Managing Director, Apress Media LLC: Welmoed Spahr
Acquisitions Editor: Celestin Suresh John
Development Editor: James Markham
Coordinating Editor: Divya Modi
Cover designed by eStudioCalamar
Cover image designed by Pixabay
Distributed to the book trade worldwide by Springer Science+Business Media New York, 1 New York Plaza,
Suite 4600, New York, NY 10004-1562, USA. Phone 1-800-SPRINGER, fax (201) 348-4505, e-mail orders-ny@
springer-sbm.com, or visit www.springeronline.com. Apress Media, LLC is a California LLC and the sole
member (owner) is Springer Science + Business Media Finance Inc (SSBM Finance Inc). SSBM Finance Inc
is a Delaware corporation.
For information on translations, please e-mail booktranslations@springernature.com; for reprint,
paperback, or audio rights, please e-mail bookpermissions@springernature.com.
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook versions and
licenses are also available for most titles. For more information, reference our Print and eBook Bulk Sales
web page at http://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is available to
readers on GitHub via the book’s product page, located at www.apress.com/978-­1-­4842-­6941-­1. For more
detailed information, please visit http://www.apress.com/source-­code.
Printed on acid-free paper
This book is dedicated to teachers everywhere, but especially
all those who had me as a student.
Table of Contents
About the Author��������������������������������������������������������������������������������������������������� xiii

About the Technical Reviewer���������������������������������������������������������������������������������xv

Chapter 1: Introduction to Db2��������������������������������������������������������������������������������� 1


What Is a Relational Database?���������������������������������������������������������������������������������������������������� 3
The Relational Model��������������������������������������������������������������������������������������������������������������� 3
Domains���������������������������������������������������������������������������������������������������������������������������������� 4
Keys and Indexes��������������������������������������������������������������������������������������������������������������������� 4
Relationships��������������������������������������������������������������������������������������������������������������������������� 4
Transactions���������������������������������������������������������������������������������������������������������������������������� 5
Stored Procedures������������������������������������������������������������������������������������������������������������������� 5
Constraints������������������������������������������������������������������������������������������������������������������������������ 6
Normalization�������������������������������������������������������������������������������������������������������������������������� 6
SQL������������������������������������������������������������������������������������������������������������������������������������������������ 6
Data Definition Language (DDL)����������������������������������������������������������������������������������������������� 7
Data Query Language (DQL)���������������������������������������������������������������������������������������������������� 7
Data Control Language (DCL)��������������������������������������������������������������������������������������������������� 7
Data Manipulation Language (DML)���������������������������������������������������������������������������������������� 7
The ibm_db Project����������������������������������������������������������������������������������������������������������������������� 8
Summary�������������������������������������������������������������������������������������������������������������������������������������� 8

Chapter 2: Installing Db2������������������������������������������������������������������������������������������ 9


My Development Environment������������������������������������������������������������������������������������������������������ 9
Installation Prerequisites������������������������������������������������������������������������������������������������������������ 10
Planning the Db2 Install�������������������������������������������������������������������������������������������������������������� 11
Installing Db2������������������������������������������������������������������������������������������������������������������������������ 12

v
Table of Contents

Db2 Post-install Tasks����������������������������������������������������������������������������������������������������������������� 19


Installing the Db2 Sample Database������������������������������������������������������������������������������������������� 20
Summary������������������������������������������������������������������������������������������������������������������������������������ 21

Chapter 3: Db2 Management���������������������������������������������������������������������������������� 23


Db2 Instances����������������������������������������������������������������������������������������������������������������������������� 23
db2ilist����������������������������������������������������������������������������������������������������������������������������������� 25
Instance Environment Commands����������������������������������������������������������������������������������������� 25
Creating an Instance������������������������������������������������������������������������������������������������������������� 26
Arranging a Communication Port and Host for an Instance�������������������������������������������������� 26
Updating an Instance������������������������������������������������������������������������������������������������������������� 27
Upgrading an Instance���������������������������������������������������������������������������������������������������������� 28
Dropping an Instance������������������������������������������������������������������������������������������������������������ 29
Using Other Commands with an Instance����������������������������������������������������������������������������� 29
Databases����������������������������������������������������������������������������������������������������������������������������������� 30
Db2 Catalog Views����������������������������������������������������������������������������������������������������������������� 31
Locking Event Monitor����������������������������������������������������������������������������������������������������������� 31
Tablespace Information��������������������������������������������������������������������������������������������������������� 32
Storage Group Control Files��������������������������������������������������������������������������������������������������� 33
Global Configuration File������������������������������������������������������������������������������������������������������� 33
History Files��������������������������������������������������������������������������������������������������������������������������� 33
Logging Files������������������������������������������������������������������������������������������������������������������������� 33
Automated Storage Containers���������������������������������������������������������������������������������������������� 33
Creating a Database�������������������������������������������������������������������������������������������������������������� 34
Listing Databases������������������������������������������������������������������������������������������������������������������ 35
Activating a Database������������������������������������������������������������������������������������������������������������ 36
Deactivating a Database�������������������������������������������������������������������������������������������������������� 36
Connecting to a Database����������������������������������������������������������������������������������������������������� 36
Dropping a Database������������������������������������������������������������������������������������������������������������� 36
Tables������������������������������������������������������������������������������������������������������������������������������������������ 37
Table Types���������������������������������������������������������������������������������������������������������������������������� 39
Built-in Data Types���������������������������������������������������������������������������������������������������������������� 39

vi
Table of Contents

Creating a Table��������������������������������������������������������������������������������������������������������������������� 41
Alter a Table��������������������������������������������������������������������������������������������������������������������������� 43
Other Table SQL Statements�������������������������������������������������������������������������������������������������� 43
Dropping a Table�������������������������������������������������������������������������������������������������������������������� 44
Summary������������������������������������������������������������������������������������������������������������������������������������ 44

Chapter 4: Database Physical Design��������������������������������������������������������������������� 45


Phase 1: Data Gathering and Normalization������������������������������������������������������������������������������� 46
Data Gathering����������������������������������������������������������������������������������������������������������������������� 46
Data Normalization���������������������������������������������������������������������������������������������������������������� 48
Business Rules���������������������������������������������������������������������������������������������������������������������� 51
Phase 2: Physical Design of the Database���������������������������������������������������������������������������������� 51
Backups��������������������������������������������������������������������������������������������������������������������������������� 52
Summary������������������������������������������������������������������������������������������������������������������������������������ 53

Chapter 5: Db2 Utilities������������������������������������������������������������������������������������������� 55


Backup Command����������������������������������������������������������������������������������������������������������������������� 56
What Is a Backup?����������������������������������������������������������������������������������������������������������������� 56
Backup Verification���������������������������������������������������������������������������������������������������������������� 57
Advanced Backup Options����������������������������������������������������������������������������������������������������� 57
Backup Syntax����������������������������������������������������������������������������������������������������������������������� 57
Export Command������������������������������������������������������������������������������������������������������������������������� 59
Command syntax������������������������������������������������������������������������������������������������������������������� 60
Usage Notes�������������������������������������������������������������������������������������������������������������������������� 60
Import Command������������������������������������������������������������������������������������������������������������������������ 61
Command Syntax������������������������������������������������������������������������������������������������������������������ 61
Load Command��������������������������������������������������������������������������������������������������������������������������� 62
Command Syntax������������������������������������������������������������������������������������������������������������������ 62
Restore Command���������������������������������������������������������������������������������������������������������������������� 63
Command Syntax������������������������������������������������������������������������������������������������������������������ 64
Summary������������������������������������������������������������������������������������������������������������������������������������ 65

vii
Table of Contents

Chapter 6: Business Rules and Constraints������������������������������������������������������������ 67


NOT NULL Attribute��������������������������������������������������������������������������������������������������������������������� 67
Primary Key��������������������������������������������������������������������������������������������������������������������������������� 68
Indexes���������������������������������������������������������������������������������������������������������������������������������������� 69
Foreign Keys������������������������������������������������������������������������������������������������������������������������������� 70
CHECK and Unique Constraints��������������������������������������������������������������������������������������������������� 71
DEFAULT Constraint��������������������������������������������������������������������������������������������������������������������� 72
Triggers��������������������������������������������������������������������������������������������������������������������������������������� 72
Summary������������������������������������������������������������������������������������������������������������������������������������ 76

Chapter 7: Writing Good SQL for Db2���������������������������������������������������������������������� 77


Relational Theory������������������������������������������������������������������������������������������������������������������������ 77
Reduce Passes Through Data����������������������������������������������������������������������������������������������������� 78
Using Indexes to Increase Performance������������������������������������������������������������������������������������� 81
Sorting and Grouping������������������������������������������������������������������������������������������������������������������ 81
Programs Containing SQL����������������������������������������������������������������������������������������������������������� 82
Use Db2 Utilities Where Possible������������������������������������������������������������������������������������������������ 83
Db2 Functions����������������������������������������������������������������������������������������������������������������������������� 84
Multiple Ways to Code SQL��������������������������������������������������������������������������������������������������������� 86
Summary������������������������������������������������������������������������������������������������������������������������������������ 86

Chapter 8: Python and ibm_db������������������������������������������������������������������������������� 87


Your First Python ibm_db Program��������������������������������������������������������������������������������������������� 89
Using Parameter Markers������������������������������������������������������������������������������������������������������ 96
More on Parameter Markers�������������������������������������������������������������������������������������������������� 98
Producing Multiple Reports with Parameter Markers��������������������������������������������������������� 100
Using Parameter Markers Without Binding Variables���������������������������������������������������������� 103
Joining Tables���������������������������������������������������������������������������������������������������������������������� 106
Inserts, Updates, and Deletes���������������������������������������������������������������������������������������������� 109
Some Other ibm_db APIs����������������������������������������������������������������������������������������������������� 112
Creating Database Objects�������������������������������������������������������������������������������������������������� 116

viii
Table of Contents

Obtaining Attributes of an Existing Table����������������������������������������������������������������������������� 120


Obtaining Attributes of a Result Set������������������������������������������������������������������������������������ 126
ibm_db_dbi and Python������������������������������������������������������������������������������������������������������������ 130
Where Is the ibm_db Module Going?���������������������������������������������������������������������������������������� 133
The ibm_db_dbi Module������������������������������������������������������������������������������������������������������ 134
The Django Database Interface������������������������������������������������������������������������������������������� 134
The SQLAlchemy Adapter���������������������������������������������������������������������������������������������������� 135
The Alembic Adapter����������������������������������������������������������������������������������������������������������� 136
The Future��������������������������������������������������������������������������������������������������������������������������� 137
Summary���������������������������������������������������������������������������������������������������������������������������������� 137

Appendix A: Python ibm_db API��������������������������������������������������������������������������� 139


i bm_db APIs������������������������������������������������������������������������������������������������������������������������������ 139
ibm_db.active���������������������������������������������������������������������������������������������������������������������� 139
ibm_db.autocommit������������������������������������������������������������������������������������������������������������ 140
ibm_db.bind_param������������������������������������������������������������������������������������������������������������ 141
ibm_db.callproc������������������������������������������������������������������������������������������������������������������� 143
ibm_db.client_info��������������������������������������������������������������������������������������������������������������� 144
ibm_db.close����������������������������������������������������������������������������������������������������������������������� 146
ibm_db.column_privileges�������������������������������������������������������������������������������������������������� 147
ibm_db.columns������������������������������������������������������������������������������������������������������������������ 148
ibm_db.commit������������������������������������������������������������������������������������������������������������������� 151
ibm_db.conn_error�������������������������������������������������������������������������������������������������������������� 152
ibm_db.conn_errormsg������������������������������������������������������������������������������������������������������� 153
ibm_db.connect������������������������������������������������������������������������������������������������������������������� 154
ibm_db.createdb����������������������������������������������������������������������������������������������������������������� 157
ibm_db.createdbNX������������������������������������������������������������������������������������������������������������� 158
ibm_db.cursor_type������������������������������������������������������������������������������������������������������������ 159
ibm_db.dropdb�������������������������������������������������������������������������������������������������������������������� 160
ibm_db.exec_immediate����������������������������������������������������������������������������������������������������� 160
ibm_db.execute������������������������������������������������������������������������������������������������������������������� 162

ix
Table of Contents

ibm_db.execute_many�������������������������������������������������������������������������������������������������������� 163
ibm_db.fetch_tuple������������������������������������������������������������������������������������������������������������� 165
ibm_db.fetch_assoc������������������������������������������������������������������������������������������������������������ 166
ibm_db.fetch_both�������������������������������������������������������������������������������������������������������������� 167
ibm_db.fetch_row��������������������������������������������������������������������������������������������������������������� 168
ibm_db.field_display_size��������������������������������������������������������������������������������������������������� 169
ibm_db.field_name������������������������������������������������������������������������������������������������������������� 169
ibm_db.field_num��������������������������������������������������������������������������������������������������������������� 170
ibm_db.field_precision�������������������������������������������������������������������������������������������������������� 172
ibm_db.field_scale�������������������������������������������������������������������������������������������������������������� 173
ibm_db.field_type���������������������������������������������������������������������������������������������������������������� 174
ibm_db.field_width������������������������������������������������������������������������������������������������������������� 174
ibm_db.foreign_keys����������������������������������������������������������������������������������������������������������� 175
ibm_db.free_result�������������������������������������������������������������������������������������������������������������� 178
ibm_db.free_stmt���������������������������������������������������������������������������������������������������������������� 179
ibm_db.get_option�������������������������������������������������������������������������������������������������������������� 179
ibm_db.next_result������������������������������������������������������������������������������������������������������������� 181
ibm_db.num_fields�������������������������������������������������������������������������������������������������������������� 183
ibm_db.num_rows�������������������������������������������������������������������������������������������������������������� 184
ibm_db.pconnect����������������������������������������������������������������������������������������������������������������� 185
ibm_db.prepare������������������������������������������������������������������������������������������������������������������� 187
ibm_db.primary_keys���������������������������������������������������������������������������������������������������������� 188
ibm_db.procedure_columns������������������������������������������������������������������������������������������������ 190
ibm_db.procedures������������������������������������������������������������������������������������������������������������� 192
ibm_db.recreatedb�������������������������������������������������������������������������������������������������������������� 194
ibm_db.result���������������������������������������������������������������������������������������������������������������������� 194
ibm_db.rollback������������������������������������������������������������������������������������������������������������������� 195
bm_db.server_info�������������������������������������������������������������������������������������������������������������� 196
ibm_db.set_option��������������������������������������������������������������������������������������������������������������� 199
ibm_db.special_columns���������������������������������������������������������������������������������������������������� 201

x
Table of Contents

ibm_db.statistics����������������������������������������������������������������������������������������������������������������� 203
ibm_db.stmt_error�������������������������������������������������������������������������������������������������������������� 206
ibm_db.stmt_errormsg������������������������������������������������������������������������������������������������������� 206
ibm_db.table_privileges������������������������������������������������������������������������������������������������������ 207
ibm_db.tables���������������������������������������������������������������������������������������������������������������������� 209
Summary���������������������������������������������������������������������������������������������������������������������������������� 210

Index��������������������������������������������������������������������������������������������������������������������� 211

xi
About the Author
W. David Ashley is a technical writer for Skillsoft where he
specializes in open source, particularly Linux. As a member
of the Linux Fedora documentation team, he recently led
the Libvirt project documentation and wrote the Python
programs included with it. He has developed in 20 different
programming languages during his 30 years as a software
developer and IT consultant, including more than 18 years at
IBM and 12 years with American Airlines.

xiii
About the Technical Reviewer
Sourav Bhattacharjee is a senior technical member for
Oracle Cloud Infrastructure. As part of IBM Watson Health
Lab, he has developed many scalable systems, published a
few research papers, and applied some patents to USPTO. He
has an ample amount of hands-on experience in Python,
Java, machine learning, and many database systems. He
earned his master’s degree from the Indian Institute of
Technology, Kharagpur, India.

xv
CHAPTER 1

Introduction to Db2
Welcome to this introduction to Db2. Since you are here, you are likely looking for a
place to get started with Db2. Our hope is that this book will be that first step you are
looking for. This book is meant to be an introduction to the Db2 environment and to
the Python interface. The first half of the book will cover Db2 at a level that should be of
interest to both administrators and programmers. It will cover many aspects of Db2 that
you will make use of in either of the two roles. The last half of the book will concentrate
on using the Python programming language to interface to Db2. While mainly oriented
to programmers, administrators will find it useful as well for some of their everyday
tasks.
Db2 has a long history and is the first relational database implementation. It was
first proposed by Edgar Frank “Ted” Codd in a paper titled “A Relational Model of Data
for Large Shared Data Banks” in 1969 while working at the IBM’s San Jose Research
Laboratory in California. In the next four years, IBM researchers worked to create a
system based on the principles described in Codd’s paper (called System R). During
this time, it became obvious that a new language was needed to interact with the new
system. Codd wrote a new paper “A Data Base Sublanguage Founded on Relational
Calculus,” which became the basis for the new language called DSL/Alpha. This quickly
went through some name changes but eventually ended up being called SQL, short for
Structured Query Language.
Eventually there was an effort in the 1970s to port DSL/Alpha to the 370 mainframe
environment. It was renamed to Database 2 in 1982. The next year it was made available
to the public with another name change, DB2. This was a limited release but was highly
regarded by the customers that evaluated it. The customers actually pushed IBM to
deliver DB2 to a wider set of customers. IBM was somewhat reluctant because they were
trying to hold on to their IMS/DB market share. But eventually the customers won out,
and DB2 began to spread to other platforms including OS/2, AIX/RS6000, and Windows.

1
© W. David Ashley 2021
W. D. Ashley, Foundation Db2 and Python, https://doi.org/10.1007/978-1-4842-6942-8_1
Chapter 1 Introduction to Db2

Over the next two decades, the product went through a number of name changes
and several platform code bases. Recently with the release of version 11.1, IBM
rebranded the entire product line and brought the code bases into a small number of
code bases. The following set of products are now the standard offerings:

• Db2 (formerly DB2 LUW)

• Db2 for z/OS (formerly DB2 for z/OS)

• Db2 Hosted (formerly DB2 on Cloud)

• Db2 on Cloud (formerly dashDB for Transactions)

• Db2 Event Store (a new in-memory database for event-driven


transaction processing)

• Db2 Warehouse on Cloud (formerly dashDB)

• Db2 Warehouse (formerly dashDB Local)

• IBM Integrated Analytics System (a new system platform that


combines analytic performance and functionality of the IBM
PureData System with IBM Netezza)

The code bases for today’s Db2 offerings share a common code base that makes
porting the code to another hardware/software platform a relatively easy process. The
SQL code base has been standardized so that it is the same across all platforms, making
moving to another platform an easy task from a programming perspective.
There is also a current movement in programming applications with embedded
SQL. These types of applications are very hard to port from one platform to another
without major code modifications. Instead, IBM is moving (where possible) to an API
that can be called to process SQL statements and make use of programming language
variables for values to be added to the SQL statement. This is the methodology used for
Python that we will explore later in this book.
In the past, Db2 was considered to be too large for most applications. But as personal
computers have become a lot more powerful and then databases used by even a small
number of people have become extremely large, Db2 has become more attractive in the
management of this data. Also, the pricing model of Db2 on these platforms has become
more competitive. So if you need the performance and the ability to manage large
amounts of data, Db2 can be a very attractive product.

2
Chapter 1 Introduction to Db2

What Is a Relational Database?


A relational database is actually hard to define because no relational database system in
today’s market actually implements E. F. Codd’s 12 rules defining the relational model.
Instead, commercial relational databases implement only about seven to nine of those
rules. This is enough to make their products commercially useful without the burden of
implementing the other rules. In fact, the other rules would not be useful to most database
users, so it is questionable whether or not they will ever be implemented in a commercial
product. In fact, most commercial database vendors actually extend the relational model
by adding entities that are not really tables, such as BLOBs (which we will discuss later).

The Relational Model


Roughly, relational databases implement the concept of entities expressed as rows
and columns. A customer records table would have a single row representing a single
customer. The columns (or tuples) of the table would contain attributes of that customer.
Each column would contain a single attribute and would have a defined data type for
restricting the type of information it can contain. A typical customer address table might
be implemented as shown in Table 1-1.

Table 1-1. Sample Customer Table


CUSTNO FNAME LNAME STREET STATE ZIP

000000001 Bugs Bunny 1201 Looney Lane CA 77777


000000002 Marvin Martian 2342 Mars Avenue MA 30143
000000003 Daffy Duck 5462 Termite Terrace CA 77745
000000004 Elmer Fudd 23 Hunter Cove CA 77732

This table is a good example because it shows the kind of relationships that can
be expressed in a relational database. The CUSTNO column holds a unique customer
number for each customer (or row). The column is the primary key for this table. The
FNAME and LNAME identify the first and last names of the customer. The STREET is
the address to be used for billing the customer. The STATE column is the U.S. state the
address is located. The ZIP column identifies the mailing zip code.

3
Chapter 1 Introduction to Db2

D
 omains
Domains (or attributes) limit the data in a column to a particular type. For instance, the
data might be an integer of a particular type, a monetary value, a character string of fixed
or variable length, a date or time value, or some other domain that has been defined.

K
 eys and Indexes
The STATE column in Table 1-1 is a foreign key – that is, a primary key in another table.
A rule can be set up so that when you add a new row to the customer table, the system
checks that the value in your proposed STATE field is a valid entry in the state table. If it is
not, the record will not be inserted, and an error will be generated. Keys are also known
as indexes. When you create a primary key in a table, a special index table is created to
hold valid keys. This table is like any other table in the system; it can be queried, added
to, and deleted from. Thus, all the valid keys can be inserted into and maintained in the
table, and it can be maintained just like any other table. Only the special rules make the
index table special.

R
 elationships
All of this shows just some of the kinds of relationships that can be created (or derived)
to properly maintain a set of tables. There are probably other kinds of customer tables
that could be created like a table to maintain customer credit ratings, a customer
shipping address table, a customer contacts table, etc. All of these are specialized entities
that have relationships with the other customer tables. This is what a relational database
is all about. The idea is to express a relationship with data organized so the data is only
stored where needed and hopefully only one time.
Relationships allow the user to create customized reports that can express custom
views of the data from the database. At first glance these reports may look like they have
no relation to the data contained in the database, but they can give insights to the data
not easily possible by other means.

4
Chapter 1 Introduction to Db2

Transactions
Another aspect of relational databases is support for transactions. This means providing
a locking mechanism that can allow data to be modified while others are reading the
data or modifying other data at the same time. This is known as the ACID test, which is
an acronym for the following tests:

• Atomicity defines all the elements that make up a complete database


transaction. This might make up one or more SQL statements.
• Consistency defines the rules for maintaining data points in the
correct state after a transaction. This is usually done through an SQL
statement such as COMMIT or ROLLBACK.

• Isolation keeps the effect of a transaction invisible to others until


it is committed, to avoid confusion. This refers to the ability of the
database to keep multiple changes to a database from corrupting the
integrity of the database.

• Durability ensures that data changes become permanent once the


transaction is committed. This is done by ensuring that writes are
made to all modified tables prior to committing the transaction.

Stored Procedures
A relational database typically implements stored procedures. These are programs
stored in the database to implement special processing under several circumstances.
These procedures usually involve business logic that needs to be implemented the
same across all the database users. In many cases, only the stored procedure has the
proper permissions to modify, insert, delete, or access the data being manipulated. This
prevents users from making modifications to the data if they do not have the correct
permissions.

5
Chapter 1 Introduction to Db2

Constraints
Another property of relational databases are constraints. These make it possible to
further restrict an attribute. For instance, a column might be defined as an integer. But
the range of numbers might actually need to be constrained to a particular range. This is
what a constraint provides.
Constraints can come in many forms and are used for a number of purposes. They
are stored within the database and used when adding or modifying data.

Normalization
Normalization is another attribute of a relational database. This design process reduces
the number of nonatomic values and the duplication of data throughout the database,
thus preventing anomalies and loss of integrity. The process is known as normalization.
The process of normalization is performed by the administrator, usually during the
creation of the database. Users are not usually involved in this activity.

SQL
Within the first few years of creating the first relational database, it became very obvious
that something was needed to actually manipulate the data in a relational database. The
language was invented at IBM by Donald D. Chamberlin and Raymond F. Boyce in the
early 1970s. It was originally known as SEQUEL, but that name was trademarked and it
was changed to Structured Query Language (SQL). SQL was later standardized by ANSI,
but each relational database product extended it as needed to conform to their product
or hardware platform.
SQL is divided into four categories of statements:

• Data Definition Language (DDL)

• Data Query Language (DQL)

• Data Control Language (DCL)


• Data Manipulation Language (DML)

Most SQL books spend most of their resources on the DML part of SQL, but the other
parts are just as important, especially to the database administrator.

6
Chapter 1 Introduction to Db2

Data Definition Language (DDL)


The Data Definition Language subset consists of the CREATE, DROP, ALTER, and
TRUNCATE statements. These statements manipulate (or reorganize) the data in the
database.
The CREATE statement creates new entities in the database. This can include
tables, indexes, views, and procedures. Many database systems include character sets,
collations, transactions, and assertions as well.
The DROP statement removes entities from the database. These include all the
entities that can be created with the CREATE statement. Some databases include the
users as an entity that can be dropped.
The ALTER statement can alter an existing entity, such as adding a new column to a
table.
The TRUNCATE statement removes all data from a table or index. It is much faster
than the DELETE SQL statement.

Data Query Language (DQL)


The Data Query Language subset consists of only the SELECT statement. This is used for
all queries of information in the database. The syntax of the SELECT statement will be
covered later in Chapter 7.

Data Control Language (DCL)


The Data Control Language subset consists of the GRANT and REVOKE statements.
These statements grant and revoke privileges to and from users of the database.
The database system specifies the type of privileges that a user can be granted.
Some database systems, such as SQLite, depend on the operating system’s privilege
mechanism and thus do not support the GRANT and REVOKE statements.

Data Manipulation Language (DML)


The Data Manipulation Language subset consists of the INSERT, UPDATE, and DELETE
statements. Some systems also include the SELECT statement in this subset, but since
SELECT does not make changes to the data, this would seem an odd place to place the
SELECT statement.

7
Chapter 1 Introduction to Db2

The INSERT statement adds new rows into a table. This new data may also
automatically alter the content of a view of the table data.
The UPDATE statement alters one or more rows in an existing table (and any view
dependent on the table). The statement does not add new rows to a table, it only alters
existing data.
The DELETE statement removes rows from a table (and any view dependent on the
table).

The ibm_db Project


The ibm_db project was started sometime in 2007 with the first code commits to
GitHub on February 9, 2008. The project was a joint effort between IBM and the Python
community to create a programming interface to Db2 and Informix from Python.
Informix had been purchased by IBM around this same time, and this was part of the
project to integrate Informix into the Db2 line of products. Since then the project has
undergone steady progress with some recent major fixes.
By establishing the project on GitHub, it was thought that with community support
the project would not only improve with time but would benefit from community
participation. This has proven to be the case with many community volunteers
contributing to the project throughout the project lifetime.
Over time, the ibm_db_dbi module was added to the project, and new projects
were introduced based on the ibm_db module to support other Python projects. These
projects include ibm_db_django, ibm_db_alembic, and ibm_db_sa.
For more information, see Chapter 8.

S
 ummary
This chapter has presented some of the basic concepts that make up a relational
database and the SQL that supports it. This information is common to almost all
relational databases.

8
CHAPTER 2

Installing Db2
This chapter covers installing Db2 on Linux and Windows. Both environments use
the same installer to perform installation and creation of userids and permissions.
The installation process is pretty easy and straightforward, but there are a number of
questions you might have before you start the installation that are not answered by the
install program. We will try to cover those questions as we come to them.

My Development Environment


My development environment is not your typical Windows home system. It consists of
two Linux servers, one Windows client, and two Linux client workstations. The Linux
servers are not typical workstations but actual dedicated servers that are usually used in
small business settings. I will try to describe each system so you have some idea of what
my environment is like.
The first system is a Lenovo ThinkSystem ST250 server with four 2 TB drives
installed. It has 32 GB of memory and a six-core Xeon CPU. This is my main server and
hosts all my files. It is visible to the Internet through my firewall via the Apache Web
Server. The operating system is Fedora 32. It is also hosting my Windows files via Samba
as well as hosting a number of Virtual Machines (VMs) via libvirt. This is the system that
hosts my main Db2 databases.
The second system is Lenovo ThinkStation P320 with 256 GB of SSD and a 1 TB drive
with 32 GB of memory and a six-core/six-thread Xeon CPU. This is my development
server and actually changes configuration about twice a year. It currently runs CentOS
Linux 8.2. This machine also hosts my test Db2 environment.
The third machine is my Windows 10 workstation. It is connected to the first Linux
system via a shared drive (Samba) on the server. This is where I do most of my writing as
well as Windows development and testing.

9
© W. David Ashley 2021
W. D. Ashley, Foundation Db2 and Python, https://doi.org/10.1007/978-1-4842-6942-8_2
Chapter 2 Installing Db2

The fourth system is a Lenovo ThinkCentre M920 with 256 GB of SSD and a 1 TB
drive with 16 GB of memory. It has an i7 CPU. This is my development workstation
where I test all my Linux development and remote access to servers. The operating
system is Fedora 32.
The fifth system is a Lenovo ThinkPad T580 with 256 GB of SSD, 16 GB of memory,
and an i7 CPU. It runs Fedora 32 and usually serves as my travel machine but also as an
auxiliary test device.

I nstallation Prerequisites
Before you even start the Db2 install program, there are a number of prerequisites that
need to be met before you can successfully install everything. Our install environment
for this book is CentOS 8.2. The prerequisites for this OS should be the same for RHEL
8.2, but may be different for other Linux environments. Windows environments have
their own prerequisites, but they are similar to the Linux prerequisites.
The first thing we need is the Db2 install program and support files. To get the free
version of Db2, just go to

www.ibm.com/account/reg/us-en/signup?formid=urx-33669

This gets you to the account registration page. You can either log in with an existing
userid or create a new one. After you are logged in, the website will present you a
preferences page. Select your preferences and select the Continue button. On the
next web page, select the download you need. Unless you need them, just ignore the
pureScale support downloads. Once the download is complete, move the downloaded
file to a safe location and then unzip or untar it. This will create a new subdirectory in the
current directory with the install files exploded inside.

Caution! Do not move the downloaded file to the directory you intend to place
databases. You will have a mess of files on your hands when you create your first
database.

At the time this book was written, the version of Db2 that was available was version
11.5.4. Older free versions of Db2 are not made available when IBM introduces a new
version.

10
Chapter 2 Installing Db2

Now that you have your evaluation version of Db2, you are probably wondering what
its limitations are. The evaluation version does not ever expire. It has no limitation on
the number of databases. The one and only limitation is the total size of all databases,
currently limited to 100 GB. This is more than enough space to perform your own
evaluation of the software unless you are trying to test a very large system. If that is your
plan, IBM will be more than glad to help with a production version of Db2 and even
some engineers.
At this point, we are now ready to find out what our prerequisites are. To do this,
simply run the install program. This program is located in the untarred subdirectory
we previously created. The expanded directory is named server_dec. To run the install
program, just run the following commands:

$ cd server_dec
$ ./db2setup

If prerequisites are needed by Db2, the install program will list them and then exit.
Be sure to read everything output by the install program. On our CentOS 8.2 system, it
listed two prerequisites:

• libpam.so* (32-bit)

• libstdc++.so.6 (32-bit)

“Wait. Why does Db2 need 32-bit libraries?” you ask. Db2 is a collection of a bunch
of products, some of which have not changed in a decade or more. Rather than possibly
introducing new bugs into the system, IBM has chosen to keep the older version of
some of these products. Thus, these prerequisite libraries are needed to support those
products.
Use your system’s software installer to install the prerequisite packages. For Linux,
this will be either the dnf or yum programs for RPM-based packages. Once you have the
prerequisites installed, you are ready to proceed to really installing Db2. But before we
do that, we need to do a little planning.

Planning the Db2 Install


Before we get to the install, we need to understand what the result of the install will be so
we can plan ahead and avoid surprises afterward. There are two major points to cover in
this area.

11
Chapter 2 Installing Db2

The first result of the install is that you will have two new userids created on the
target machine. The default names of these IDs are db2inst1 and db2fenc1. The
db2inst1 ID will have some files stored in its home directory, and you need to make
sure there is enough space to accommodate them. There are a limited number of files,
but you should make sure you are prepared for them. The db2fenc1 ID only has a very
limited number of files stored in its home directory.
The second result is not really a result of the install. It is more a default that is set
as a result of the install. This item is the location where databases will be installed. The
default location for databases is in the db2inst1 home directory! THIS IS NOT WHERE
YOU WANT TO STORE DATABASES! You are probably going to store them on a different
drive/location. We will discuss this point again after we cover the install process and
before we create the sample database.
There are also a few minor points that are a result of the install, but we will cover
those as we get to them.

I nstalling Db2
We are now ready to install Db2. This process must be done by the root (on Linux)
or admin (on Windows) user, so start by becoming the root/admin user. On Windows
you will need to log out and log back in as the admin user. On Linux just perform the
following command:

$ su - root

After this you need to change to the directory where you placed the expanded files of
the Db2 download package. Then run the db2setup install package:

$ cd server_dec
$ ./db2setup

If you have installed all the prerequisites, this should show you the Welcome page
(Figure 2-1).

12
Chapter 2 Installing Db2

Figure 2-1. Db2 Install Welcome Page


After you click the New Install button, the next window appears to allow you to select
a product to install (Figure 2-2).

Figure 2-2. Db2 Install Choose a Product Page


13
Chapter 2 Installing Db2

This page has a number of products that you can select. The first product is Db2
Server, and this is the product we will install. The second product is Db2 with pureScale,
which we did not download. The third product is Db2 Connect Server, which is used
for distributed databases. The fourth product is Db2 Connect Client, which is used for
building compiled code that includes SQL statements. The last product is Db2 Runtime
Client, which is used for running compiled code from the Db2 Connect Client version.
At this point you should select the top item in the list, Db2 Server Editions. The
version number may be different if you downloaded a newer version of Db2. The other
selections are not important at this point in time. After clicking the Next button, the next
page will appear.

Figure 2-3. Db2 Install Configuration Page

14
Chapter 2 Installing Db2

The Configuration page allows you to select either a Typical or a Custom install. At
this point, select a Typical install. You must also check the box to agree to the IBM terms
before you proceed. When finished, click the Next button and the next page shown in
Figure 2-4 will appear.

Figure 2-4. Db2 Install Instance Owner Page

You can check out the Custom install option for some items you may want to change.
Most users just perform a Typical install.
The Instance Owner page allows you to create the account that will own the first
instance of Db2 and the group name of the new user. Just leave the db2inst1 information
as it appears and then enter the password and confirmation for the new account. This
is the account that will have new files installed in its home directory. When you have
entered in the new password and confirmed it for the account, click Next and the page
shown in Figure 2-5 will be displayed.

15
Chapter 2 Installing Db2

Figure 2-5. Db2 Install Fenced User Page

The db2fenc1 user will run user-defined functions and stored procedures outside the
address space of the Db2 database. Enter the db2fenc1 password and confirm it. When
finished, click Next which will dosplay the page in Figure 2-6.

16
Chapter 2 Installing Db2

Figure 2-6. Db2 Install Response File and Summary Page

The next page is the Response File and Summary page. The response file is a part of
the installation set of files, so it does not have to be created. Click the Finish button to
start the install of Db2 as shown in Figure 2-7.

17
Chapter 2 Installing Db2

Figure 2-7. Db2 Install Progress Page


The two status bars keep track of the progress of the installation of all components.
When finished, you will automatically be taken to next page (Figure 2-8).

Figure 2-8. Db2 Install Finished Page


18
Chapter 2 Installing Db2

When the installation is complete, this is the page that will be shown. You can choose
to review the post-install steps, review the log file, or just click the Finish button to exit
the install.
At this point, the Db2 installation steps are complete, and we are ready to look at the
post-install tasks that will need to be considered.

Note With Ubuntu Linux, the Db2 instance owner and fenced user that are
created by the Db2 install are assigned the Dash shell by default. This can cause
scripts that begin with the line #!/bin/bash to stop working. If you want to use Bash
as the default shell when you log into either of these users, execute the command
csh -s /bin/bash username (where username is the name of the Db2 instance
owner or fenced user) before doing anything else.

Db2 Post-install Tasks


There are a few tasks that need to be performed after the Db2 install has completed:

1. Try to log into the db2fenc1 userid using the password you set
from the db2setup command. Correct any problems you may find.

2. Try to log into the db2inst1 userid using the password you set
from the db2setup command. Correct any problems you may
find. You should note the location of the sqllib directory and its
contents as you may need to become familiar with them. This may
or may not be a link to another location.

3. If you do not want databases stored in the db2inst1 directory


tree, then now is the time to change that location. Log in as the
db2inst1 userid and run the following command:

$ db2 update dbm cfg using dftdbpath /your/db/path

This will update the path in the Db2 configuration so that all databases belonging to
db2inst1 will be stored in the new location.
At this point, we are now finished with our post-install tasks, and we are ready to
proceed to installing the sample database.

19
Chapter 2 Installing Db2

Installing the Db2 Sample Database


Db2 comes with a default database named sample. This database, although small, is
comprehensive enough to show how a database should be constructed and is useful for
demonstrating an array of possible SQL commands. This book uses the sample database
extensively for demonstrating Db2 concepts, SQL usage, and Python programming
examples.
To install the sample database, follow these steps.
Log into the db2inst1 userid:

$ su - db2inst1

The Db2 database instance needs to be started, so that is our next step:

$ db2start

Now we can actually install the sample database. This command will take a few
minutes, so be patient:

$ db2sampl -force -sql

The -force option ensures that if the database is already installed, it will be overlaid
with the default content. The -sql option tells Db2 not to install the XML data into the
database.
Now we can connect to the database and test it:

$ db2 connect to sample

If successful, you should see some output that looks something like this:

  Database Connection Information

Database server        = DB2/LINUXX8664 11.5.0.0


SQL authorization ID   = DB2INST1
Local database alias   = SAMPLE

Now we can run a test SQL command to query the database:

$ db2 "select * from department"

20
Chapter 2 Installing Db2

Important Be sure to include quotes around the text that follows db2. If the
quotes are omitted, the operating system will try to process the command
incorrectly, and an error will result.

You should see a total of 14 records displayed if everything works as expected. We


can now terminate our connection to the database with the following command:

$ db2 connect reset

If successful, our connection to the database is now terminated.

Summary
This chapter has presented the steps to installing and verifying the installation of Db2.
Be sure to read the Caution, Note, and Important sections presented in the chapter as
they have valuable information for some operating systems.

21
CHAPTER 3

Db2 Management
The management of Db2 is not an easy affair. It is not like any open source relational
database. It is a little like Oracle, but there are differences. This is because Db2 for Linux,
Unix, and Windows is a lot like maintaining a mainframe database, just on a smaller and
easier scale. While there are many tools to help manage the Db2 environment contained
in the product itself, the key to proper management is understanding the architecture
of the product and how it manages hardware resources. Without this knowledge, it
is easy to get into trouble and overextend the hardware of the machine. With proper
management, a single piece of hardware can manage either a few large databases or
many smaller ones without stretching the resources on the machine too far.
This chapter will give you enough knowledge so that you can set up the Db2
environment properly without overburdening you with facts that have few, if any,
consequences.

D
 b2 Instances
Instances are the top-level architectural structure in Db2. When you installed Db2, you
created the first Db2 Instance, which had the default name of db2inst1. This is also the
Instance that holds the sample database we installed in the previous chapter.
Any number of databases can be installed in an Instance. But it is possible to
overload an Instance and cause performance problems. This is because Db2 sets aside
a fixed number of processes and threads for each Instance, and it does not dynamically
add or remove resources during the active lifetime of an Instance. You must stop the
instance, adjust the number of resources, and then restart the Instance. Of course, the
databases owned by the Instance will have to be stopped and restarted as well. That
is the key: stopping and starting an Instance can have impacts on availability and the
contained databases. If you are continually stopping and restarting Instances, your
users will not be very happy with your management skills.

23
© W. David Ashley 2021
W. D. Ashley, Foundation Db2 and Python, https://doi.org/10.1007/978-1-4842-6942-8_3
Chapter 3 Db2 Management

Instances are easy to describe, but harder to justify. You have to know some history
to be able to properly understand where they came from as well as why they even exist.
Instances were first introduced just after the year 2000. Their justification came as the
databases on multi-drive machines started to become very large. They were so large
and had so many users that the network interface became a bottleneck in processing
database requests. It seems that the machines now far outpaced the network in being
able to handle database requests. Db2 had plenty of idle time while it waited on the
network interface to process the next request. This was in the days when the fastest
common networks were only 10 MB capacity. What was needed was a way to divide the
databases among multiple network ports. Thus, instances were born.
Instances were not only given their own network port, they were also given their
own processes, threads, and semaphores. Thus, if a database crashed for any reason, it
would only disrupt the databases within the containing Instance. The other Instances
and databases would continue to run normally while the database administrator dealt
with the downed Instance.
Instances can be used in many ways by the database administrator, but the most
common use is to prevent network port congestion. The second most common use is to
separate sets of databases from each other for security purposes. Since each Instance
has its own set of administrators and users, this helps to enforce security between
Instances.
One other attribute of an instance is that it has no physical presence on your disk
system, or at least not much of one. It is very hard to point to a place in the disk system
and say, “This is where an instance resides.” There are a few files created with the
instance, but these do not describe where the instance is. You should just think of it as
a logical entity and not a physical one.
There is a set of commands that administrators can use to manage instances. The
following are some example Db2 commands that manage Instances.

Note All the commands used in this chapter can be run in one of two ways. They
can be run by logging into the db2inst1 user, or they can be run by using the
sudo db2inst1 prefix to the command.

24
Chapter 3 Db2 Management

db2ilist
This command lists all the Instances that are available on a system:

db2ilist

Output:

db2inst1
db2inst2
db2inst3

Instance Environment Commands


These commands are useful to work with arrangement of instances in the Db2 CLI.
The following command obtains the current instance:

db2 get instance

Output:

The current database manager instance is : db2inst1

To start or stop the database manager of an instance on Db2 UDB, the following
command is executed for the current instance:

set db2instance=db2inst1

Using this command, you can start an Instance. Before this, you need to run “set
instance”:

db2start

Output:

SQL1063N DB2START processing was successful

This command is used to stop the current Instance:

db2stop

Output:

SQL1064N DB2STOP processing was successful.

25
Chapter 3 Db2 Management

Creating an Instance
Let us see how to create a new Instance.
If you want to create a new Instance, you need to log in with root. An Instance ID is
not a root ID or a root name.
Here are the steps to create a new Instance:
Step 1: Create an operating system user for an Instance.

useradd -u <ID> -g <group name> -m -d <user location> <user name> -p <password>

Example:

useradd -u 1000 -g db2iadm1 -m -d /home/db2inst2 db2inst2 -p db2inst2

Step 2: Go to the Db2 Instance directory as a root user to create a new Instance.
Location:

cd /opt/ibm/db2/v10.1/instance

Step 3: Create an instance using the following syntax.

./db2icrt -s ese -u <inst id> <instance name>

Example:

./db2icrt -s ese -u db2inst2 db2inst2

Output:

DBI1446I The db2icrt command is running, please wait.


....
.....
DBI1070I Program db2icrt completed successfully.

Arranging a Communication Port and Host for an Instance


Edit the /etc/services file and add the port number. In the following syntax, “inst_name”
indicates the Instance name, and “inst_port” indicates the port number of the
Instance:

db2c_<inst name> <inst_port>/tcp

26
Chapter 3 Db2 Management

Example:

sudo - db2c_db2inst2 50001/tcp

Syntax 1: Update configuration with the service name. In the following syntax,
“svcename” indicates the Instance service name, and “inst_name” indicates the
Instance name.

db2 update database manager configuration using svcename db2c_&<inst_name>

Example 1: Updating DBM configuration with variable svcename with value “db2c_
db2inst2” for Instance “db2inst2”

db2 update database manager configuration using svcename db2c_db2inst2

Output,:

DB20000I The UPDATE DATABASE MANAGER CONFIGURATION command completed


successfully.

Syntax 2: Set the “tcpip” communication protocol for the current Instance.

db2set DB2COMM=tcpip

Syntax 3: Stop and start the current Instance to get updated values from database
manager configuration.

db2stop
db2start

Updating an Instance
You can update an instance using the following command,:

db2iupdt

This command is used to update the Instance within the same version release.
Before executing this command, you need to stop the Instance database manager using
the “db2stop” command. The following syntax “inst_name” indicates the previously
released or installed Db2 server Instance name, which you want to update to a newly
released or installed Db2 server version.

27
Chapter 3 Db2 Management

Syntax 1: To update an instance in normal mode

db2iupdt <inst_name>

Example:

./db2iupdt db2inst2

Syntax 2: To update an Instance in debugging mode

db2iupdt -D <inst_name>

Example:

db2iupdt -D db2inst2

Upgrading an Instance
You can upgrade an instance from a previous version of a Db2 copy to a newly installed
version of a Db2 copy:

db2iupgrade

On a Linux or UNIX system, this command is located in the DB2DIR/instance


directory. In the following syntax, “inst_name” indicates the previous version of the Db2
Instance, and “inst_username” indicates the currently installed version of a Db2 copy
for the Instance user:

db2iupgrade -d -k -u <inst_username> <inst_name>

Example:

db2iupgrade -d -k -u db2inst2 db2inst2

Command parameters:

-d : Turns debugging mode on

-k : Keeps the pre-upgrade Instance type if it is supported in the


Db2 copy, from which you are running this command

If you are using the super user (su) on Linux for the db2iupgrade command, you
must issue the “su” command with the “-” option.

28
Random documents with unrelated
content Scribd suggests to you:
The Project Gutenberg eBook of L'Île du
Levant
This ebook is for the use of anyone anywhere in the United
States and most other parts of the world at no cost and with
almost no restrictions whatsoever. You may copy it, give it away
or re-use it under the terms of the Project Gutenberg License
included with this ebook or online at www.gutenberg.org. If you
are not located in the United States, you will have to check the
laws of the country where you are located before using this
eBook.

Title: L'Île du Levant

Author: Paul Otlet

Release date: May 4, 2019 [eBook #59431]


Most recently updated: June 28, 2020

Language: French

Credits: Produced by Susan Skinner, Christian Boissonnas and


the
Online Distributed Proofreading Team at
http://www.pgdp.net
(This file was produced from images generously made
available by the Mundaneum and mediated by the
artists of
Algolit, a research project initiated by Constant.)

*** START OF THE PROJECT GUTENBERG EBOOK L'ÎLE DU LEVANT


***
Au lecteur

L'ILE DU LEVANT

PAR

Paul OTLET

BRUXELLES
TYPOGRAPHIE ET LITHOGRAPHIE E. GUYOT

12, rue Pachéco, 12

1882
L'ILE DU LEVANT
INTRODUCTION
Il y a un an et demi environ mon père m'annonçait qu'il venait
d'acheter de M. Philippart l'Ile du Levant, la dernière de l'Archipel
des îles d'Hyères, situé dans la Méditerranée. On peut juger de mon
enthousiasme et de celui de mon frère en apprenant cette nouvelle.
Une île en pleine mer! aller en bateau! Etre Robinson! Mener une
véritable vie d'insulaire. Que de projets on formait déjà, quel rêve
que d'habiter une île! Avec quelle impatience nous attendions les
vacances! comme nous comptions les jours qui nous en séparaient
encore!
Enfin ce jour heureux arriva. Comme la pendule marchait
lentement ce jour-là! Bref, le train exprès de 7 heures 20 du soir
nous emporte avec la rapidité de l'éclair vers ces régions bénies du
ciel, vers ce paradis terrestre. A 10 heures du matin nous étions à
Marseille, et à midi un quart nous débarquions à Toulon. Après avoir
mangé un morceau au Café du Commerce sur le port, nous nous
embarquons dans le yacht la Nora Creina. C'est un splendide vapeur
à hélice, comportant 7 hommes d'équipage, filant ses 9 nœuds à
l'heure et tenant la mer comme pas un. La Nora Creina a 27 mètres
de longueur sur 5 de large. Elle est divisée comme suit:
Cabine du capitaine et du second.
Grand salon, office, et une cabine.
Ensuite viennent la machine et la chaufferie.
3 cabines, la cuisine et enfin le poste de l'équipage.
La Nora jauge 38 tonnes et a une machine de la force de 70
chevaux. Elle cale 1 mètre 80 à l'avant et 2 mètres 30 à l'arrière.
Aussitôt montés à bord, quatre hommes s'empressèrent de déraper
l'ancre. Cinq minutes après nous étions en route pour l'île du Levant.
En passant devant le vaisseau amiral, le capitaine fît saluer trois fois
selon l'usage, et notre salut nous fut aussitôt rendu.

Nous dépassâmes bientôt la Seyne, l'hôpital de St Mandrier, le


Mourillon et arrivés à la presqu'ile de Giens nous distinguons déjà
très bien les trois îles. Nous avions une mer d'huile sur laquelle se
reflétait le ciel bleu. J'en étais enthousiasmé. Il n'y avait pas 20
heures que nous étions encore à Paris, sous un ciel gris, pataugeant
dans la boue et enveloppé dans nos grosses pelisses.
Ah, pensais-je, comment ce peut-t-il qu'il y ait des gens assez sots
pour rester tout l'hiver à Paris enfermés dans leur appartement, sous
un ciel brumeux, au lieu de venir passer l'hiver dans le Midi.
Nous passons rapidement devant Porquerolles, les Mèdes Bogoud
et Port-Cros. Enfin après 3 heures 1/2 d'une traversée magnifique
nous nous amarions à la bouée placée dans la charmante petite baie
de l'Avis. La yole nous conduisit aussitôt à terre.
Toute la famille Guillon était réunie sur la plage nous attendant et
avertie de notre arrivée par les coups de sifflets répétés de la Nora
Creina. Après les saluts d'usage on nous conduisit par un chemin
tortueux et montagneux au sommet d'une colline sur laquelle se
trouve le château. On nous montra nos chambres situées au premier
et ayant vue splendide sur la mer et sur le continent. Aussitôt
descendus au jardin on nous mena sur une grande terrasse devant
le château. Ce qui me frappa singulièrement c'était de voir une si
grande quantité d'agaves venant ici à l'état sauvage, des palmiers et
des orangers plantés en pleine terre.
De cette terrasse on aperçoit devant soi le continent, à gauche et
à droite s'étend l'île.
Quelle est l'étendue de l'île, demandais-je à mon oncle Fernand?
—Sa superficie est de 1,400 hectares me répondit-il: Sa longueur
de l'est à l'ouest est de 8 kilomètres, tandis qu'elle n'a qu'un
kilomètre et demi de largeur moyenne.
La pointe que vous avez devant vous sur le continent, représente
le cap Bénat, à droite est le mouillage du Lavandon, distant de l'île
de 14 kilomètres. Ce petit village que l'on aperçoit sur la hauteur est
le village de Bormes dont dépend le Lavandon: en regardant à droite
vous verrez la baie de Cavalaire, plus loin la pointe Camarat derrière
laquelle se trouvent St-Raphaël, Cannes, Nice, Monaco, etc. Quant
au côté gauche, le rocher que vous voyez près de Bénat est le fort
de Brégançon. Puis les Salins d'Hyères, autre mouillage ayant un
chemin de fer, et qui n'est distant de l'Ile du Levant que de 23
kilomètres. Au dessus est la ville d'Hyères, renommée pour la
douceur de son climat.
En ce moment, mon attention fut attirée par le soleil qui se
couchait. Jamais je n'avais vu spectacle pareil. L'horizon semblait
tout en feu; le soleil se confondait avec la mer, ce qui lui donnait des
proportions gigantesques. La cloche du dîner nous réunit tous dans
la salle à manger.
Après le repas nous causâmes encore quelque temps, après quoi
nous prîmes congé de la famille pour nous retirer dans nos
chambres respectives. Je m'endormis profondément après les
événements de la journée, trop profondément peut-être car je ne
m'éveillai qu'à huit heures tandis que tout le monde était déjà levé
depuis deux heures.
On ne fit pas d'excursion ce jour-là, car tous nous étions encore
fatigués de notre voyage. Voilà les renseignements que je pus
obtenir pendant la conversation.
L'île du Levant est moins haute que les autres îles, point culminant
129 mètres quoique plus accidentée; elle est très peu boisée, car
nos prédécesseurs ont mis le feu aux forêts et ce que l'incendie avait
épargné, ils l'ont coupé.
Le sol est généralement composé de mica-schiste très-friable. En
certains endroits, l'on rencontre des rognons de granit bleu.
On trouve aussi des grenats, de la tourmaline, sorte de pierre
cristallisée appartenant à la famille des silicates qui, étant échauffée,
devient électrique et attire la poussière de charbon, les cendres et
autres corps légers, du titaniate de fer et de l'amiante, substance
minérale filamenteuse que l'on nomme aussi asbeste et dont on fait
de la toile, du papier, des mèches incombustibles. Elle est formée
principalement de silice, de magnésie, d'un peu d'alumine et de
chaux.
Les anciens brûlaient dans une toile d'amiante les corps des
grands, pour conserver leurs cendres pures et séparées de celles du
bûcher.
Cette matière alors très rare, et d'un prix excessif, est aujourd'hui
fort commune. On en trouve dans toute l'Europe mais surtout en
Italie, en Corse et en Savoie.
L'île entière est couverte de maquis, en certains endroits
impénétrables; ces maquis sont composés de magnifiques
arbousiers, atteignent 10 mètres de hauteur, de bruyères en arbres,
lentisques, romarins, lavandes, cistes connus dans le pays sous le
nom de mesugues, euphorbes. Le pin maritime, le pin d'Alep et le
pin parasol y croissent très bien.
On trouve en grande quantité la plante dont on extrait l'éther
végétal et qu'on nomme vulgairement «l'herbe à chat».
La journée du lendemain fut consacrée à la visite de la Colonie.
La baie du Grand-Avis étant le principal mouillage du côté nord de
l'île, c'est là que s'est fondée la Colonie. Lorsque l'on voit de loin
tous ces grands bâtiments et toutes ces maisons éclairées par les
rayons du soleil et sous un ciel toujours bleu, on croirait vraiment
voir un petit village d'Afrique.
En réalité, c'est une agglomération acquérant une certaine
importance par son immense pénitencier pouvant contenir jusqu'à
300 jeunes détenus. De loin, le pénitencier a plutôt l'air d'une
caserne que d'une prison. Nous y montons par un escalier et nous
débouchons sur une grande place appelée Place d'Armes. C'est là
que tous les premiers dimanches du mois le directeur passait
militairement la revue des pénitenciers.
Les gardiens étaient en grande tenue, sabre au côté.
Les détenus avaient leur temps partagé en travail des mains et en
celui de l'esprit. Ils travaillaient dans les champs, à la vigne, et on
leur inculquait les premières notions d'orthographe et de calcul.
Le pénitencier se compose de trois immenses dortoirs, un
réfectoire, une grande école, une cinquantaine de cachots et de
cellules, ateliers, de tailleurs, cordonniers, lingerie, vestiaire, etc.
Une très grande chapelle de quatre autels est annexée au
pénitencier, d'un côté et, de l'autre, se trouve la ferme et les étables.
Rien ne manque à cette ferme; chevaux, mulets, vaches, bœufs,
moutons, porcs, poulets, canards, oies, paons, pintades, dindons,
tout y est.
Éloigné du continent et, par conséquent, de toutes les ressources
qu'il offre, on est obligé de parer à toutes les éventualités.
Mon oncle Fernand nous conduisit voir la forge, de grands
bâtiments dans lesquels étaient installés des ateliers de menuiserie.
En voyant de grandes roues et des courroies, je ne pus m'empêcher
de lui demander à quoi cela pouvait servir.
—Dans le temps, me dit-il, une fabrique de pipes de bruyère était
installée ici et chacune de ces roues faisaient marcher un tour. Ces
roues marchent au moyen d'une machine à vapeur que nous allons
voir.
Nous descendîmes dans la cave, où, en effet, se trouvaient une
machine et des chaudières.
—Cette machine sert aussi au moulin à vapeur et à la distillerie;
elle devait encore servir pour le chemin de fer funiculaire qui devait
être installé entre la mer et la Colonie. D'ailleurs, cette plateforme
que vous voyez là a été faite pour cela.
Et il nous montrait un chemin ayant une pente d'au moins 20
degrés.
En continuant, nous visitâmes successivement la distillerie, l'atelier
des tonneliers, la buanderie. Nous arrivâmes enfin au magasin.
—Ceci vous représente, dit mon oncle Fernand, le magasin de
vivres. Tous les matins, de 8 heures à 8 heures et demie, les
ouvriers viennent chercher ici ce dont ils ont besoin pour la journée.
Comme il serait trop difficile et trop coûteux pour eux de faire venir
leurs vivres de Toulon, nous nous en chargeons en vendant ici tout
ce qu'il leur faut au même prix. Maintenant, il ne nous reste plus à
voir que le jardin légumier. Toutes ces maisons que vous voyez çà et
là sont des maisons d'ouvriers. Il y en a pour loger une cinquantaine
de familles. La maison que vous voyez là-bas est la cantine, celle-ci
est la boulangerie, voilà l'aumônerie et celle-là est la direction et le
greffe où j'ai mon bureau. Au dessous du pénitencier sont de
grandes caves pour conserver le vin. Il y a là d'immenses foudres
pouvant contenir ensemble jusqu'à 250,000 litres de vin. Mais allons
visiter le jardin. Le jardin légumier a la superficie d'un hectare
environ, clos de murs. Il est pourvu d'un barrage qui retient les eaux
nécessaires pour son irrigation en été.
Je fus tout surpris de voir trois immenses palmiers avec une
quantité de petits poussant très bien en pleine terre. J'appris que
l'on pouvait semer et planter pendant presque toute l'année, qu'on
mangeait des asperges et des pois en janvier, des fraises en
novembre, des fèves de marais en mars, etc., etc.
De là mon oncle Fernand nous conduisit dans son bureau et
étendit devant nous le plan de l'île en nous disant:
»L'île du Levant peut se diviser en 12 parties: Les grottes,
l'Arbousier, le grand Champ, le Château, la Colonie (l'Avis), la Vierge,
la pierre de Fer, la Vallée des Suisses, le Javieu, le Canier, le Titan et
la Charbonnière, au delà se trouvent le Phare et le Sémaphore. La
plupart des vallons sont situés au midi et par conséquent à l'abri du
mistral; ils sont tous propres à la culture. Il y a deux chevaux de
selle à l'écurie, tu monteras Basane et le garde, un vieux grognard,
qui a parcouru l'île en tous sens, t'accompagnera, monté sur ma
jument Aïda.—Vous visiterez ainsi toute l'île sans vous fatiguer.
Après le déjeûner une partie de chasse fut décidée.
—Que rencontre-t-on à la chasse? demandais-je.
—Nous repeuplons en ce moment la chasse de l'île en y mettant
des perdreaux et des faisans qui s'acclimatent très bien et atteignent
même des proportions extraordinaires. Le lapin y pullule et j'estime
qu'il y en a en moyenne 10 par hectare, ce qui est énorme. C'est
une mauvaise engeance pour l'île car ils grignotent et rasent tout.—
On est obligé de les tuer car ils se multiplient avec une rapidité
effrayante. Chaque femelle fait 3 à 4 petits par trimestre.
Quant au gibier de passage on peut citer les sarcèles, les
vanneaux, les cailles, les bécasses et les bécassines qui s'y arrêtent
au printemps et à l'automne surtout au printemps à leur retour
d'Afrique. Ils tombent alors sur l'île comme des masses inertes et on
les tue assez facilement.
Le lièvre ne peut pas y tenir à cause du trop grand nombre de
lapins. Quoique de la même famille, ces deux bêtes ne peuvent se
souffrir, et comme les lapins seront toujours en plus grand nombre
dans l’île, le lièvre n'y pourra jamais vivre. Ces détails donnés, nous
nous mîmes en route. Il faisait une chaleur accablante. On se dirigea
du côté de l'ouest avec l'intention de nous montrer le fort des
Arbousiers. La chasse étant ouverte toute l'année, puisqu'il n'y a
d'autres propriétaires que nous et que nous sommes clos par la mer,
on s'y adonne à cœur joie.
Mais quelle chasse fatigante, toujours monter et descendre,
marcher en pleine broussaille, se poster pendant des demi-heures
entières sur un rocher sans bouger et ne pas faire de bruit, attendre
qu'un lapin poursuivi à fond de train par les chiens vienne à passer
dans la clairière. C'est là qu'il faut être habile! Il n'y a pas une
seconde à perdre pour tirer. Mais avant d'avoir eu le temps d'épauler,
le lapin est déjà à 10 mètres de vous.
Après une pareille chasse, qui souvent dure de 1 heure de l'après-
midi à 6 heures du soir, soit 5 heures, je puis vous affirmer que l'on
n'est pas fâché d'aller se coucher.
Le lendemain était jour de courrier; tout le monde reste au
château. On ne va pas à la chasse tant grand le désir est de savoir
les nouvelles qu'apporte la poste.
A 8 heures ou à 9 heures suivant le vent, le Titan, beau bateau de
8 mètres, avec voile latine, et monté par 2 bateliers très
expérimentés part pour Port-Cros avec les lettres.
A Port-Cros, l'île voisine, un vapeur fait 3 fois par semaine le
service des îles.
Le Titan lui remet ses plis, embarque les marchandises pour l'île
du Levant, prend les lettres et revient aussitôt après. Il arrive
ordinairement entre 1 et 2 heures.
A chaque instant on va voir s'il est encore loin, on va, on vient, on
descend à la mer et enfin, lorsque le pli est ouvert, la distribution
faite et qu'il n'y à rien pour soi, on s'en retourne en maugréant et en
pestant contre cette maudite lettre qui n'est pas encore arrivée.
Une partie de pêche fut décidée pour le lendemain, car il n'y avait
pas courrier.
Le matin dès 7 heures nous descendions à la plonge, mais tout à
coup je vis un serpent qui fuyait devant moi. Je jetais un cri
d'horreur en m'éloignant.
Je demandais à mon oncle Fernand s'il y avait beaucoup de
serpents dans l'île.
—Ce ne sont que des couleuvres inoffensives, me répondit-il. On
en trouve en grande quantité dans la broussaille et dans les pierres.
Il y en a qui atteignent jusqu'à 1 mètre 50 de longueur et la
grosseur du bras.
Il faut particulièrement vous méfier des scorpions lorsque vous
remuez des pierres, car la piqûre du scorpion est vénéneuse de
même que celle des lézards des pierres.

Nous montâmes dans une barque de 21 pieds appelée la Ste Anne.


Les marins avaient dragué la nuit pour prendre des chevrettes
(crevettes) afin d'amorcer le palangue. Mais il faut d'abord que je
vous explique ce que l'on veut dire par ce mot. Le palangue est une
longue ligne à laquelle sont attachées de 2 mètres en 2 mètres des
petites ficelles ayant à leur extrémité un hameçon. Il y avait à ce
palangue à peu près 200 hameçons. Le palangue étant amorcé, on
le jette au fond de l'eau dans les rochers au moyen d'une pierre et
l'on attache ses deux bouts à deux morceaux de liège.
Une heure après, on vient le relever. Les eaux de l'île sont très
poissonneuses, car le fond est entièrement composé de roches et
d'herbes marines dans lesquelles le poisson se plait beaucoup.
Un des bateliers releva donc le palangue et nous fîmes une assez
belle pêche, car nous prîmes des pageots, poisson rougeâtre à chair
ferme, des rougets, des tourdereaux, gros poissons verts, et enfin,
des sarans, etc.
On pêche aussi avec la ligne appelée boulantin, qui consiste en
une corde ayant 3 hameçons. On pêche enfin à la canne sur les
rochers.
Les îles d'Hyères, et entr'autre l'île du Levant, ont une certaine
renommée pour l'abondance de leurs langoustes. Chaque année, au
printemps et en été, des pêcheurs génois et napolitains s'établissent
sur les îles et s'adonnent à cette pêche.
Les langoustes se prennent à l'aide de paniers dans lesquels on
introduit des morceaux de poissons comme appât. La langouste peut
bien entrer dans le panier, mais une fois qu'elle y est, elle ne peut
plus en sortir.
Le lendemain vers 8 heures je partis à cheval avec le garde pour
faire une excursion dans l'intérieur de l'île.
Il y a un grand chemin carrossable qui traverse toute l'île. Outre
ce chemin il y en a une multitude d'autres plus petits, tels que
chemins de traverse, sentiers de chasse, etc.
Après avoir passé les murs d'enceinte, le cimetière et la Vierge
noire, nous laissons à droite la vallée des Suisses et nous arrivons au
Javieu. A notre droite s'étend la mer à perte de vue. Le Javieu,
composé de deux vallons, les mieux abrités de l'île, est entièrement
défriché et défoncé à 60 centimètres; deux maisons y sont élevées.
Sur la colline du Javieu sont les ruines d'un ancien couvent de
bénédictins. Nous remontons un peu et nous nous trouvons à
l'ombre d'une forêt de pins et d'arbousiers, puis nous débouchons
dans un vallon appelé, me dit le garde, le Canier. Les ruines d'une
vieille ferme s'y élèvent. Toute cette partie de l'île est très giboyeuse,
car, étant très éloignée de l'Avis, on n'y chasse pas souvent.
Nous trottons encore pendant quelques temps et nous arrivons au
Titan.
Le vallon du Titan a un kilomètre de longueur et possède la
meilleure terre de toute l'île. Une magnifique ferme avec annexes y
est bâtie, la mer vient presqu'au pied des habitations. Arrivés là nous
descendons de cheval, nous mangeons quelques figues et buvons à
une source excellente. Nous attachons nos bêtes à un arbre et le
garde me conduit voir les ruines de la tour du Titan. Cette tour avait
été construite comme poste d'observation contre les pirates. Nous
remontons en selle et nous voilà partis pour le Sémaphore qui fait un
service public de dépêches. Le Sémaphore est occupé par la famille
Dupont qui habite l'île depuis 18 ans. Je descends de cheval et M.
Dupont, chef guetteur, m'offre des rafraîchissements, après quoi il se
met en devoir de me faire visiter le Sémaphore. Dans la salle du
télégraphe je trouve un tableau indiquant la moyenne des jours de
pluie à l'île, que je m'empresse de reproduire ici. Notez bien que ce
n'est pas le nombre de jours de pluie mais bien le nombre de fois
qu'il a plu.

1880 1881
Janvier 7 Janvier 9
Février 3 Février 3
Mars 2 Mars 2
Avril 4 Avril 1
Mai 5 Mai pas
Juin 2 Juin ”
Juillet pas Juillet ”
Août ” Août 1
Septembre 1 Septembre 4
Octobre 3 Octobe 4
Novembre 8 Novembre 6
Décembre 1 Décembre 12
—— ——
Total 36 Total 42

Après avoir pris congé de M. Dupont et sa famille nous prîmes un


sentier qui nous conduisit au phare. La famille Castel nous reçut
aussi bien qu'au Sémaphore.

Le phare de l'île du Levant est un phare de 3e ordre ayant une


portée de 22 kilomètres.
Nous nous remîmes gaiement au petit trop et l'on sonnait tout
juste le déjeûner lorsque nous rentrâmes au château.
Ces plaisirs variés se renouvelaient pendant nos trop courtes
vacances et nous nous amusâmes autant que nous pûmes le faire.
Mais il fallut un jour se quitter.
Au dîner d'adieux on se fit mille promesses de se revoir bientôt et
au dessert mon oncle Fernand chanta les quelques couplets
humoristiques qu'il avait composés à notre intention sur l'Ile du
Levant en souvenir de notre trop court séjour.
Voici ces quelques couplets sans prétention:
L'ILE DU LEVANT
I.
La belle île du Levant
Est près du continent,
Les flots ne sont pas traîtres
Sur ces treiz' kilomètres.
• • • • • • • •
C'pendant ceux qui ont peur
N'ont qu'à prend' le vapeur.

II.
Sur l'île du Levant
Tout pousse à l'avenant.
Mais, chos' des plus étranges
Nous n'avons pas d'oranges.
• • • • • • • •
C'pendant pour en goûter
Nous pouvons en ach'ter.

III.
Sur l'île du Levant
Comme sur le continent,
Aidé par la nature,
On fait de l'agriculture.
• • • • • • • •
C'pendant il pleut trop peu
Sous notre beau ciel bleu.

IV.
Dans l'île du Levant,
Il n'y a pas longtemps
L'influence maligne
N'atteignait pas la vigne;
• • • • • • • •
Maint'nant l' Phylloxéra
Se conduit comme un rat.

V.
Dans l’île du Levant,
Ile d'or du vieux temps,
On trouve des richesses
Des mines de tout' espèces.
• • • • • • • •
C'pendant y a plus d' cailloux
Que de pierres à bijoux.

VI.
La belle île du Levant
A l'arche ressemblant
Contient, chose bizarre,
Des animaux peu rares;
• • • • • • • •
C'pendant Noé malin
Y mit trop de lapins.

VII.
Sur l'île du Levant
Vécur' probablement
Adam le premier homme,
Madame Eve et sa pomme.
• • • • • • • •
Maint'nant y a plus d' serpents
Que d'épouses d'Adam.

VIII.
A l'île du Levant
Le climat est charmant,
On n' connait pas la neige
Comme dans la froid' Norwège.
• • • • • • • •
C'pendant Monsieur le Vent
Est parfois trop violent.

IX.
Sur l'île du Levant
On vit bien sans argent,
On n'entend plus sans cesse:
Apporte-moi des espèces.
• • • • • • • •
C'pendant vers le premier
A Toulon faut payer.

X.
Près de l'île du Levant
On pêche facilement
Langoust', poissons par mille
Qu'on nomme rougets de l'île;
• • • • • • • •
Mais ils n' sont pas parents
Du poète puissant.

XI.
Dans l'île du Levant
On mang' comme chez Brébant.
L'on a s'maine et dimanche
Du lapin sur la planche.
• • • • • • • •
C'pendant not' cordon bleu,
Devrait varier un peu.
FINALE.
La belle île du Levant
Vous est connue maint'nant.
Voyez l' propriétaire,
Demandez-lui des terres.
• • • • • • • •
Si vous n'êt' pas grincheux,
Vous y s'rez très heureux.

VARIANTE.

Mais ceux qui sont grincheux


F'ront mieux d' rester chez eux.

Les vacances étaient finies! Le lendemain nous repartions pour


Paris où nous retrouvâmes le ciel brumeux que nous avions quitté il
y avait à peine quinze jours.
CHAPITRE I.
De retour de ce petit voyage je tâchai de trouver partout des
renseignements sur le passé de l'île du Levant.—Voici le résumé de
mes résultats:

«La rangée des îles d'Hyères[1], dit Adolphe Joanne dans son
guide d'Hyères, est composée de trois îles principales et de quelques
îlots[2]. Ce sont les anciennes Stœcades des Grecs. A l'époque de la
Renaissance, on désignait l'archipel par le nom poétique d'Îles d'or,
très probablement parce que sous l'influence des études classiques
et par une allusion instinctive au groupe des terres Fortunées, on
plaçait dans les îles d'Hyères les orangers qui entouraient la ville.
C'est d'ailleurs là une idée qui n'a pas encore été dissipée
complètement souvent on attribue par erreur le climat et les
productions de la campagne d'Hyères à cet archipel exposé à toutes
les fureurs du mistral. Elles sont très faiblement peuplées, bien
qu'elles possèdent d'excellents ports, des vallons fertiles, des
emplacements favorables à l'établissement d'usines diverses; elles
sont rarement visitées, en dépit de leurs sites charmants.
»L'île de Porquerolles« la plus connue et la plus peuplée des trois
grandes îles, tire son nom des sangliers qui peuplaient autrefois ses
forêts. C'est l'ancienne Porté (première). Elle a 8 kil. de longueur sur
2 kil. de largeur et compte environ 300 habitants. Porquerolles est
presque entièrement couvert de bois de pins et de chênes, et n'offre
guère de clairières que sur le versant septentrional de l'île. Les
maisons du hameau principal (hôtel restaurant du Progrès) sont
groupées au pied de la citadelle, sur les pentes d'un monticule qui
domine une petite crique semi-circulaire exposée au vent du nord.
Le phare, dont le feu fixe à éclat brille jusqu'à 36 kil., est situé sur
une autre colline (83 mètres) presque directement au sud. Les
constructions de la fabrique de soude, où travaillent plus d'une
centaine d'ouvriers, occupent un charmant vallon près de la pointe
occidentale de l'île[3].
»L'île de Port-Cros (Port creux), l'antique Mezé (île du milieu) est
située exactement en face du cap Bénat; sa longueur est de 4 kil., sa
longueur de 2 kil. 1/2. C'est la plus sauvage des trois îles de
l'archipel. La colline du vieux sémaphore qui porte une vigie fortifiée,
s'élève à 197 mètres. La population ne dépasse pas 20 à 25
habitants. Il s'y trouve aussi à l'est une fabrique de soude.[4] Le
gibier abonde à Port-Cros ainsi que dans l'îlot de Bagaud, à l'Ouest,
que l'on a récemment fortifié.
»L'île du Levant ou du Titan, appelée aussi Cabaros dans les
anciens titres, est l'antique Hypœa (inférieure) des Grecs. Ses
dimensions sont à peu près les mêmes que celles de Porquerolles.
Les collines dont la plus haute, les Pierres Blanches, s'élève à 129
mètres, sont presque entièrement couvertes de bois. Une colonie de
plus de 100 jeunes détenus y a été fondée. A l'extrémité orientale de
l'île se trouvent un phare à feu fixe de troisième ordre, d'une portée
de 27 kil., et les restes de l'ancienne tour du Titan. L'île du Levant
est la plus remarquable de l'Archipel par ses curiosités
minéralogiques: grenats, tourmaline, asbeste, etc.»
Nous citerons maintenant quelques passages tirés du remarquable
ouvrage d'Amédée Aufauvre, intitulé Hyères et sa Vallée, édité chez
Hachette, et dans lequel il parle de l'île du Levant en ces termes:
«Son nom indique sa situation. Autrefois cette île portait le nom
de la tour antique dont les vestiges gardent encore le nom primitif
de Tour du Titan. Sa longueur est de 8 kilomètres sur une largeur
moyenne de 1 kilomètre et demi.
»L'île du Levant dispute à Porquerolles l'honneur d'avoir servi de
retraite à Théodore, évêque de Fréjus, après avoir été moine dans le
couvent de Saint-Honorat de Lérins. C'est aussi dans l'île du Levant
que se réfugia le Monge des îles d'Or.
Quoique la plus grande, quoique son sol soit moins accidenté que
celui de ses voisines, l'île du Levant possède encore moins
d'habitants que Port-Cros bordée d'écueils, moins fertile que
Porquerolles. Cette île est celle qui présente le plus d'intérêt au point
de vue zoologique et végétal.
»Elle fut celle sur laquelle les chevaliers de Saint-Jean de
Jérusalem paraissent avoir eu des projets d'établissement.
»Entre l'île du Levant et Port-Cros il n'y a pas plus de 3
kilomètres[5], mais de la plage d'Hyerès la distance est évaluée à 25
kilomètres.[6]
»A l'île du Levant on trouve à peu près tous les sols et toutes les
végétations particulières à l'Archipel, les oiseaux et les quadrupèdes
n'offrent pas beaucoup de variantes. Mais, ce qui donne un intérêt
particulier à ce territoire, c'est la présence des roches granatifères,
de l'andalousite, de toutes les variétés de la tourmaline, gisements
d'amiante, de titaniate de fer etc., et surtout la collection complète
de la flore particulière au climat de la contrée.»
Nous trouvons encore à l'île du Levant les ruines d'un ancien
château maure, construit pendant l'occupation des montagnes de
Provence de 889 à 975 par les Maures. Donc le Castellas remonte au
moins au Xe siècle. Ce château est bâti sur la crête d'un rocher
escarpé, situé à peu près au milieu de l'île du côté nord. On y trouve
encore des oubliettes.

Les Bénédictins occupèrent l'île du Levant au XVe siècle et en


défrichèrent une grande partie.
Au vallon du Javieu on voit encore leur couvent en ruines.
On retrouve près de la tour du Titan une aire construite par eux
pour battre le blé.
Sous Louis XIV, les îles d'Hyères furent érigées en marquisat des
îles d'or.
En 1835, l'Etat vendit les trois îles à un particulier qui, lui les
revendit séparément.
M. le comte de Pourtalès acheta plus tard l'île du Levant, et obtint
l'autorisation d'y installer un pénitencier de jeunes détenus, y planta
65 hectares de vignes et construisit énormément. Ce fut lui qui fit de
l'île du Levant une véritable colonie. A sa mort en 1878, l'île fut mise
en vente et M. Philippart l'acheta avec l'intention d'y faire des
primeurs et de la vigne.
Nous ne pouvons mieux faire ici, que de citer quelques passages
d'un article que l'honorable M. Nardy, horticulteur à Hyères, inséra,
en 1878, dans les colonnes du Littoral méditerranéen.
»Au sud-est de l'immense rade d'Hyères surgit l'île du Levant, la
plus étendue de quatre formant le groupe des îles d'Hyères.
»Sa surface est de 1,300 hectares environ. De l'est à l'ouest dans
sa traversée qui est de beaucoup la plus longue, une crête partage
l'île en deux versants nord et sud. Ce dernier est heureusement plus
étendu que l'autre. Des vallonnements en pentes douces presque
partout, accidentent les versants. Quelques-uns de ces
vallonnements courent d'un versant à l'autre. L'âme de l'île est
généralement le schiste tendre et et friable comme il en est pour les
côteaux du continent voisin.
»Partout, même au haut des côtes, ce schiste est recouvert d'une
bonne couche de terre. Cette couche est très profonde au fond des
vallonnements où les siècles ont accummulé l'humus. Sur une
grande partie du sud-est de l'île, la terre des pentes et des fonds est
heureusement mêlée d'argile, ce qui la rend plus consistante et plus
favorable encore à la végétation. Celle-ci au reste est partout belle.
»L'île du Levant est depuis peu passée des mains de M. le comte
de Pourtalès en celles de M. Philippart.
»Sous la possession de M. le comte de Pourtalès, une colonie
pénitentiaire de jeunes garçons existait à l'île du Levant. Loin du
contact des habitants du continent, cette colonie n'en était pas
moins paraît-il, le repaire du vice croissant avec l'âge. Elle eut, il y a
quelques années, une révolte sinistre. C'est que, soit dit en passant,
quoique ses jeunes habitants fussent quelque peu occupés aux
travaux des champs, travaux des plus moralisateurs pour les jeunes
êtres dévoyés, ces êtres mal guidés, subissaient de plus une
direction arbitraire, sans fermeté, l'opposée de celle qui, inspirée des
sentiments élevés et généreux du père de famille, fait de l'enfant un
homme et non un forçat de l'avenir.
»Il n'y a plus de colonie pénitentiaire à l'île du Levant.
»Nous y venions en promeneurs: nous avions ouï dire que le
nouveau propriétaire comptait faire sur ce vaste domaine
d'importantes cultures de primeurs. Il faut l'avouer, nous avions les
oreilles quelque peu pleines de récits sur l'aridité de l'île, sur le peu
d'abris qu'elle présenterait, etc. Nous nous étions dit toutefois: A l'île
du Levant comme partout ailleurs, un bon cultivateur saura trouver
bonnes les terres. Aujourd'hui, après avoir vu, nous disons:
»La végétation indigène, pins d'Alep, arbousiers très forts bruyères
en arbre, lentisques, chênes-verts, cistes etc., qui luxuriante, couvre
partout le sol, prouve la bonté de celui-ci. Les quarante à cinquante
hectares de vignes plantées par M. de Pourtalès ont jadis, quoique
insuffisamment soignées et fumées, émis une vigoureuse végétation.
Aujourd'hui le phylloxera les a partout envahies, et si elles ne sont
mortes encore, nous ne croyons pas cependant qu'elles se
rétablissent.
»L'honorable directeur de la colonie agricole commencée à l'île du
Levant par le nouveau propriétaire, a bien voulu nous accompagner
dans notre excursion à travers l'île. L'excursion est longue, mais elle
est intéressante; aussi, malgré une chaleur tropicale, la mer, très
calme, nous envoyait à peine une bien légère brise, le charme
éprouvé par les yeux empêchait de songer à la fatigue. Le terrain se
prépare déjà à la culture au fond de nombreux vallons sur le versant
sud. Les uns sont inclinés aux sud-est et les autres au sud-ouest
mais tous sont dominés par des crêtes boisées abritant des vents du
nord-ouest et de l'est, seuls violents et nuisibles dans l'île. Chaque
vallon possède de l'eau de source, et les travailleurs qui préparent le
sol à diverses cultures n'oublient point de préparer en même temps
la captation et l'emmagasinage des eaux qui servent déjà à l'homme
et qui arroseront plus tard les cultures.
»Les vallonnements des versants, de celui du sud surtout, qui,
nous le répétons, est heureusement bien plus étendu en surface que
le versant nord, se prêtent admirablement aussi à la création de
barrages élevés, d'où l'eau, emmagasinée en hiver, pourra fertiliser,
en été, de bien intéressantes cultures sur de considérables surfaces.
Nous ne croyons pas exagérer en disant que l'eau des sources et
celles des barrages qui peuvent être successivement établis,
viendraient, étant intelligemment distribuée, à arroser au moins 150
hectares. Combien une telle surface, sous un tel ciel, ne produirait-
elle de beaux et d'intéressants produits primeurs, plus précoces
encore que ceux des côtes si privilégiées pourtant du continent
voisin! Nous disons plus précoces, et cela nous semble pouvoir être
affirmé. Sur la côte, les vents du nord, et aussi les courants venant
des contreforts des Alpes ou des cimes neigeuses de l'Esterel,
amènent parfois en hiver, des refroidissements nuisibles à la
végétation. À l'île du Levant, comme il en est au reste aux autres îles
de la côte, ces refroidissements sont moins sensibles. L'eau qui
entoure le sol de toutes parts d'un élément à température uniforme,
empêche ou modifie très heureusement dans toutes les îles, les
brusques passages de la chaleur au froid, passages venant du
continent, et que nous subissons. Du reste, des cultures de primeurs
commencées depuis quelques années à l'île de Porquerolles, voisine
de l'île du Levant, nous montrent une précocité avantageuse sur
celle obtenue sur nos côtes. Nous parlerons un jour aussi de l'île de
Porquerolles, non moins intéressante que celle du Levant.
»Les cultures arrosées de l'île du Levant devront être toutes
complantées d'arbres fruitiers, des espèces abricotier, cerisier et
pêcher, en se bornant bien entendu et à peu près exclusivement aux
variétés précoces. Le produit de ces plantations sera assurément très
rémunérateur. Sous les arbres viendront bien les cultures de petits
pois et de pommes de terre, cultures rarement arrosées, et celles du
haricot de printemps et d'automne, qu'il faut toujours arroser. Partie
de ces terres arrosées pourra aussi, mais sans autres cultures sur le
sol, dès que les arbres commenceront à produire, être couverte de
plantations d'orangers et surtout de citronniers. Les produits
assurément vaudront ceux de l'Italie et de l'Espagne.
»Les plateaux et les sols pentifs de l'Ile du Levant sont tous très
propices à la culture de la vigne. Il y a un certain nombre d'années,
alors que l'île appartenait à M. le comte de Pourtalès, des vignes à
vin furent plantées au nord-ouest et à peu de distance de la colonie
pénitentiaire et d'exploitation; cette partie de l'île n'est pas la mieux
abritée et d'autre part le sol particulièrement schisteux n'a point été
profondément défoncé. Cependant nous avons vu une bonne partie
de ces vignes montrer encore des preuves d'une végétation jadis
belle; malheureusement le phylloxera, cet infiniment petit qui se
moque si bien des prohibitions émanées du cerveau des savants de
cabinet, a pénétré dans l'Ile du Levant et toutes les vignes sont
envahies. Le sulfure de carbone, la panacée officielle qui devait
anéantir à jamais le nouvel ennemi de nos vignes a été appelé à l'Ile
du Levant. Là, comme ailleurs il a fait merveille. Il a été appliqué par
des travailleurs, officiels comme lui, délégués, à cet effet, par la
compagnie P. L. M. Armés de leurs instruments connus, ils ont
pendant tout l'hiver dernier et jusqu'en mars et avril, administré le
sulfure de carbone dans toute l'étendue des vignes.
»Le principal résultat obtenu est la suppression de toute récolte;
nous avons pu voir, en promenant longuement dans les vignobles,
des parties étendues où les ceps relativement vigoureux encore
portent, à la base de leurs sarments, les vestiges de formes de
raisins; mais, à l'époque de la floraison et même avant, ces formes
ont été annihilées.
»Un autre effet de l'application du sulfure de carbone ne se
montre que trop largement sur les surfaces où le remède a été
employé en fin de saison; là, les ceps les plus malades ont été tués
par le remède. Au moment de l'élan de la végétation, ils ont
commencé d'émettre quelques nouvelles pousses bientôt mortes en
roussissant comme si elles eussent été atteintes par un corrosif.
Quand nous les voyions, courant juillet, quelques-uns de ces ceps
montraient toutefois de naissants et bien chétifs bourgeons.
Assurément le volatile poison commençait à disparaître du sol et les
ceps vivants encore s'empressaient de le constater.
»M. le Directeur de l'Ile du Levant avait eu soin de donner aux
vignes sulfurées la distribution d'engrais religieusement
recommandée au reste par les hauts et savants patrons du sulfure.
Comptant sur la richesse apportée au sol par cette distribution, le
directeur a essayé, ça et là, dans les parties où les ceps sont, entre
lignes, largement espacés, des semis de pommes de terre, petits
pois et haricots. Partout ils ont germé, mais, malgré les bienfaisantes
pluies exceptionnellement prolongées, cette année, dans nos
régions, c'est à peine si quelques-uns ont continué leur végétation.
Là encore le sulfure a fait merveille.
»Jamais il ne nous avait été donné de rencontrer une constatation
aussi irréfutable des dangers de l'emploi de cet insecticide qui, ainsi
que d'autres que nous avons connus, réduit l'insecte à la famine en
détruisant la plante qui le nourrit.
»Jusqu'à quand demanderons-nous encore ou serons-nous même
forcés de demander la guérison de nos vignes à des insecticides?
Les plus vantés, les plus officiels non plus que les prohibitions
administratives n'empêchent point le phylloxera de continuer ses
ravages et de les étendre chaque année en de nouvelles régions.
Bien plus, comme nous venons de le constater dans les vignobles de
l'Ile du Levant, ainsi que l'ont fait ailleurs des praticiens autorisés,
l'un de ces insecticides, le plus vanté, le plus officiel de tous tue la
vigne plus sûrement que le phylloxera.
»Jusqu'à quand voudra-t-on, sur trop de parties des régions
viticoles, s'obstiner à repousser les vignes américaines qui, elles,

You might also like