06-24-2009
Need help with a sh script to spool directory and modify the output (Oracle cnt file)
Hi,
I'm creating a shell script to dynamically create a recreate controlfile for an Oracle database. I need to read a cold backup file system, and make some changes to these files.
Let's say for argument sake the directory name is /ebsprod_c/oradata and it looks like this:
/ebsprod_c/oradata/ctxd01.dbf
/ebsprod_c/oradata/discoverer01.dbf
/ebsprod_c/oradata/log01.dbf
/ebsprod_c/oradata/log02.dbf
/ebsprod_c/oradata/undo01.dbf
/ebsprod_c/oradata/undo02.dbf
/ebsprod_c/oradata/undo03.dbf
/ebsprod_c/oradata/undo04.dbf
/ebsprod_c/oradata/undo05.dbf
What I need is to:
a. exclude the log0* files
b. Add a apostrophe and a comma to each line, except the last line which should only have a apostrophe to make it look something like this:
'/ebsprod_c/oradata/ctxd01.dbf',
'/ebsprod_c/oradata/discoverer01.dbf',
'/ebsprod_c/oradata/undo01.dbf',
'/ebsprod_c/oradata/undo02.dbf',
'/ebsprod_c/oradata/undo03.dbf',
'/ebsprod_c/oradata/undo04.dbf',
'/ebsprod_c/oradata/undo05.dbf'
I figured out how to spool the files and add the apostrophe and comma:
for dirname in $(ls /ebsprod_c/oradata/*.dbf)
do
filename=$(echo $dirname)
echo "'$filename'," >> datafiles.tmp
done
But I can't figure out how to remove/exclude the comma from the last line and how to exclude the log0* files.
Any help would be appreciated!
Thanks!
Mark
9 More Discussions You Might Find Interesting
1. Solaris
I have a text file with rows of information (it is basically a ls command information(o/p from ls command))
I need to remove the lines ending with a .cnt extension and keep the lines ending with .zip extension, how to accomplish this.
I also only need the date,size and name of the file from every... (2 Replies)
Discussion started by: ramky79
2 Replies
2. Shell Programming and Scripting
Hi all,
I would want to spool file for a database query, however by using crontab, the file is not spooled. Below shows my script:
ORACLE_HOME="/u01/oraprod/perpdb/10.1.0/db_1"
OUTFILE="/tmp/invalid.out"
FILE="$HOME/admin/scripts"
$ORACLE_HOME/bin/sqlplus -s "/as sysdba"... (0 Replies)
Discussion started by: *Jess*
0 Replies
3. Shell Programming and Scripting
Hi,
I have several users to create on my test Oracle database taking the scripts from the Production Oracle database. I have a separate text file where I have user-id and passwords maintained. I need help in writing a shell script to go thru the user creation scripts and replace VALUES... (1 Reply)
Discussion started by: rparavastu
1 Replies
4. Solaris
hi all,
I have unix box
I install 2 zone on it
I want to make spool directory and assign one to each zone
How can I do that ? (5 Replies)
Discussion started by: coxmanchester
5 Replies
5. Shell Programming and Scripting
I'm calling an embedded sql from my shell script file. This sql does simple task of spooling out the contents of the table (see below my sample code) into a spool file that I specify. So far so good, but the problem is that the output is also displayed on screen which I do NOT want.
How can I... (3 Replies)
Discussion started by: MxC
3 Replies
6. Shell Programming and Scripting
Hi,
Im writing a script to run a bit of sql(via sqlplus) that pulls back some data and spools it to a file, I want the spool file to only display the data, with no sql command at the top and no reports at the bottom ie(# of records recieved).
I am currently doing it via a grep command but... (1 Reply)
Discussion started by: Magezy
1 Replies
7. Shell Programming and Scripting
Hi Friends,
Actually in an linux server , there was printer jobs files occupying more space in /var/spool/cups so i want a script for deleting the files once in two week since i need the latest two weeks files.
Thanks in advance..Waiting for the script. (2 Replies)
Discussion started by: Mohamed Thamim
2 Replies
8. UNIX and Linux Applications
Hello All,
I'm trying to spool an oracle table data into a csv file on unix server but the complete record is not being extracted. The record is almost 1000 characters but only 100 characters are being extracted and rest of the data getting truncated.
I'm setting below options :
SET... (4 Replies)
Discussion started by: venkat_reddy
4 Replies
9. Shell Programming and Scripting
SQL*Plus version : 11.2.0.4
OS : Oracle Linux 6.5
SQL*Plus is a client application to connect to oracle database. The log file for this tool is generated via spool command as shown below.
I am trying to append date ( $dateString ) to spool file as shown below.
$ cat test2.sh
#!/bin/bash... (4 Replies)
Discussion started by: kraljic
4 Replies
LEARN ABOUT DEBIAN
grass-odbc
grass-odbc(1grass) Grass User's Manual grass-odbc(1grass)
NAME
grass-odbc - ODBC driver
ODBC driver ODBC driver in GRASS Communication between GRASS and ODBC database for attribute management:
| GRASS module | | ODBC Interface | | RDBMS
| GRASS | DBMI driver | unixODBC | ODBC driver | PostgreSQL
| Oracle
| ...
Supported SQL commands
All SQL commands supported by ODBC.
Operators available in conditions
All SQL operators supported by ODBC.
EXAMPLE
In this example we copy the dbf file of a SHAPE map into ODBC, then connect GRASS to the ODBC DBMS. Usually the table will be already
present in the DBMS.
Configure ODBC driver for selected database (manually or with 'ODBCConfig'). ODBC drivers are defined in /etc/odbcinst.ini.
Here is example:
[PostgreSQL]
Description = ODBC for PostgreSQL
Driver = /usr/lib/libodbcpsql.so
Setup = /usr/lib/libodbcpsqlS.so
FileUsage = 1
Create DSN (data source name). The DSN is used as database name in db.* modules. Then DSN must be defined in
$HOME/.odbc.ini (for this user only) or in /etc/odbc.ini for (for all users) [watch out for the database name which appears
twice and also for the PostgreSQL protocol version]. Omit blanks at the beginning of lines:
[grass6test]
Description = PostgreSQL
Driver = PostgreSQL
Trace = No
TraceFile =
Database = grass6test
Servername = localhost
UserName = neteler
Password =
Port = 5432
Protocol = 8.0
ReadOnly = No
RowVersioning = No
ShowSystemTables = No
ShowOidColumn = No
FakeOidIndex = No
ConnSettings = Configuration of an DSN without GUI is described on http://www.unixodbc.org/odbcinst.html, but
odbc.ini and .odbc.ini may be created by the 'ODBCConfig' tool. You can easily view your DSN structure by 'DataManager'. Con-
figuration with GUI is described on http://www.unixodbc.org/doc/UserManual/
To find out about your PostgreSQL protocol, run:
psql -V
Now create a new database if not yet existing:
db.createdb driver=odbc database=grass6test
Now store the table 'mytable.dbf' (here: in current directory) into PostgreSQL through ODBC:
db.connect driver=odbc database=grass6test
db.copy from_driver=dbf from_database=./ from_table=mytable
to_driver=odbc to_database=grass6test to_table=mytable
Next link map to attribute table (now the ODBC table is used, not the dbf file):
v.db.connect map=mytable.shp table=mytable key=ID
database=grass6test driver=odbc
v.db.connect -p
Finally a test: Here we should see the table columns (if the ODBC connection works):
db.tables -p
db.columns table=mytable
Now the table name 'mytable' should appear.
Doesn't work? Check with 'isql ' if the ODBC-PostgreSQL connection is really established.
Note that you can also connect mySQL, Oracle etc. through ODBC to GRASS. You can also check the vector map itself concerning a current
link to a table:
v.db.connect -p mytable.shp
which should print the database connection through ODBC to the defined RDBMS.
SEE ALSO
db.connect, v.db.connect, unixODBC web site, SQL support in GRASS GIS
Last changed: $Date: 2011-02-07 18:59:50 +0100 (Mon, 07 Feb 2011) $
Help Index
GRASS 6.4.2 grass-odbc(1grass)