"""
Import data from an XML file into a table in an Oracle database.
"""

import cx_Logging
import cx_LoggingOptions
import cx_OptionParser
import cx_OracleUtils
import sys
import time
import xml.etree.cElementTree

import Options

# parse command line
parser = cx_OptionParser.OptionParser()
parser.AddOption(cx_OracleUtils.SchemaOption())
parser.AddOption(Options.ARRAY_SIZE)
parser.AddOption(Options.COMMIT_POINT)
parser.AddOption(Options.REPORT_POINT)
parser.AddOption(Options.SET_ROLE)
parser.AddOption(Options.DATE_FORMAT)
cx_LoggingOptions.AddOptions(parser)
parser.AddArgument("fileName",
                   required=True,
                   help="the name of the file from which to read the data or "
                   "'-' to read the exported data from stdin")
parser.AddArgument("tableName",
                   required=True,
                   help="the name of the table into which to import the data")
options = parser.Parse()
Esempio n. 2
0
"""
Backs up an Oracle database.
"""

import cx_LoggingOptions
import cx_OptionParser
import os
import sys

import BackupSet
import Exceptions
import Manager
import Options

# parse command line
parser = cx_OptionParser.OptionParser("BackupDB")
parser.AddOption(Options.CONFIG_FILE_NAME)
parser.AddOption(Options.SYS_PASSWORD)
parser.AddOption(Options.TNSENTRY)
parser.AddOption(Options.NO_START)
parser.AddOption("--offline",
                 default=False,
                 action="store_true",
                 help="perform an offline backup with the database shut down")
cx_LoggingOptions.AddOptions(parser)
parser.AddArgument("sid",
                   required=True,
                   help="the SID of the database to backup")
