Tuesday, March 14, 2006

Oracle SQL Developer

Oracle has released SQL Developer, a no-charge GUI tool for developers.

Quest has sold TOAD for several years, though hasn't done much develop in recent years. When in a software development office, the morning are filled with the croaking toad sound when developers start the application.

Tora is an open source package that has similar functionality.

Zfone VoIP Encryption

Philip Zimmermann has released Zfone, a VoIP encryption package that works with Gizmo and other VoIP services. He has submitted the package as a proposed IETF standard.

Sunday, March 12, 2006

HP-UX Going, Going, Gone...

I am working with some machines hosted in a HP data center (Littleton Massachusetts), so the choice of HP-UX is not a surprise.
My previous HP-UX experience was version 10 several years ago. It appears little has changed during those years, and freeware support is lacking.
I tried to install a web browser... any web browser. Unlike other OSs, this is not a ten minute task.

Mozilla distributions support Windows, Mac, and Linux x86.

Opera distributions support more OSs - Windows, Mac, Linus, FreeBSD, Solaris, OS2, QNX, and many mobile platforms.

Opera has a distribution for OS2 and not HP-UX.

HP-UX's 3rd party software developers have left the building.

GMail Beta

GMail has been in beta for a couple years. This is the longest beta I have seen. Just one more feature and another and another. No software is ever complete.

Tuesday, March 07, 2006

DB2 Free Production License

Following up this DB2 post, DB2 Express is no charge. This is useful for development, learning, and lightweight production.

Sunday, March 05, 2006

Open Router Software

XORP is an open source IP router that can run on PC hardware. Enterprise-class routers from Cisco and other routher manufacturers have been highly priced and are often administered by high-priced people who typically barricade their knowledge from the rest of the IT staff.

This Business Week magazine article considers the threat to Cisco that is posed by XORP.

Open source has been sweeping the IT industry. Operating systems, databases, and application servers all have several viable open source products. Products in the networking layer of the IP stack still have fat margins and over-priced personnel and support. This stronghold of fat margins is now under seige by open source.

Online Store Operational Costs

Strategy and Buiness magazine has an article online about the cost to serve of web stores. The article explains how some products are more or less tailored to online sales, and how stores with online and physical presence can tailor their product stocking to reduce the cost to serve.

DB2 Certification

There is a continuous base of support and interest in the DB2 database from IBM. While there is apparently not as much demand as some other database engines, there is a a group of customers who are happy to use what works for them: DB2, CICS, JCL, CLIST, REXX.

DB2 certification tutorials.

DB2 certification books.

DB2 certification newsletter from IBM.

DB2 magazine carries good articles from columnists such as Robert Catterall.


This is a typical DB2 job advertisement.
Title: Contract to hire or Perm DB2 DBA in the DTC
Skills: DB2, Linux/Unix, Windows NT

Date: 2-21-2006
Location: Greenwood Village, CO
Area code: 303

Tax term: FULLTIME CON_W2 CON_HIRE_W2
Pay rate: 0
Length: 6 mo cth

Position ID: 1653-A0747
Dice ID: ktsor

Job description:
Are you a solid, experienced DB2 DBA? Would you like to work for a company that not only prides themselves on their satisfied customers, but also considers their employee base to be their greatest treasure?

We are working with a company in the DTC that is looking for a DB2 DBA to join their team. They need someone with at least 3 years of experience in a DB2 DBA role on a Linux/Unix and Windows NT platform. The selected candidate will be responsible for day-to-day admin of three databases as well as quality control and data audits to ensure accurate and appropriate use of data. The person in this position will also be working with clients to resolve data conflicts and any other troubleshooting needs.

Other helpful things to know would be Query Patroller and Quest Central.

This company is looking for someone that's able to hit the ground running ASAP. If you are interested in this position, please e-mail your resume, contract rate and salary requirements to saprakl@kellyservices.com. Local candidates will be given preference.

Travel required: none
Telecommute: no

Saturday, March 04, 2006

EVDO WiFi Router

This EV-DO WiFi router may be enough to get me to subscribe to Verizon Wireless broadband wireless EV-DO. I wish Verizon's EV-DO coverage was better.

Some more information on the EV-DO WiFi router.

Friday, March 03, 2006

Broadband In The Boonies

Notes on setting up shop far from good internet access.

Navini networks has some wimax deployed in the field. A base station near an internet connection pointed at the remote wimax modem can provide a connection. Craft a reflecting antenna around the back side to direct the beam. Navinia sells the base station with either omni or sectional antenna. The sectional antenna base station may peform better.

The Junxion Box takes a PC Card and shares the connection via Ethernet or wifi. This is useful with Verizon BroadbandAccess wireless data service, and could be used to back up the primary connection.

