Search · Index

Weblog

Showing 1 - 10 of 823 Postings (summary)

OpenACS TODO List

Created by Dave Bauer, last modified by Gustaf Neumann 22 May 2016, at 10:12 AM

Release Status

See openacs-release-status

Development is taking place in the oacs-5.9 branch.

OpenACS Version 5.9.1 agenda/wish list

  • Refactoring of rich-text editor integration
    • Driving force: Debian packaging
    • we have now the new packages
      • richtext-xinha
      • richtext-tinymce
      • richtext-ckeditor4
  • SQL:
    • Further cleanup of .xql files (like what as done for acs-subsite in 5.9.0)
      • so far, 36 files deleted
      • removed more than 100 obsolete named queries
      • stripped misleading SQL statements
    • Mark redundant / uncalled sql functions as deprecated
    • Simplify core sql functions by using defaults
      • Number of functions reduced by a factor of 2 compared to OpenACS 5.9.0 (while providing compatibility for clients using old versions),
      • reduced code redundancy
      • Affected functions:
        • reduced content_item__new from 12 versions to 6,
        • reduce content_revision__new from 7 to 4
        • similar in image__new, image__new_revision, content_item__copy, content_item__get_title, content_item__move
    • PG 9.5 supports named parameter in the same syntax as in Oracle. Further reduction of variants will be possible, once OpenACS requires at least pg 9.5
    • Modernize SQL
      • use real Boolean types instead of character(1)
        (done for new-portal, forums, faq, attachments, categories, dotlrn, dotlrn-forums, evaluation)
         
  • CR hygienics (reduce cr bloat)
    • Provide means to avoid insert/update/delete operations in the search queue: OpenACS adds for every new revision often multiple entries to the search_queue, without providing any means to prevent this. This requires for busy sites very short intervals between queue sweeps (otherwise too many entries pile up). Another consequence is that this behavior keeps the PostgreSQL auto-vacuum daemons permanently active. Many of these operations are useless in cases where the content repository is used for content that should not be provided via search. The changed behavior should honors a publish-date set to the future, since it will not add any content with future publish dates to the search-queue.
    • Insert into cr_child_rels just when needed. cr_child_rels provide only little benefit (allow to use roles in a child-rel), but the common operation is a well available in cr_items via the parent_id. cr_child_rels do not help for recursive queries either. One option would be to add an additional argument for content_item__new to omit child-rel creation (default is old behavior) and adapt the other cases.
       
  • Security improvements:
    • improve protection against XSS and SQL-injection
    • add support against CSRF (cross site request forgery)
       
  • Final cleanup of permissions:
    • Get rid of acs_object_context_index on pg: huge table,
    • expensive maintenance, used only in a few places,
    • used as well by Oracle (effort has to be determined)
       
  • Data bloat hygiene:
    • rethink package parameter and portlet parameter data models
       
  • registry for .js and .css libaries: allow besides classical urls symbolic names for loading external resources (e.g. jquery), this would make it easier to upgrade  libraries in multiple packages (without running into problems with duplicate versions) or switching between CDN and local paths
  • say farewell to CVS