parser.AddArgument(
    "backupName",
    required=True,
Esempio n. 3
0
"""Make the frozen base executables."""

import cx_OptionParser
import distutils.sysconfig
import os
import sys

# parse command line
parser = cx_OptionParser.OptionParser("MakeFrozenBases")
options = parser.Parse()


def runcmd(command):
    print command
    return os.system(command)


# define function for building a base executable
def BuildBase(name, linkerFlags="", sharedLib=False):
    vars = distutils.sysconfig.get_config_vars()
    sourceName = name + ".c"
    objectName = name + ".o"
    targetName = name + "Base"
    targetName += vars["EXE"]
    compilerFlags = "-c -I. -I%s" % distutils.sysconfig.get_python_inc()
    linkerFlags += " -s"
    linkerFlags += " -L%s" % vars["LIBPL"]
    linkerFlags += " -L ../tvision-py/makes"
    linkerFlags += " ../all_wrap.o ../inithelper.o"
    linkerFlags += " " + objectName
    linkerFlags += " -lpython%d.%d" % sys.version_info[:2]
Esempio n. 4
0
import cx_Logging
import cx_LoggingOptions
import cx_OptionParser
import cx_ShellUtils
import os
import sys

import Database
import Exceptions
import Manager
import Options
import Utils

# parse command line
parser = cx_OptionParser.OptionParser("CloneDB")
parser.AddOption(Options.CONFIG_FILE_NAME)
parser.AddOption(Options.SYS_PASSWORD)
parser.AddOption(Options.TNSENTRY)
parser.AddOption(Options.NO_PROMPTS)
parser.AddOption(Options.REPLACE_EXISTING)
parser.AddOption(Options.NO_START)
parser.AddOption("--offline",
                 default=False,
                 action="store_true",
                 help="perform an offline copy with the database shut down")
cx_LoggingOptions.AddOptions(parser)
parser.AddArgument("origSid",
                   required=True,
                   help="the SID of the database to clone")
parser.AddArgument("newSid",
Esempio n. 5
0
import cx_OptionParser
import cx_OracleParser

parser = cx_OptionParser.OptionParser("TestParser")
parser.AddOption("--production-name",
                 default="file",
                 help="the name of the production to look for")
parser.AddArgument("fileName",
                   required=True,
                   help="the name of the file to parse")
options = parser.Parse()

parser = cx_OracleParser.Parser()
try:
    for statement in parser.Parse(open(options.fileName).read(),
                                  "dummy",
                                  productionName=options.productionName):
        print(statement)
except cx_OracleParser.ParsingFailed as value:
    print("Parsing failed at position:", value.arguments["pos"])
    print("Remaining string:", value.arguments["remainingString"])
Esempio n. 6
0
"""
Export the parameter file for the database which will be included in any
backups.
"""

import cx_LoggingOptions
import cx_OptionParser
import sys

import Exceptions
import Manager
import Options

# parse command line
parser = cx_OptionParser.OptionParser("ExportControlFile")
parser.AddOption(Options.CONFIG_FILE_NAME)
parser.AddOption(Options.SYS_PASSWORD)
parser.AddOption(Options.TNSENTRY)
cx_LoggingOptions.AddOptions(parser)
parser.AddArgument(
    "sid",
    required=True,
    help="the SID of the database to export the control file for")
parser.AddArgument("fileName",
                   help="the name of the file in which to place the output")
options = parser.Parse()
cx_LoggingOptions.ProcessOptions(options)

# create the manager
manager = Manager.Manager(options.configFileName)
database = manager.DatabaseFromEnvironment(options.sysPassword,
Esempio n. 7
0
"""
Shows the memory used by the database.
"""

import cx_LoggingOptions
import cx_OptionParser
import os

# parse command line
parser = cx_OptionParser.OptionParser("ShowMemoryDB")
cx_LoggingOptions.AddOptions(parser)
parser.AddArgument(
    "sid",
    required=True,
    help="the SID of the database for which memory usage will be shown")
options = parser.Parse()
cx_LoggingOptions.ProcessOptions(options)


# define method that returns a list of pids
def GetPids(mask):
    pids = []
    for line in os.popen("ps -ef | grep %s | grep -v grep" % mask):
        parts = line.strip().split()
        pids.append(int(parts[1]))
    return pids


# define method that returns the formatted size in KB or MB
def FormattedSize(size):
    size = size / 1024
Esempio n. 8
0
"""Freeze a Python script and all of its referenced modules to a base
executable which can then be distributed without requiring a Python
installation."""

import cx_Freezer
import cx_OptionParser
import cx_ShellUtils
import os
import sys

# parse command line
parser = cx_OptionParser.OptionParser("FreezePython")
parser.AddOption("--base-binary", required = True, metavar = "NAME",
        default = os.environ.get("FREEZE_PYTHON_BASE"),
        help = "Base binary instead of $FREEZE_PYTHON_BASE")
parser.AddOption("--install-dir", required = True, metavar = "DIR",
        default = os.environ.get("FREEZE_PYTHON_INSTALL_DIR"),
        help = "Location to install binary instead of "
               "$FREEZE_PYTHON_INSTALL_DIR.")
parser.AddOption("--target-name", metavar = "NAME",
        help = "Name of binary to create instead of script.extension")
parser.AddOption("--shared-library", action = "store_true",
        help = "do not generate __main__ for the name of the module")
parser.AddOption("--keep-path", action = "store_false",
        dest = "overridePath", default = True,
        help = "do not override the path in the frozen executable")
parser.AddOption("--include-modules", action = "append", metavar = "LIST",
        help = "name(s) of module(s) to include in the frozen binary")
parser.AddOption("--exclude-modules", action = "append", metavar = "LIST",
        help = "name(s) of module(s) to exclude from the frozen binary")
parser.AddOption("--ext-list-file", metavar = "FILE",
Esempio n. 9
0
"""
Stop an Oracle database.
"""

import cx_Logging
import cx_LoggingOptions
import cx_OptionParser

import Manager
import Options

# parse command line
parser = cx_OptionParser.OptionParser("StopDB")
parser.AddOption(Options.CONFIG_FILE_NAME)
parser.AddOption(Options.SYS_PASSWORD)
parser.AddOption(Options.TNSENTRY)
parser.AddOption(Options.SHUTDOWN_MODE)
parser.AddOption("--all",
                 action="store_true",
                 help="stop all configured databases")
cx_LoggingOptions.AddOptions(parser)
parser.AddArgument(
    "sids", help="the SID(s) of the database(s) to stop, separated by commas")
options = parser.Parse()
cx_LoggingOptions.ProcessOptions(options)

# perform the work
manager = Manager.Manager(options.configFileName)
database = manager.DatabaseFromEnvironment(options.sysPassword,
                                           options.tnsentry)
if database is not None:
Esempio n. 10
0
"""
Creates an Oracle database.
"""

import cx_ClassLibrary
import cx_LoggingOptions
import cx_OptionParser
import socket

import Database
import Exceptions
import Options
import Manager

# parse command line
parser = cx_OptionParser.OptionParser("CreateDB")
parser.AddOption(Options.CONFIG_FILE_NAME)
parser.AddOption("--type",
                 dest="databaseType",
                 metavar="STR",
                 help="the type of database to create; if omitted the default "
                 "type is used")
parser.AddOption("--start-mode",
                 default="Manual",
                 metavar="MODE",
                 help="the start mode for the database (Manual or Auto)")
parser.AddOption("--sys-password",
                 metavar="STR",
                 default=socket.gethostname().split(".")[0],
                 help="the sys password for the new database; if omitted the "
                 "name of the machine is used")
Esempio n. 11
0
"""
Starts up an Oracle database.
"""

import cx_Logging
import cx_LoggingOptions
import cx_OptionParser

import Manager
import Options

# parse command line
parser = cx_OptionParser.OptionParser("StartDB")
parser.AddOption(Options.CONFIG_FILE_NAME)
parser.AddOption(Options.SYS_PASSWORD)
parser.AddOption(Options.TNSENTRY)
parser.AddOption("-r", "--restart", action = "store_true",
        help = "shut down the database first if already started")
parser.AddOption(Options.SHUTDOWN_MODE)
parser.AddOption("--all", action = "store_true",
        help = "start all configured databases")
parser.AddOption("--all-auto", action = "store_true",
        help = "start all configured databases set to automatic start")
cx_LoggingOptions.AddOptions(parser)
parser.AddArgument("sids",
        help = "the SID(s) of the database(s) to start, separated by commas")
options = parser.Parse()
cx_LoggingOptions.ProcessOptions(options)

# perform the work
manager = Manager.Manager(options.configFileName)
Esempio n. 12
0
"""
Dump the results of a SQL select statement to a file in CSV format.
"""

import csv
import cx_Logging
import cx_LoggingOptions
import cx_OptionParser
import cx_OracleUtils
import sys

import Options

# parse command line
parser = cx_OptionParser.OptionParser("DumpCSV")
parser.AddOption(cx_OracleUtils.SchemaOption())
parser.AddOption("--record-sep",
                 default="\n",
                 metavar="CHAR",
                 help="record separator to use")
parser.AddOption("--field-sep",
                 default=",",
                 metavar="CHAR",
                 help="field separator to use")
parser.AddOption("--string-encloser",
                 default='"',
                 metavar="CHAR",
                 help="character to use for enclosing strings")
parser.AddOption("--escape-char",
                 default="\\",
                 metavar="CHAR",