Lumin makes a portable wifi repeater with solar cell and battery. This could be a nice package to squat on a ridgeline that has line of site between the source and destination. A backup link such as IDSL or Verizon wireless broadband would be useful as a fall back.

FCC and FAA allow towers up to 200 feet without paperwork / flashing red light. If this could provide line of sight, then it might even be possible to sell tower space to a wifi provider or Verizon. Remember to ground the tower and consider wind loads and power supply.
Consider a used tower.

Speakeasy can provide DSL, IDSL for those further away from a central office, and T1. Speakeasy has a reputation for good reliability and low ping times. They provide quotes via email by submitting a service address and service phone number.
IDSL is usually more expensive than ordinary DSL and bandwidth is about 130K. With bandwidth prioritization/shaping, this could be used for interactive command line work or as a backup link.

Bandwidth prioritization can make a small pipe feel more snappy.
Hawking sells an inexpensive appliance named Broadband Booster that can provide traffic prioritization, though it is not configurable. This would be useful if running VOIP in a home office. You can also roll your own with an old PC, linux, and bandwidth shaping software. More expensive enterprise class products are available.

For power outages, install a large UPS with a generator or solar cells. Or get a tiny (10 minute capacity) UPS with a whole house generator. A 10kW Cummins Onan generator (natural gas or propane) with automatic transfer switch is nearly $5000 (including shipping, plus installation).
This wind turbine looks interesting. This would require large UPSs for times when there is less wind.

Sunday, February 26, 2006

Nokia 770 Internet Tablet

The Nokia 770 internet tablet is a small computer, not a phone. Coupled with a phone that supports Verizon's wireless broadband, this could a great combination for people who provide remote tech support and don't want to carry a laptop.

Google Web Publisher

Google has released a web publisher. The editor requires no knowledge of HTML, and publishes to a page name that contains the user's gmail user name.

Oracle Express

Oracle released an Express version of the 10g database. It is free to download and distribute, can run on one CPU, and can store 4GB of user data. It runs on MSWindows and Linux.

It would be great to see this run on Solaris 10, though it might be possible to run the Linux under Solaris...

Thursday, February 23, 2006

Solaris x86 Hardware Compatiblity Check

Sun has a tool that will check a PC for compatibility with Solaris. The tool is delivered as an iso image to be burned onto a CD. The CD will boot and check the system.

Tuesday, February 14, 2006

Measuring Performance In Services by McKinsey

McKinsey Quarterly has an interesting article ,Measuring Performance In Services.

Here is a small part of the text. To do so, it is necessary to bear in mind a few essential principles of service measurement.

First, service companies need to compare themselves against their own performance rather than against poorly defined external measures. Using external benchmarks only compounds the difficulties that service companies face in getting comparable measurements from different parts of the organization.

Service companies must look deeper than their financial costs in order to discover and monitor the root causes of those expenses. This point may seem self-evident, yet many companies fail to understand these causes fully.

Finally, service companies must set up broad cost-measurement systems to report and compare all expenses across the functional silos common to service delivery organizations. The goal is to improve the service companies' grasp of the cross-functional trade-offs that must be made to rein in total costs.

None of these principles is easy to implement.


... by developing internal trees for each service line can a company begin to understand its true cost drivers. A tree allows a manager to compare the performance of different accounts against similar metrics and also to calculate which improvements will have the most impact on the top-level figure.

Mobile Data Extenders

A home office that is on the fringe of reliable and affordable communications could benefit from this gear.

The cost of cellular repeater is going down and now almost affordable for consumers. These have been available from other vendors, though expensive.

EV-DO router. There are others on the market.

This to-be-released VOIP handset from Netgear shows the VOIP industry is maturing. It is pre-loaded with Skype and may be easy enough to use by non-technical people.

Sunday, February 12, 2006

Quick Flickr Front End With Ruby On Rails

This video shows how a custom front end to Flickr was created in a few minutes.

Useful (and free) Web Apps

Back Pack is an event organizer web page for a to-do list, photos, text. Free for personal use. Pages may be shared with some users or made public.
To Do List
White Board

AJAX and Google's Suggest

Not only is Google's Suggest an example of using AJAX, it is also a neat way to do a one-word Google search. Start typing the first letters of a word and it will suggest matches. The more you type, the more refined will become the suggested matches.

Tuesday, February 07, 2006

WiFi Peering

Share your WiFi and get free WiFi while travelling with FON. Currently limited to Linksys WRT54G/GS/GL versions 1x to 4x routers.
More info.

Tuesday, January 17, 2006

Oracle 9i DBA Fundamentals, Exam 1Z0-031

The Oracle 9i DBA Fundamentals Exam is the second of two required tests to achieve Oracle Certified Associate status.

These notes are from Exam Cram Oracle 9i Fundamentals 1 by April Wells.