OpenACS Version 5.9.0 Agenda

  • Slimming pg SQL core:
     
    • Part 1: improve performance of object deletion
      • remove manual delete operations from acs_object__delete()
         
    • Part 2: content-repository - manual referential integrity management
      • handle referential integrity via pg's integrity constraints rather by functions cr_revision_del_ri_tr, cr_revision_ins_ri_tr, cr_revision_up_ri_tr, cr_revision_del_rev_ri_tr, and cr_revision_del_rev_ri_tr
      • fix broken/missing upgrade scripts from earlier updates
         
    • Part 3: content-repository - manual deletions and nulling
      • Removed manual nulling of live_revision and latest_revision
      • Removed manual deletion of old_revision and new_revision in cr_item_publish_audit
      • Removed manual deletion of item_id in cr_item_publish_audit, cr_release_periods, cr_item_template_map, and cr_item_keyword_map
      • Removed manual deletion of direct permissions
      • Added missing index for child_id to cr_child_rels.
         
    • Part 4: get rid of tree_sortkey in acs-objects
      • Check/fix dependencies in oacs-5-8 packages
      • Get rid of broken/uncalled functions using the column
      • Check/fix dependencies in other packages
      • Remove tree_sortkey and max_child_sortkey
  • Web interface:
    • Improve client performance
      • moving core.js from head to body
      • provide kernel parameter to control expiration date for /resources/
    • Protect against more XSS attacks
    • Improved HTML validity (see oacs-5-9-html-validity for the checklist)
    • Add lightweight support for ckeditor4 for templating::richtext widget (configurable via package parameter "RichTextEditor" of acs-templating. ckeditor4 supports mobile devices (such as iPad, ...).
    • New kernel parameter ResourcesExpireInterval to control expiration dates of resources
       
  • Templating:
    • Improve theme-ability
      • Move more information into theme packages in order to create responsive designs
      • Reduce hard-coding of paths, HTML etc.
    • Dimensional slider reform (ad_dimensional):
      • Remove hard-coded table layout from dimensional slider
      • Add backwards compatible templates
      • Move hard-coded styles into theme styling
      • Remove obsolete comments from ad_dimensional
    • Complete template variable controls (adding noi18n, addressing bug #2692):
      • @foo@: perform html quoting and internationalization
      • @foo;noquote@: perform internationalization
      • @foo;noi18n@: perform html quoting
      • @foo;literal@: perform neither html quoting nor internationalization
    • Improved Russian nationalization
    • Support of expiration dates and passwords for signed variables
       
  • Documentation:
    • Use ACS templating for the (static) OpenACS documentation to provide a more consistent layout and user experience.
    • Make pretty-naming of acs-core packages more consistent.
       
  • Misc improvements:
    • Mark unused functions of acs-tcl/tcl/table-display-procs.tcl as deprecated
    • Reduce number of muxtex locks by pre-request and per-thread caching
    • Improved development und debugging aids:
      • use "ad_log error|warning  .... " instead of "ns_log" to include information of request and callstack in error.log
      • ability to display ns_log entries caused by a request in ds-footer
      • ability to save delivered web pages in file-system for testing HTML validity (especially for admin pages, which are unaccessible for external validity testers)
    • More bug fixes
       
  • Version numbers:
    * require PG 9.0 (End Of Life of PostgreSQL 8.4 was July 2014)
    * require XOTcl 2.0 (presented at the Tcl conference in 2011).
     

OpenACS Version 5.8 Agenda

  • PostgreSQL 9.2+:
    • Get rid of nonstandard backslash escapes in function definitions
    • Change quote syntax in sql files (single quotes around the functions) to recommended PostgreSQL quoting using (recommended since pg8.0, jan 2005). li>Drop aliases in favor of named function arguments (recommended since pg8.0)
    • Fix wrong function_args, add missing function_args, align default semantics with the defaults in pg (providing "null" as default means the argument is optional)
    • Make OpenACS loadable without any tweaks in the pg config files
  • Use recursive queries for e.g. permission lookup to avoid performance problems in pg 8.4 and newer)
  • ADP: Use byte-compiled function wherever possible in compiled adp-code, support "@var;literal@" when neither quotes nor localization is needed in compiled adp-code
  • Improve support of NaviServer
  • Switch to Tcl 8.5 (TIP #143)
  • Improve scalability: Reduce mutex-stress on util-memoize cache and for cache maintenance in general
  • Code cleanup:
    • Get rid of calls to deprecated code (e.g. ad_tables, ad_parameter, ... in acs-core and main packages)
    • Improve awareness of usage of deprecated code (complain to error.log)
    • Use Tcl 8.5 idioms
    • cleanup of various http-client approaches and introduce a common implementation util::http::get and util::http::post; get rid of other usages, mark these as deprecated
    • page-contracts: Perform checking of all ids in acs-core and main packages to improve error messages and to improve security
  • OpenACS 5.8.1 should be released with main packages

OpenACS Version 5.7 Agenda

  • Support for object management in core 
  • Postgresql 9.0
  • TinyMCE update (fix for random JS injection issue, affecting Safari)
  • Fix for "remember me" issue
  • WCAG2-AA

OpenACS Version 5.6 Agenda

  • global parameters
  • package "embeds" 
  • fix search by package_id
  • core works on Postgresql 8.4

OpenACS Version 5.5 Agenda

  • DONE: Postgresql 8.3 support: especially regarding tsearch2
  • DONE: acs-authentication:
    • fix upgrade, add conditional logic into site wide tcl library so that you can login to perform the rest of the upgrade
  • DONE: tinymce:
    • upgrade to 3.1.1 + language packs
    • HTML Strict cleanup
    • create appropriate parameters for its config in acs-templating
  • acs-mail-lite:
    • DONE: cleanup duplicated procs (bounce)
    • review the parsing of bouncing messages (case user_id 0)
    • DONE: rollout support
  • Documentation improvements as discussed at the Guatemala conference:
    • Make current openacs.org/test-doc source for static files included in the release and provide ease means to achieve this for the release manager
      • DONE (CVS HEAD): Provide in XoWiki an alternative table of contents by nested UL/LI (without JavaScript) for static output
      • DONE (CVS HEAD): Provide in XoWiki a prototype page similar to "book" without edit-buttons etc., using the new table of contents
    • Update openacs.org/test-doc where necessary (incomplete list):
      • DONE: Fix the page ordering for the higher chapters (the original document  had no 3rd. level numbering)
      • update pages in /test-doc which are more recent in openacs/xowiki
      • bump version numbers of OpenACS, where appropriate (some places talk about openacs-5-0, others about openacs-5-1, oacs-5-2-3rc1 or 5-3) 
      • some version numbers of the required components are quite a mess. e.g. some parts say that Postgres 7.3 is required,  some examples talks about postgres 7.4.7 and 8.2.4 in the same listing.
      • also the dotlrn version numbers are old dotrln-2.0
      • Tcl version numbers should be 8.4.19
      • The install section for XOTcl is missing in II.3.4
      • remove ChangeLog from documentation
      • find some other prominent place for the ChangeLog
      • Fix indenting in examples  (e.g. in Rocael's robust web    development framework)
      • overthink Win2000 guidelines.  There are the native compiled packages from Maurizio, including everything from postgres, xotcl ....
    • It is desired to find a single person responsible for overworking the documentation, however, funding is unclear.

OpenACS Version 5.4 Agenda

  • DONE: HTML Strict (openacs core)
  • DONE: finish template::head (daveb)
  • DONE: test acs-mail-lite (complex send)
  • DONE: test notifications (complex send)
  • DONE: new XinHA release, get rid of RTE & HTMLarea, test on Safari
  • DONE: Form builder: add the ID attribute  to the form tag
  • DONE: acs-lang - keepLocalTranslationP to be removed
  • DONE search and intermedia-driver: move intermedia specific stuff to its package
  • DONE: acs-mail-lite - patch for mime::qp_encode bug

Future

  • Split Xinha and TinyMCE into seperate packages see: http://openacs.org/forums/message-view?message_id=2750958
  • Usability ("my account" page)
  • XHTML ?
  • Testing and documentation for recording automated tests using the firefox plugin and the upload feature for it new in automated testing. Probably needs some polishing and should be talked to with Quest who are getting into this.
  • Parameter Scope Patch http://openacs.org/bugtracker/openacs/patch?patch%5fnumber=845 
  • Remove obsolete master template stuff (default and site master template in openacs-4/www, acs-subsite's group-master, and related CSS and images).  Probably in the version which follows 5.5 (probably 5.6).  Also remove the compat master stuff at the same time.

Things to merge into this page

Old 5.0 Roadmap  discussion 

Roadmap discussion 1 

 [Ideas for Boston 2006 Future of OpenACS discussion]

My previous attempt at collaborative roadmap 

A .LRN Roadmap 

Another .LRN Roadmap discussion 

 

What's on this page?

This page should include work that is planned on and has someone comitted to working on it.

Windows-OpenACS

Created by Maurizio Martignano, last modified by Maurizio Martignano 21 May 2016, at 08:06 PM

Windows-OpenACS (vers. 3.0.12 - May 2016) is a  Windows 64 port of OpenACS 5.9.0 and the latest snapshot of Naviserver and is available here.

This port installs and runs on the following systems: Windows 8.1, Windows 10, Windows Server 2012 R2 and Windows Server 2016 TP.

 

Migration from CVS to GIT

Created by Victor Guerra, last modified by Gustaf Neumann 28 Apr 2016, at 09:07 AM


IMPORTANT!!! by no means the statements written in this page are official. At the moment one should consider this information just and only for experimental purposes. There are no official decisions made by the OCT so far regarding migration to GIT or any other source control tool.  At the moment CVS is the official tool used and you can navigate the project history and code at our official code and history inspector Fisheye OpenACS

Tools to consider for the migration:

  • GIT includes a tool for the migration of CVS repositories called git-cvsimport.
  • The cvs2svn project provides support for converting a CVS repository into GIT. The tool is called cvs2git

Structure of the GIT Repository:

  • One git repository hosting the entire code base of OpenACS (including contrib and all packages) vs. multiple repositories (provide separate git repositories managed via modules/subdirs/...)
  • A single large repository seems not realistic, since many sites have site-speciifc modules, since there projects like ProjectOpen and others having developed a long range of maintained packages. But are 300+ separate repositories manageable with reasonable effort (maybe mr is currently the best option, we have good experiences with this). However, this decision has large impact on tagging and release management (see below)

Where could the repositories live (?):

  • Official repositories on openacs.org machine? (Perhaps setting up git.openacs.org)  and having remote-mirrored repositories on github so developers can clone and share patches using github. -- jiml: many tools which could get similar function to github (forking, pull requests),,, what would be required to get a git.openacs.org?  can we put up a gitorious on a test site with maybe 50gb of repo space so all the committers can have their own?
  • Using github.com as our official source code site? or Bitbucket?

Points to consider before | when migrating to GIT: 

  • Release-management: Installing-software-from-repository code is based on release "channels" and cvs-tags in order to define which channels are available to users ( http://openacs.org/repository/) and to provide the recent packages for that channel.  In principal, similar tags could be used as well in git, but there are several differences. CVS tags are per file, git tags are per repository (if the git repository contains e.g. all packages, there is no way to tag a single package as e.g. OpenACS 5.9 compatible with e.g. tag "openacs-5-9-compat"). It is possible to work with separate git repositories and work with git modules and/or subtrees, but this means that we have 300 repos to manage (all could have separate branches and tags), and single commits covering multiple repos are not supported). This means, that one needs higher level tools and recommended workflows to manage developments on the core source repositories (branches, tags) and site-specific packages and local modification as well as site-specific release and feature branches
  • Depending on the decision of the structure it is necessary to provide git-guidelines similar to cvs-guidelines  and the code retrieving and generating .apm packages has to be rewritten.
  • Application for voting on oct-elections depends on commits history ( most likely this will transparent since we use fisheye.openacs.org  for fetching information about commit history, and fisheye provides one and one only interface for querying data, so the fact that the code is being controlled by cvs or git is irrelevant ... but since fisheye is configured for CVS, it has to be newly built for the resulting infrastructure, or it has to be dropped/replaced by github/bitbucket or others.

Current state:

  • Since 2014 Victor Guerra (Vienna University of Economics) has created an unofficial mirror on github https://github.com/openacs  which contains a daily mirror of the CVS repositories at openacs.org. It consists of an openacs-core modules plus a separate repository for every non-core package.

OpenACS/dotLRN Windows Installer Instructions

Created by Byron Linares, last modified by Gustaf Neumann 20 Apr 2016, at 10:52 AM

NOTE: Currently (04/2016), the best option to get OpenACS 5.9.* running on Windows is to use the native windows installation Windows-OpenACS by Spazio IT (Maurizio Martignano).


This page describes the installation of (quite old) components based on cygwin, but might still be useful for people, that can't use Maurizio's implementation for whatever reason:

  • OpenACS 5.2.3
  • DotLRN 2.2.0

Included Software

  • AOLServer 4.0.beta10_2003
  • PostgresSQL 7.4.3
  • OpenACS 5.2.3
  • DotLrn 2.2.0
  • Cygwin

Installer Download :

The installer is available in openacs community page.
Available versions:
 

  • OpenACS/dotLRN installer
  • OpenACS 5.2.0 installer


Installation Instructions:

Run the "OpenACS/DotLRN Installer" called setup.exe, read the license document before continuing, the installer will ask for some information, this will be used to make the automatic installation.

There are to ways to install the components; manually or automatic

Components
 

  • dotLRN Manual and openACS Manual:
  • In this modality the entered personal data in the installer will be omitted and will be necessary to retake the installation from a browser window and enter the necessary data to continue the creation of the data modeling.
  • dotLRN Automatic and openACS Automatic
  • In this modality the installer its in charge of all the work, when finishing creating the data model the following step would be to reinitiate the service and continue with the use of the platform.
  • Source Code:
  • The installer will put in the installation folder the source code of the same one.


Select what you want to install and click next. After the installer places all the files, a browser window will be opened and the installation have to be continued from here, if the automatic mode has been selected wait to the installation finishes. When the installation finishes restart the server and type in a web browser "http://localhost"

 Access Icons:

  • OpenACS on the web: access to http://localhost/
  • Start Server: Bach file to initiate the server (aolserver, postgresql, cygwim)
  • Stop Server: Bach file to stop the server (aolserver, postgresql, cygwin)
  • Unistall OpenACS: Uninstall all

Diagnostics
 

  • Check if CygWin: Please execute the file server/cygwin/cygwin.bat.  You should get a black screen with some green text saying: "yourusername@yourcomputer" and the "$".
  • Check PostgreSQL: in the cygwin window typy psql -l , You should get the names of all data base.
  • Check AOLServer: ps -alW | grep nsd , You should get some thing like this
  • 2312 0 0 2312 ? 0 07:52:20 C:\OpenACS\nsd4\bin\nsd.exe


Full guide

 

 

developed at the Galileo University (www.galileo.edu) by Byron Haroldo Linares Roman bhlr@galileo.edu as part of the E-LANE project (www.e-lane.org)

 

 

related forum threads

OpenACS/dotLRN installer for MSWindows

hstore

Created by Michael Aram, last modified by Gustaf Neumann 12 Apr 2016, at 10:39 AM

hstore  is a postgresql module, which is used optionally by newer versions of xowiki and xowf (xowiki content flow ) to provide quick access to the "instance_attributes" (the per-form or per-workflow attributes not part of the native content repository data model). The supporting functions (creating indices, etc) are currently mostly part of the xowiki sources (earlier: xowf).

Under Ubuntu, you can install hstore via:

    psql -d <yourdb> -tAc "create extension hstore"

You can then verify the successful installation on the ds/shell using:

    ::xo::db::has_hstore

XOTcl Request Monitor

Created by Gustaf Neumann, last modified by Gustaf Neumann 12 Apr 2016, at 10:35 AM

 

Package specification Summary for package xotcl-request-monitor

Summary: Request Monitor with user tracking functionality
Description: <pre> This package provides a Request Monitor for OpenACS applications. It computes performance summary information such as requests/views per seconds, average response time, number of users connected, lists currently active threads, etc. Furthermore it can block overactive users (e.g. automated web-bots mirroring the site, users repeating running queries, etc.). It provides as well some user tracking (such as whos-online) with activity measures, it blocks repeated requests (impatient reloads), tracks switching of IP-adresses from users and provides request tracking per user for the monitored time window. It contains as well overall url statistics with performance measures. Updated for circumventing handler calls OpenACS 5.2 for /resources/*. 0.28 provides calls for listing active communities and users active in these communities. 0.30 provides a nice graphical chats (many thanks to Nima) and a new interface to the background thread. In addition, ns_returnfile_background is included; 0.38 using context form xotcl-core 0.39 brings parameterized counter values 0.39 brings optional activity tracking </pre>
Maturity: Mature
This package depends on: acs-kernel xotcl-core
Packages that depend on xotcl-request-monitor: None

Bug Tracker Summary for package xotcl-request-monitor

Open Bugs: 0
Latest Bug Opened: This package has no open bugs.
Latest Bug Fixed: 2015-06-26 Russian localization for package xotcl request monitor (HEAD).
Top Bug Submitters: Malte Sussdorff (1) v v (1)
Top Bug Fixers: Gustaf Neumann (2)

Code Metrics Summary for package xotcl-request-monitor

# Tcl Procs 2
# Tcl Lines 1630
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 ORA: 0
# ADP pages 17
# ADP lines 417
# Include pages (xotcl-request-monitor/lib/) 0
# Documentation pages 0
# Documentation lines 0
Source API-browser
 

The xotcl--request-monitor depends on xotcl-core and libthread.

xowf

Created by Gustaf Neumann, last modified by Gustaf Neumann 12 Apr 2016, at 10:33 AM

 

Package specification Summary for package xowf

Summary: XoWiki Content Flow - an XoWiki based workflow system implementing state-based behavior of wiki pages and forms
Description:
Maturity: Mature
This package depends on: xowiki
Packages that depend on xowf: None

Bug Tracker Summary for package xowf

There is no package with the name "xowf" known to bug-tracker.


Code Metrics Summary for package xowf

# Tcl Procs 4
# Tcl Lines 3113
# Automated Tests 0
# Stored Procedures PG: 0 ORA: 0
# SQL Lines PG: 0 ORA: 0
# ADP pages 0
# ADP lines 0
# Include pages (xowf/lib/) 0
# Documentation pages 0
# Documentation lines 0
Source API-browser
 

xowf depends on xowiki.

 

Nagios Monitoring

Created by Malte Sussdorff, last modified by Monika Andergassen 11 Apr 2016, at 10:28 AM

To monitor your server with Nagios you can use the check_http command.

Use

 

check_http -h <yourip> -u /SYSTEM/dbtest -s "success"

To obtain the HTTP critical status if OpenACS can't return success, which can be either because the server isn't running or the database connection has failed.

Install Oracle

Created by OpenACS community, last modified by Ryan Gallimore 11 Apr 2016, at 10:27 AM

Install Oracle

Installing Oracle is optional, if you are installing Postgresql

An excellent guide for installing Oracle 10g on Linux can be found at www.puschitz.com.

OpenACS 5.2.x will install with Oracle 9i but has not been extensively tested so may still have bugs or tuning issues.

This installation guide attempts to present all of the information necessary to complete an OpenACS installation. We try hard to make all of the steps possible in one pass, rather than having a step which amounts to "go away and develop a profound understanding of software X and then come back and, in 99% of all cases, type these two lines." The exception to our rule is Oracle production systems. This page describes a set of steps to get a working Oracle development server, but it is unsuitable for production systems. If you will be using OpenACS on Oracle in a production environment, you will experience many problems unless you develop a basic understanding of Oracle which is outside the scope of this document.

This document assumes that you are installing Oracle on the same box as AOLserver. For more details on a remote Oracle installation, see Daryl Biberdorf's document.

Defaults

We use the following defaults while installing Oracle.

Variable Value Reason
ORACLE_HOME /ora8/m01/app/oracle/product/8.1.7 This is the default Oracle installation directory.
ORACLE_SERVICE ora8 The service name is a domain-qualified identifier for your Oracle server.
ORACLE_SID ora8 This is an identifier for your Oracle server.
ORACLE_OWNER oracle The user who owns all of the oracle files.
ORACLE_GROUP dba The special oracle group. Users in the dba group are authorized to do a connect internal within svrmgrl to gain full system access to the Oracle system.

Get Oracle

You can register and download Oracle (for free) from Oracle TechNet. You need this if you want to use an Oracle database.

Production Oracle systems should run on certified platforms. Follow the metalink note 223718.1to find certified platforms. If you don't have metalink access, take a look at the Oracle on Linux FAQ: Which Linux Distributions Are Directly Supported By Oracle?. In summary, free and inexpensive Linux distributions are not certified.

If you don't have an account at OTN get one: you can download the Oracle software from the Oracle Downloads page. It is also get the CDs shipped to you for a nominal fee from the Oracle Store.

Each Oracle release comes with extensive and usually quite well-written documentation. Your first step should be to thoroughly read the release notes for your operating system and your Oracle version. Find the docs here:

It is generally useful to run a particular Oracle version with its latest patchset. At the time of writing these were 8.1.7.4 and 9.2.0.5, both of which are considered to be very stable.

To be able to download a patchset, you need an account on Metalink (not free). You may find the appropriate patchset by following Andrew's suggestion.

Things to Keep in Mind

Oracle is very well-documented software, the online documentation comes with printable PDFs and full-text search. Altogether there is more than 20.000 pages of documentation, so do not expect to understand Oracle within in a few hours. The best starting pointing into Oracle is the Concepts book. Here's the 8i version and the 9.2 version.

To give you an idea of how configurable Oracle is and how much thought you may need to put into buying the proper hardware and creating a sane setup, you should thoroughly read Cary Millsap's Configuring Oracle Server for VLDB and the Optimal Flexible Architecture standard.

Throughout these instructions, we will refer to a number of configurable settings and advise certain defaults. With the exception of passwords, we advise you to follow these defaults unless you know what you are doing. Subsequent documents will expect that you used the defaults, so a change made here will necessitate further changes later. For a guide to the defaults, please see the section called “Defaults”.

In order for OpenACS to work properly you need to set the environment appropriately.

export ORACLE_BASE=/ora8/m01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=ora8
export ORACLE_TERM=vt100
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

umask 022
open_cursors = 500
nls_date_format = "YYYY-MM-DD"

For additional resources/documentation, please see this thread and Andrew Piskorski's mini-guide.

Pre-Installation Tasks

Though Oracle 8.1.7 has an automated installer, we still need to perform several manual, administrative tasks before we can launch it. You must perform all of these steps as the root user. We recommend entering the X window system as a normal user and then doing a su -. This command gives you full root access.

  • Login as a non-root user and start X by typing startx

    [joeuser ~]$ startx
  • Open a terminal window type and login as root

    [joeuser ~]$ su -
    Password: ***********
    [root ~]#
  • Create and setup the oracle group and oracle account

    We need to create a user oracle, which is used to install the product, as well as starting and stopping the database.

    [root ~]# groupadd dba
    [root ~]# groupadd oinstall
    [root ~]# groupadd oracle
    [root ~]# useradd -g dba -G oinstall,oracle -m oracle
    [root ~]# passwd oracle

    You will be prompted for the New Password and Confirmation of that password.

  • Setup the installation location for Oracle. While Oracle can reside in a variety of places in the file system, OpenACS has adopted /ora8 as the base directory.

    Note: the Oracle install needs about 1 GB free on /ora8 to install successfully.

    [root ~]# mkdir /ora8
    root:/ora8# cd /ora8
    root:/ora8# mkdir -p m01 m02 m03/oradata/ora8
    root:/ora8# chown -R oracle.dba /ora8
    root:/ora8# exit
  • Set up the oracle user's environment

    • Log in as the user oracle by typing the following:

      [joeuser ~]$ su - oracle
      Password: ********
    • Use a text editor to edit the .bash_profile file in the oracle account home directory.

      [oracle ~]$ emacs .bash_profile

      You may get this error trying to start emacs:

      Xlib: connection to ":0.0" refused by server
      Xlib: Client is not authorized to connect to Server
      emacs: Cannot connect to X server :0.
      Check the DISPLAY environment variable or use `-d'.
      Also use the `xhost' program to verify that it is set to permit
      connections from your machine.

      If so, open a new terminal window and do the following:

      [joeuser ~]$ xhost +localhost

      Now, back in the oracle terminal:

      [oracle ~]$ export DISPLAY=localhost:0.0
      [oracle ~]$ emacs .bash_profile

      Try this procedure anytime you get an Xlib connection refused error.

    • Add the following lines (substituting your Oracle version number as needed) to .bash_profile:

      export ORACLE_BASE=/ora8/m01/app/oracle
      export ORACLE_HOME=$ORACLE_BASE/product/8.1.7
      export PATH=$PATH:$ORACLE_HOME/bin
      export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
      export ORACLE_SID=ora8
      export ORACLE_TERM=vt100
      export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data

      umask 022

      Save the file by typing CTRL-X CTRL-S and then exit by typing CTRL-X CTRL-C. Alternatively, use the menus.

    Make sure that you do not add any lines like the following

    # NLS_LANG=american
    # export NLS_LANG

    These lines will change the Oracle date settings and will break OpenACS since OpenACS depends on the ANSI date format, YYYY-MM-DD dates.

  • Log out as oracle

    [oracle ~]$ exit
  • Log back in as oracle and double check that your environment variables are as intended. The env command lists all of the variables that are set in your environment, and grep shows you just the lines you want (those with ORA in it).

    [joeuser ~]$ su - oracle
    [oracle ~]$ env | grep ORA

    If it worked, you should see:

    ORACLE_SID=ora8
    ORACLE_BASE=/ora8/m01/app/oracle
    ORACLE_TERM=vt100
    ORACLE_HOME=/ora8/m01/app/oracle/product/8.1.7
    ORA_NLS33=/ora8/m01/app/oracle/product/8.1.7/ocommon/nls/admin/data

    If not, try adding the files to ~/.bashrc instead of .bash_profile. Then logout and log back in again. Also, be certain you are doing su - oracle and not just su oracle. The - means that .bashrc and .bash_profile will be evaluated.

    Make sure that /bin, /usr/bin, and /usr/local/bin are in your path by typing:

    [oracle ~]$ echo $PATH
    /bin:/usr/bin:/usr/local/bin:/usr/bin/X11:/usr/X11R6/bin:/home/oracle/bin:/ora8/m01/app/oracle/product/8.1.7/bin

    If they are not, then add them to the .bash_profile by changing the PATH statement above to PATH=$PATH:/usr/local/bin:$ORACLE_HOME/bin

Installing Oracle 8.1.7 Server

  • Log in as oracle and start X if not already running. Start a new terminal:

    [joeuser ~]$ xhost +localhost
    [joeuser ~]$ su - oracle
    Password: **********
    [oracle ~]$ export DISPLAY=localhost:0.0
  • Find the runInstaller script

    • If you are installing Oracle from a CD-ROM, it is located in the install/linux path from the cd-rom mount point

      [oracle ~]$ su - root
      [root ~]# mount -t iso9660 /dev/cdrom /mnt/cdrom
      [root ~]# exit
      [oracle ~]$ cd /mnt/cdrom
    • If you are installing from the tarball, the install script is located in the Oracle8iR2 directory that was created when you expanded the archive.

      [oracle ~]$ cd /where/oracle/Disk1

    Check to make sure the file is there.

    oracle:/where/oracle/Disk1$ ls
    doc index.htm install runInstaller stage starterdb

    If you don't see runInstaller, you are in the wrong directory.

  • Run the installer

    oracle:/where/oracle/Disk1$ ./runInstaller

    A window will open that welcomes you to the 'Oracle Universal Installer' (OUI). Click on "Next"

    Note

    Some people have had trouble with this step on RedHat 7.3 and 8.0. If so, try the following steps before calling ./runInstaller:

    1. Execute the following command: /usr/i386-glibc21-linux/bin/i386-glibc21-linux-env.sh

    2. Type export LD_ASSUME_KERNEL=2.2.5

  • The "File Locations" screen in the OUI:

    • "Source" path should have been prefilled with "(wherever you mounted the CDROM)/stage/products.jar"

    • "destination" path says "/ora8/m01/app/oracle/product/8.1.7"

      If the destination is not correct it is because your environment variables are not set properly. Make sure you logged on as oracle using su - oracle. If so, edit the ~/.bash_profile as you did in the section called “Pre-Installation Tasks”

    • Click "Next" (a pop up window will display Loading Product information).

  • The "Unix Group Name" screen in the OUI:

    • The Unix Group name needs to be set to 'oinstall' ( we made this Unix group earlier ).

    • Click "Next"

    • A popup window appears instantly, requesting you to run a script as root:

      • Debian users need to link /bin/awk to /usr/bin/awk before running the script below

        [joueser ~]$ su -
        [root ~]# ln -s /usr/bin/awk /bin/awk
    • Open a new terminal window, then type:

      [joeuser ~]$ su -
      [root ~]# cd /ora8/m01/app/oracle/product/8.1.7
      [root ~]# ./orainstRoot.sh
      ; You should see:
      Creating Oracle Inventory pointer file (/etc/oraInst.loc)
      Changing groupname of /ora8/m01/app/oracle/oraInventory to oinstall.
      [root ~]# mkdir -p /usr/local/java
      [root ~]# exit
      [joeuser ~]$ exit
    • Click "Retry"

  • The "Available Products" screen in the OUI:

    • Select "Oracle 8i Enterprise Edition 8.1.7.1.0"

    • Click "Next"

  • The "Installation Types" screen

    • Select the "Custom" installation type.

    • Click "Next"

  • The "Available Product Components" screen

    • In addition to the defaults, make sure that "Oracle SQLJ 8.1.7.0," "Oracle Protocol Support 8.1.7.0.0," and "Linux Documentation 8.1.7.0.0" are also checked.

    • Click "Next"

    • A progress bar will appear for about 1 minute.

  • The "Component Locations" screen in the OUI

    • Click on the "Java Runtime Environment 1.1.8" It should have the path "/ora8/m01/app/oracle/jre/1.1.8"

    • Click "Next"

    • A progress bar will appear for about 1 minute.

  • The "Privileged Operation System Groups" screen in the OUI

    • Enter "dba" for "Database Administrator (OSDBA) Group"

    • Enter "dba" for the "Database Operator (OSOPER) Group"

    • Click "Next"

    • A progress bar will appear for about 1 minute.

  • The "Authentication Methods" screen

    • Click "Next"

  • The next screen is "Choose JDK home directory"

    • Keep the default path: /usr/local/java

    • Click "Next"

  • The "Create a Database" screen in the OUI

    • Select "No" as we will do this later, after some important configuration changes.

    • Click "Next"

  • The next screen is "Oracle Product Support"

    • TCP should be checked with "Status" listed as Required

    • Click "Next"

  • The "Summary" screen in the OUI

    • Check the "Space Requirements" section to verify you have enough disk space for the install.

    • Check that "(144 products)" is in the "New Installations" section title.

    • Click "Install"

    • A progress bar will appear for about 20 - 30 minutes. Now is a good time to take a break.

    • A "Setup Privileges" window will popup towards the end of the installation asking you to run a script as root

    • Run the script. Switch to the oracle user first to set the environment appropriately and then do su to get root privileges, while keeping the oracle user's enviroment.

      [joeuser ~]$ su - oracle
      Password: *********
      [oracle ~]$ su
      Password: *********
      [root ~]# /ora8/m01/app/oracle/product/8.1.7/root.sh
      ; You should see the following.

      Creating Oracle Inventory pointer file (/etc/oraInst.loc)
      Changing groupname of /ora8/m01/app/oracle/oraInventory to oinstall.
      # /ora8/m01/app/oracle/product/8.1.7/root.sh
      Running Oracle8 root.sh script...
      The following environment variables are set as:
      ORACLE_OWNER= oracle
      ORACLE_HOME= /ora8/m01/app/oracle/product/8.1.7
      ORACLE_SID= ora8

      Enter the full pathname of the local bin directory: [/usr/local/bin]:

      Press ENTER here to accept default of /usr/local/bin Creating /etc/oratab file... Entry will be added to the /etc/oratab file by Database Configuration Assistants when a database is created Finished running generic part of root.sh script. Now product-specific root actions will be performed. IMPORTANT NOTE: Please delete any log and trace files previously created by the Oracle Enterprise Manager Intelligent Agent. These files may be found in the directories you use for storing other Net8 log and trace files. If such files exist, the OEM IA may not restart.
    • Do not follow the instructions on deleting trace and log files, it is not necessary.

    [root ~]# exit
    [joeuser ~]$ exit
  • Go back to the pop-up window and click "OK"

  • The "Configuration Tools" screen in the OUI

    • This window displays the config tools that will automatically be launched.

  • The "Welcome" screen in the "net 8 Configuration Assistant"

    • Make sure the "Perform Typical installation" is not selected.

    • Click "Next"

    • The "Directory Service Access" screen in the "Net 8 Configuration Assistant"

    • Select "No"

    • Click "Next"

  • The "Listener Configuration, Listener Name" screen in the "Net 8 Configuration Assistant"

    • Accept the default listener name of "LISTENER"

    • Click "Next"

  • The "Listener Configuration, Select Protocols" screen in the "Net 8 Configuration Assistant"

    • The only choice in "Select protocols:" should be "TCP/IP"

    • Click "Next"

  • The "Listener Configuration TCP/IP Protocol" screen in the "Net 8 Configuration Assistant"

    • Default Port should be 1521 and selected.

    • Click "Next"

  • The "Listener Configuration, More Listeners" screen in the "Net 8 Configuration Assistant"

    • Select "No"

    • Click "Next"

  • The "Listener Configuration Done" screen in the "Net 8 Configuration Assistant"

    • Click "Next"

  • The "Naming Methods Configuration" screen in the "Net 8 Configuration Assistant"

    • Select "No"

    • Click "Next"

  • The "Done" screen in the "Net 8 Configuration Assistant"

    • Click "Finish"

  • The "End of Installation" screen in the OUI

    • Click "Exit"

    • Click "Yes" on the confirmation pop up window.

    • The Oracle Universal Installer window should have disappeared!

Congratulations, you have just installed Oracle 8.1.7 Server! However, you still need to create a database which can take about an hour of non-interactive time, so don't quit yet.

Creating the First Database

This step will take you through the steps of creating a customized database. Be warned that this process takes about an hour on a Pentium II with 128 MB of RAM.

Note

RedHat 7.3 and 8.0 users: Before running dbassist, do the following.

  1. Download the glibc patch from Oracle Technet into /var/tmp.

  2. cd $ORACLE_HOME

  3. tar xzf /var/tmp/glibc2.1.3-stubs.tgz

  4. ./setup_stubs

  • Make sure you are running X. Open up a terminal and su to oracle and then run the dbassist program.

    [joeuser ~]$ xhost +localhost
    [joeuser ~]$ su - oracle
    Password: *********
    [oracle ~]$ export DISPLAY=localhost:0.0
    [oracle ~]$ dbassist
  • The "Welcome" screen in the Oracle Database Configuration Agent (ODCA)

    • Select "Create a database"

    • Click "Next"

  • The "Select database type" screen in the ODCA

    • Select "Custom"

    • Click "Next"

  • The "Primary Database Type" window in ODCA

    • Select "Multipurpose"

    • Click "Next"

  • The "concurrent users" screen of the ODCA

    • Select "60" concurrent users.

    • Click "Next"

  • Select "Dedicated Server Mode", click "Next"

  • Accept all of the options, and click Next Oracle Visual Information Retrieval may be grayed out. If so, you can ignore it; just make sure that everything else is checked.

  • For "Global Database Name", enter "ora8"; for "SID", also enter "ora8" (it should do this automatically). Click "Change Character Set and select UTF8. Click "Next".

  • Accept the defaults for the next screen (control file location). Click "Next"

  • Go to the "temporary" and "rollback" tabs, and change the Size (upper-right text box) to 150MB. Click "Next"

  • Increase the redo log sizes to 10000K each. Click "Next"

  • Use the default checkpoint interval & timeout. Click "Next"

  • Increase "Processes" to 100; "Block Size" to 4096 (better for small Linux boxes; use 8192 for a big Solaris machine).

  • Accept the defaults for the Trace File Directory. Click "Next"

  • Finally, select "Save information to a shell script" and click "Finish" (We're going to examine the contents of this file before creating our database.)

  • Click the "Save" button. Oracle will automatically save it to the correct directory and with the correct file name. This will likely be /ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib/sqlora8.sh

  • It will alert you that the script has been saved successfully.

  • Now we need to customize the database configuration a bit. While still logged on as oracle, edit the database initialization script (run when the db loads). The scripts are kept in $ORACLE_HOME/dbs and the name of the script is usually initSID.ora where SID is the SID of your database. Assuming your $ORACLE_HOME matches our default of /ora8/m01/app/oracle/product/8.1.7, the following will open the file for editing.

    [oracle ~]$ emacs /ora8/m01/app/oracle/product/8.1.7/dbs/initora8.ora
  • Add the following line to the end:

    nls_date_format = "YYYY-MM-DD"
  • Now find the open_cursors line in the file. If you're using emacs scroll up to the top of the buffer and do CTRL-S and type open_cursors to find the line. The default is 100. Change it to 500.

    open_cursors = 500
  • Save the file. In emacs, do CTRL-X CTRL-S to save followed by CTRL-X CTRL-C to exit or use the menu.

  • At this point, you are ready to initiate database creation. We recommend shutting down X to free up some RAM unless you have 256 MB of RAM or more. You can do this quickly by doing a CRTL-ALT-BACKSPACE, but make sure you have saved any files you were editing. You should now be returned to a text shell prompt. If you get sent to a graphical login screen instead, switch to a virtual console by doing CRTL-ALT-F1. Then login as oracle.

  • Change to the directory where the database creation script is and run it:

    [oracle ~]$ cd /ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib
    oracle:/ora8/m01/app/oracle/product/8.1.7/assistants/dbca/jlib$ ./sqlora8.sh

    In some instances, Oracle will save the file to /ora8/m01/app/oracle/product/8.1.7/assistants/dbca Try running the script there if your first attempt does not succeed.

  • Your database will now be built. It will take > 1 hour - no fooling. You will see lots of errors scroll by (like: "ORA-01432: public synonym to be dropped does not exist") Fear not, this is normal.

    Eventually, you'll be returned to your shell prompt. In the meantime, relax, you've earned it.

Acceptance Test

For this step, open up a terminal and su to oracle as usual. You should be running X and Netscape (or other web browser) for this phase.

  • You need to download the "Oracle Acceptance Test" file. It's available here and at http://philip.greenspun.com/wtr/oracle/acceptance-sql.txt. Save the file to /var/tmp

  • In the oracle shell, copy the file.

    [oracle ~]$ cp /var/tmp/acceptance-sql.txt /var/tmp/acceptance.sql
  • Once you've got the acceptance test file all set, stay in your term and type the following:

    [oracle ~]$ sqlplus system/manager

    SQL*Plus should startup. If you get an ORA-01034: Oracle not Available error, it is because your Oracle instance is not running. You can manually start it as the oracle user.

    [oracle ~]$ svrmgrl
    SVRMGR> connect internal
    SVRMGR> startup
  • Now that you're into SQL*Plus, change the default passwords for system, sys, and ctxsys to "alexisahunk" (or to something you'll remember):

    SQL> alter user system identified by alexisahunk;
    SQL> alter user sys identified by alexisahunk;
    SQL> alter user ctxsys identified by alexisahunk;
  • Verify that your date settings are correct.

    SQL> select sysdate from dual;

    If you don't see a date that fits the format YYYY-MM-DD, please read the section called “Troubleshooting Oracle Dates”.

  • At this point we are going to hammer your database with an intense acceptance test. This usually takes around 30 minutes.

    SQL> @ /var/tmp/acceptance.sql

    ; A bunch of lines will scroll by. You'll know if the test worked if
    ; you see this at the end:

    SYSDATE
    ----------
    2000-06-10

    SQL>

    Many people encounter an error regarding maximum key length:

    ERROR at line 1:
    ORA-01450: maximum key length (758) exceeded

    This error occurs if your database block size is wrong and is usually suffered by people trying to load OpenACS into a pre-existing database. Unfortunately, the only solution is to create a new database with a block size of at least 4096. For instructions on how to do this, see the section called “Creating the First Database” above. You can set the parameter using the dbassist program or by setting the DB_BLOCK_SIZE parameter in your database's creation script.

    If there were no errors, then consider yourself fortunate. Your Oracle installation is working.

Automating Startup & Shutdown

You will want to automate the database startup and shutdown process. It's probably best to have Oracle spring to life when you boot up your machine.

  • Oracle includes a script called dbstart that can be used to automatically start the database. Unfortunately, the script shipped in the Linux distribution does not work out of the box. The fix is simple. Follow these directions to apply it. First, save dbstart to /var/tmp. Then, as oracle, do the following:

    [oracle ~]$ cp /var/tmp/dbstart.txt /ora8/m01/app/oracle/product/8.1.7/bin/dbstart 
    [oracle ~]$ chmod 755 /ora8/m01/app/oracle/product/8.1.7/bin/dbstart
  • While you're logged in as oracle, you should configure the oratab file to load your database at start. Edit the file /etc/oratab:

    • You will see this line.

      ora8:/ora8/m01/app/oracle/product/8.1.7:N

      By the way, if you changed the service name or have multiple databases, the format of this file is:

      service_name:$ORACLE_HOME:Y || N (for autoload)

    • Change the last letter from "N" to "Y". This tells Oracle that you want the database to start when the machine boots. It should look like this.

      ora8:/ora8/m01/app/oracle/product/8.1.7:Y
    • Save the file & quit the terminal.

  • You need a script to automate startup and shutdown. Save oracle8i.txt in /var/tmp. Then login as root and install the script. (Debian users: substitute /etc/init.d for /etc/rc.d/init.d throughout this section)

    [oracle ~]$ su -
    [root ~]# cp /var/tmp/oracle8i.txt /etc/rc.d/init.d/oracle8i
    [root ~]# chown root.root /etc/rc.d/init.d/oracle8i
    [root ~]# chmod 755 /etc/rc.d/init.d/oracle8i
  • Test the script by typing the following commands and checking the output. (Debian Users: as root, do mkdir /var/lock/subsys first)

    [root ~]# /etc/rc.d/init.d/oracle8i stop
    Oracle 8i auto start/stop
    Shutting Oracle8i:
    Oracle Server Manager Release 3.1.7.0.0 - Production

    Copyright (c) 1997, 1999, Oracle Corporation. All
    Rights Reserved.

    Oracle8i Enterprise Edition Release 8.1.7.0.1 -
    Production
    With the Partitioning option
    JServer Release 8.1.7.0.1 - Production

    SVRMGR> Connected.
    SVRMGR> Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SVRMGR>
    Server Manager complete.
    Database "ora8" shut down.

    [root ~]# /etc/rc.d/init.d/oracle8i start
    Oracle 8i auto start/stop
    Starting Oracle8i:
    SQL*Plus: Release 8.1.7.0.0 - Production on Wed Mar 6 17:56:02 2002

    (c) Copyright 2000 Oracle Corporation. All rights reserved.

    SQL> Connected to an idle instance.
    SQL> ORACLE instance started.

    Total System Global Area 84713632 bytes
    Fixed Size 73888 bytes
    Variable Size 76079104 bytes
    Database Buffers 8388608 bytes
    Redo Buffers 172032 bytes
    Database mounted.
    Database opened.
    SQL> Disconnected

    Database "ora8" warm started.

    Database "ora8" warm started.
  • If it worked, then run these commands to make the startup and shutdown automatic.

    • Red Hat users:

      [root ~]# cd /etc/rc.d/init.d/                      
      [root ~]# chkconfig --add oracle8i
      [root ~]# chkconfig --list oracle8i
      ; You should see:
      oracle8i 0:off 1:off 2:off 3:on 4:on 5:on 6:off
    • Debian users:

      [root ~]# update-rc.d oracle8i defaults
      Adding system startup for /etc/init.d/oracle8i ...
      /etc/rc0.d/K20oracle8i -> ../init.d/oracle8i
      /etc/rc1.d/K20oracle8i -> ../init.d/oracle8i
      /etc/rc6.d/K20oracle8i -> ../init.d/oracle8i
      /etc/rc2.d/S20oracle8i -> ../init.d/oracle8i
      /etc/rc3.d/S20oracle8i -> ../init.d/oracle8i
      /etc/rc4.d/S20oracle8i -> ../init.d/oracle8i
      /etc/rc5.d/S20oracle8i -> ../init.d/oracle8i
    • SuSE users:

      [root ~]# cd /etc/rc.d/init.d
      root:/etc/rc.d/init.d# ln -s /etc/rc.d/init.d/oracle8i K20oracle8i
      root:/etc/rc.d/init.d# ln -s /etc/rc.d/init.d/oracle8i S20oracle8i
      root:/etc/rc.d/init.d# cp K20oracle8i rc0.d
      root:/etc/rc.d/init.d# cp S20oracle8i rc0.d
      root:/etc/rc.d/init.d# cp K20oracle8i rc1.d
      root:/etc/rc.d/init.d# cp S20oracle8i rc1.d
      root:/etc/rc.d/init.d# cp K20oracle8i rc6.d
      root:/etc/rc.d/init.d# cp S20oracle8i rc6.d
      root:/etc/rc.d/init.d# cp K20oracle8i rc2.d
      root:/etc/rc.d/init.d# cp S20oracle8i rc2.d
      root:/etc/rc.d/init.d# cp K20oracle8i rc3.d
      root:/etc/rc.d/init.d# cp S20oracle8i rc3.d
      root:/etc/rc.d/init.d# cp K20oracle8i rc4.d
      root:/etc/rc.d/init.d# cp S20oracle8i rc4.d
      root:/etc/rc.d/init.d# cp K20oracle8i rc5.d
      root:/etc/rc.d/init.d# cp S20oracle8i rc5.d
      root:/etc/rc.d/init.d# rm K20oracle8i
      root:/etc/rc.d/init.d# rm S20oracle8i
      root:/etc/rc.d/init.d# cd
      [root ~]# SuSEconfig
      Started the SuSE-Configuration Tool.
      Running in full featured mode.
      Reading /etc/rc.config and updating the system...
      Executing /sbin/conf.d/SuSEconfig.gdm...
      Executing /sbin/conf.d/SuSEconfig.gnprint...
      Executing /sbin/conf.d/SuSEconfig.groff...
      Executing /sbin/conf.d/SuSEconfig.java...
      Executing /sbin/conf.d/SuSEconfig.kdm...
      Executing /sbin/conf.d/SuSEconfig.pcmcia...
      Executing /sbin/conf.d/SuSEconfig.perl...
      Executing /sbin/conf.d/SuSEconfig.postfix...
      Executing /sbin/conf.d/SuSEconfig.sendmail...
      Executing /sbin/conf.d/SuSEconfig.susehilf...
      Executing /sbin/conf.d/SuSEconfig.susehilf.add...
      Executing /sbin/conf.d/SuSEconfig.susewm...
      Executing /sbin/conf.d/SuSEconfig.tetex...
      Executing /sbin/conf.d/SuSEconfig.ypclient...
      Processing index files of all manpages...
      Finished.
  • You also need some scripts to automate startup and shutdown of the Oracle8i listener. The listener is a name server that allows your Oracle programs to talk to local and remote databases using a standard naming convention. It is required for Intermedia Text and full site search.

    Download these three scripts into /var/tmp

    Now issue the following commands (still as root).

    [root ~]# su - oracle
    [oracle ~]$ cp /var/tmp/startlsnr.txt /ora8/m01/app/oracle/product/8.1.7/bin/startlsnr
    [oracle ~]$ cp /var/tmp/stoplsnr.txt /ora8/m01/app/oracle/product/8.1.7/bin/stoplsnr
    [oracle ~]$ chmod 755 /ora8/m01/app/oracle/product/8.1.7/bin/startlsnr
    [oracle ~]$ chmod 755 /ora8/m01/app/oracle/product/8.1.7/bin/stoplsnr
    [oracle ~]$ exit
    [root ~]# cp /var/tmp/listener8i.txt /etc/rc.d/init.d/listener8i
    [root ~]# cd /etc/rc.d/init.d
    root:/etc/rc.d/init.d# chmod 755 listener8i

    Test the listener automation by running the following commands and checking the output.

    root:/etc/rc.d/init.d# ./listener8i stop
    Oracle 8i listener start/stop
    Shutting down Listener for 8i:
    LSNRCTL for Linux: Version 8.1.7.0.0 - Production on 06-MAR-2002 18:28:49

    (c) Copyright 1998, Oracle Corporation. All rights reserved.

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
    The command completed successfully


    root:/etc/rc.d/init.d# ./listener8i start
    Oracle 8i listener start/stop
    Starting the Listener for 8i:
    LSNRCTL for Linux: Version 8.1.7.0.0 - Production on 06-MAR-2002 18:28:52

    (c) Copyright 1998, Oracle Corporation. All rights reserved.

    Starting /ora8/m01/app/oracle/product/8.1.7/bin/tnslsnr: please wait...

    TNSLSNR for Linux: Version 8.1.7.0.0 - Production
    System parameter file is /ora8/m01/app/oracle/product/8.1.7/network/admin/listener.ora
    Log messages written to /ora8/m01/app/oracle/product/8.1.7/network/log/listener.log
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=localhost.localdomain)(PORT=1521)))
    Listening on: (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC)))

    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=localhost.localdomain)(PORT=1521)))
    STATUS of the LISTENER
    ------------------------
    Alias LISTENER
    Version TNSLSNR for Linux: Version 8.1.7.0.0 - Production
    Start Date 06-MAR-2002 18:28:53
    Uptime 0 days 0 hr. 0 min. 0 sec
    Trace Level off
    Security OFF
    SNMP OFF
    Listener Parameter File /ora8/m01/app/oracle/product/8.1.7/network/admin/listener.ora
    Listener Log File /ora8/m01/app/oracle/product/8.1.7/network/log/listener.log
    Services Summary...
    PLSExtProc has 1 service handler(s)
    ora8 has 1 service handler(s)
    The command completed successfully

    This test will verify that the listener is operating normally. Login into the database using the listener naming convention.

    sqlplus username/password/@SID

    [root ~]# su - oracle
    [oracle ~]$ sqlplus system/alexisahunk@ora8

    SQL> select sysdate from dual;

    SYSDATE
    ----------
    2002-02-22

    SQL> exit
    [oracle ~]$ exit
    [root ~]#
    • RedHat users:

      Now run chkconfig on the listener8i script.

      [root ~]# cd /etc/rc.d/init.d/
      root:/etc/rc.d/init.d# chkconfig --add listener8i
      root:/etc/rc.d/init.d# chkconfig --list listener8i
      listener8i 0:off 1:off 2:off 3:on 4:on 5:on 6:off
    • Debian users:

      Now run update-rc.d on the listener8i script.

      [root ~]# update-rc.d listener8i defaults 21 19
      Adding system startup for /etc/init.d/listener8i ...
      /etc/rc0.d/K19listener8i -> ../init.d/listener8i
      /etc/rc1.d/K19listener8i -> ../init.d/listener8i
      /etc/rc6.d/K19listener8i -> ../init.d/listener8i
      /etc/rc2.d/S21listener8i -> ../init.d/listener8i
      /etc/rc3.d/S21listener8i -> ../init.d/listener8i
      /etc/rc4.d/S21listener8i -> ../init.d/listener8i
      /etc/rc5.d/S21listener8i -> ../init.d/listener8i
  • Test the automation

    As a final test, reboot your computer and make sure Oracle comes up. You can do this by typing

    [root ~]# /sbin/shutdown -r -t 0 now

    Log back in and ensure that Oracle started automatically.

    [joeuser ~]$ su - oracle
    [oracle ~]$ sqlplus system/alexisahunk@ora8

    SQL> exit

Congratulations, your installation of Oracle 8.1.7 is complete.

ref: http://openacs.org/doc/current/oracle.html

Documentation Project Plan

Created by OpenACS community, last modified by Torben Brosten 11 Apr 2016, at 10:25 AM

The managing of OpenACS documentation has evolved through a few phases. This is a draft plan for the current phase that we are beginning. Please direct any comments about this plan to the OpenACS Development forum (or in context with the appropriate wiki page ;)

Background

See en:doc-history

Goal

to write superb documentation, so that users, developers and administrators of OpenACS installations can enjoy working with and using the system (with fewer headaches! =)

Scope

API Documentation: there are no plans to move the API docs to XoWiki. That ought to remain as is.

DocBook docs at: http://openacs.org/doc/index.html need significant work done.

Requirements

Requirements is about setting specifications and milestones we can verify, and includes exploration of scenarios, use cases etc.

Here are documentation requirements for:

Available resources

  • volunteers dedicated to regularly managing and updating the documentation
  • other volunteers who contribute arguably more valuable documentation less frequently (such as magazine articles ;) (and may need some assistance etc. to have their work fit into docs well.)
  • openacs.org website, including use of xowiki
  • open-source software, text editors, spell checkers, html code validators etc.

Approaches in docs management explored

See en:Documentation_Project_Discussion

Strategy

Strategy is about creating an approach to doing work. It guides behavior and tactical decisions on the work effort.

Shape ongoing documentation efforts by using principles of continual improvement to re-engineer documentation production and management.

OpenACS documentation development is subject to the constraints of the software project development and release methods and cycles (the section called “Using CVS with OpenACS”). Essentially, all phases of work may be active to accommodate the asynchronous nature of multiple subprojects evolving by the efforts of a global base of participants with culturally diverse time references and scheduling idiosyncrasies.

The documentation strategy is to use project methods to involve others by collaborating or obtaining guidance or feedback (peer review) to distribute the workload and increase the overall value of output for the OpenACS project.

Work Breakdown Structure

Is about explicitly stating the way to implement the strategy as a set of milestones and the methods to use.

Status: this is a draft document, so there is no consensus on a WBS at this time. See en:Documentation_Project_Discussion for current activity.

Verification

This is where we measure how well this plan was implemented. Success is measured by A) verifying if the project has met the established goals and requirements, and B) reviewing for ongoing problem areas etc. Observations then help to modify the plan for the next documentation revision.

OpenACS follows verification through different means on different projects, but in all cases, the OpenACS community verifies the project as a success through feedback including bug reports, user and administrator comments, and code changes.

Related links and sources

Next Page
Previous Month May 2016
Sun Mon Tue Wed Thu Fri Sat
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 (1) 21
(1) 22 23 24 25 26 27 28
29 30 31 1 2 3 4

Popular tags

ad_form , ADP , ajax , aolserver , asynchronous , bgdelivery , bugtracker , CentOS , COMET , cvs , debian , emacs , fedora , FreeBSD , hstore , includelets , install , installation , installers , install-ns , javascript , libthread , linux , monitoring , munin , NaviServer , nginx , nx , oacs-5-8 , OmniOS
No registered users in community xowiki
in last 30 minutes
Contributors

OpenACS.org