Tablespace contains segments which contain extents which contain data blocks which contain OS blocks. Extents are specific to a data file. Segments can span data files.

Oracle Universal Installer can be run non-interactively using a template so that installs can be completely scripted. ./runInstaller -responsefile filename -silent

The password file allows access to administrative roles sysdba / sysoper to an OS user without divulging the adminsitrative passwords.
Set REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE.

Oracle Enterprise Manager can be used to control a fleet of servers using Intelligent Agents and the Oracle Management Server schema. Each managed node requires one Intelligent Agent which communicates with OMS.

Oracle Flexible Architecture would have:
ORACLE_BASE the topmost directory,
ORACLE_HOME set to ORACLE_BASE/product/release/
Add ORACLE_HOME/bin to the PATH.
Set ORA_NLS33 to ORACLE_HOME/nls/data if using character set other than US7ASCII.
Add ORACLE_HOME/lib to LD_LIBRARY_PATH.

Startup: nomount mount open restrict recover force
If an instance is running, STARTUP FORCE shuts it down with mode ABORT before restarting it.
STARTUP NOMOUNT can be used to create a new controlfile.

Oracle Managed File parameters: DB_CREATE_FILE_DEST DB_CREATE_ONLINE_LOG_DEST_n
When using OMF, alter database add logfile; will create logfile with size of 100MB.

Startup nomount then create database.
CREATE DATABASE runs sql.bsq to create data dictionary base tables.
Install data dictionary views with ORACLE_HOME/rdbms/admin/catalog.sql.
Install PLSQL with catproc.sql.

To convert ORACLE_HOME/dbs/initSID.ora to spfile: create spfile from pfile;

alter system enable restricted session; Leaves sessions connected but new sessions can only be established by DBA and those with RESTRICTED SESSION privilege.

If not specified with startup pfile=filename, then starts with ORACLE_HOME/dbs/spfileSID.ora or spfile.ora or initSID.ora.

alter session set sql_trace=true
dbms_system.set_sql_trace_in_session

Show data dictionary tables: SELECT * FROM DICTIONARY [DICT CATALOG CAT]
Show data dictionary columns: SELECT * FROM DICT_COLUMS

V$ are all dynamic performance views.

DBA_SEGMENTS and DBA_EXTENTS both have column BLOCKS.

Block header contains: block address, row directory, table directory, transaction slots.
The table directory is the portion of the data block contains information about the table having rows in this block.
Blocks have a header that consist of:
* Block type
1=undo segment header, 2=undo segment block, 5=data segment header, 7=temporary table, 11=data file header, 14=Unlimited rollback segment header, 15=Unlimited deferred rollback segment header, 16=Unlimited data segment header, 17=Unlimited data segment header with FL groups, 18=Extent map block
* Block format
Is it an oracle 7 or oracle 8 or 9 or 10 formatted block?
* Relative database address
* SCN
* SCN sequence number
* Check value
Is used for integrity checking at the block level if db_block_checksum is set.
* Tail
The tail is not at the beginning of a block but at its end: it is used as a block consistency check. That is, the value must be equal to SCN + block type + SCN sequence number.

AL32UTF8 varying width multi byte character set.
AL16UTF16 fixed width multi byte character set.
UTF-8 unicode standard.
UTF8 Oracle implementation of unicode.
Database character set may not be fixed width multi byte.
National character set may be fixed width multi byte.
When developing a packaged application, UTF-16 and nvarchar data types will provide most portability to any customer site.
NLS_LANGUAGE determines: NLS_DATE_LANGUAGE NLS_SORT.
Set ORA_NLS33 to $ORACLE_HOME/ocommon/nls/admin/data
Default sorting method is binary.
V$NLS_PARAMETERS

System Change Number is stored in all data files and control files and redo log files.
alter database open resetlogs; This creates a new incarnation of the database and affects recovery.
create controlfile...; Create control file from scratch with information you provide. You need to know names of all data files.
alter database backup controlfile to '/path/name';
alter database backup controlfile to trace;
V$CONTROLFILE

FAST_START_MTTR_TARGET sets upper bound on recovery time by causing more frequent check points.
alter system switch logfile;
alter database clear [unarchived] logfile group ;
V$LOG
V$LOGFILES
V$LOGHISTORY Archived logs.
V$LOGHIST Online logs.
alter system archive log all; Does what the archiver process does.

CREATE TABLESPACE BLOCKSIZE needs a configured subcache to use - DB_[2 4 8 16 32]K_CACHE_SIZE. Temporary tablespace can not use nonstandard block size.
Tablespaces that can never be offline: system, default temporary, undo with active segments.
ALTER TABLESPACE OFFLINE NORMAL;
TEMPORARY; might need recovery
IMMEDIATE; will need recovery
FOR RECOVER; allows tablespace point in time recovery
ONLINE;
READ ONLY; still will allow objects to be dropped
READ WRITE; undoes READ ONLY
Temporary tablespace tuning should set UNIFORM EXTENT SIZE to multiple of SORT_AREA_SIZE.
BACKUP CONTROLFILE does not record temporary tablespace temp files.
CREATE CONTROLFILE does not allow specifying temporary tablespace.
Set a default temporary tablespace: alter database default temporary tablespace ;
To drop a tablespace for sure: drop tablespace including contents and datafiles cascade constraints;

Read consistency is implemented through undo and system change numbers.

SET TRANSACTION READ ONLY; provides transaction level repeatable read.
SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; provides transaction level repeatable read during read/write.

Types of undo: system, non-system, deferred. Deferred occurs when tablespace is offline for recovery.

Init.ora settings for system managed undo: undo_management [auto, manual] undo_tablespace=.

How to change the undo tablespace: alter system set undo_tablespace=;
When one instance of RAC is looking for a previous SCN in undo, does it look in it's undo then ask all other instances if it is available in their undo?

alter system set undo retention=;
Monitor via v$undostat.

Index organized table overflow holds columns that don't fit or that are excluded (PCTTHRESHOLD INCLUDING).

CHAR(n) 1-2000 bytes, blank padded.
VARCHAR2(n) 0-4000 bytes.
DATE 7 bytes.
TIMESTAMP Fraction of second, up to 9 digits, default is 6.
BLOB When greater than 4000 bytes, a locator points to out of line storage.
VARRAY Stores a list, manimum size is set.
External table:
create or replace directory as '/dir';
grant read on directory to user1;
create table ... organization external;

dbms_redefinition.can_redef_table to verify if it can be online redefined.
Create interim table.
dbms_redefinition.start_redef_table
dbms_redefinition.finish_redef_table

alter table move tablespace ;

Bitmap index may never be unique.
alter index rebuild online; online allows continued DML on the table.
alter index coalesce; Merges leaf blocks.
analyze index validate structure; Information is stored in index_stats.
alter index monitoring usage; Information is stored in V$OBJECT_USAGE.

Primary key constraint may not contain nulls.
Unique constraint may contain nulls.

drop table cascade constraints;
drop tablespace including contents cascade constraints;

http://download-west.oracle.com/docs/cd/B10501_01/server.920/a96536/ch2427.htm#1315815
$ORACLE_HOME/rdbms/admin/utlexcpt.sql creates EXCEPTIONS table.
alter table enable valid constraint exceptions into EXCEPTIONS;

PASSWORD_LOCK_TIME number of days account will be locked after FAILED_LOGIN_ATTEMPTS
.

PASSWORD_REUSE_TIME days before password may be reused. PASSWORD_REUSE_MAX number of new passwords before reuse of previous password. These are mutually exclusive - use one or the other.

PASSWORD_LIFE_TIME days to expire password.

Oracle-supplied password verify_function is enabled by running utlpwdmg.sql. It changes the default profile.

ALTER RESOURCE COST changes the weighted values.

Init.ora RESOURCE_LIMIT

DBMS_RESOURCE_MANAGER package use requires privilege
ADMINISTER_RESOURCE_MANAGER, which is in DBA role.
Resource plans are created in the pending area. The resource plan guides resources to consumer groups.
execute dbms_resource_manager.create_pending_area;
execute dbms_resource_manager.clear_pending_area;
Create consumer group. There may be more than one consumer group per plan. Oracle provides consumer groups default_consumer_group and other_groups.
execute dbms_resource_manager.create_consumer_group;
execute dbms_resource_manager.create_plan(plan_name);
Plan directive specifies how resource are allocated to consumer groups.
execute dbms_resource_manager.create_plan_directive; This must always include the OTHER_GROUPS catch-all.
Individual users needs privileges to set initial group and to switch groups. It is convenient to grant the privileges to PUBLIC.
execute dbms_resource_manager.set_initial_consumer_group;
execute dbms_resource_manager.grant_switch_consumer_group;
Activate the resource manager: alter system set resource_manager_plan=<>;
DBA_RSRC_PLANS lists all resource plans.
V$RSRC_PLAN lists currently active plans.
DBA_RSRC_PLAN_DIRECTIVES lists all resource plan directives.

To move the audit trail out of the system tablespace:
alter table aud$ move tablespace <>'
create index <> on aud$(sessionid, ses$tid) tablespace <>;

Users with role SYSOPER can
STARTUP RESTRICT.

Extended ROWID is ten bytes encoded in base 64. Restricted ROWID is six bytes encoded in base 16.

Monday, January 16, 2006

Search Engine Optimization

A few links to useful search engine optimization information.

Submisssion
Submisssion
Submisssion basics

Add URL to Google.
Add URL to Yahoo.