Hi,

The problem seems to be that your tablespace is full.

The way Oracle works, you have to allocate disk space to the tablespace, and
the Oracle can allocate segment of this "tablespace" to various objects
(tables, indexes, etc...).

You need to give more disk space by using the ALTER TABLESPACE command. This
will require a DBA account on the database (SYSTEM, or any user that has
been granted the DBA role, or the appropriate privileges to alter
tablespaces).

Please note: Playing with tablespaces can potentially render your database
inoperative, so make sure you have proper backups before attempting any of
these actions.

Once you are connected to your dabatase as a dba, try:

SELECT file_name, bytes/1024/1024 "Size (M)" FROM dba_data_files WHERE
tablespace_name='WEBDATA';

This will give you the names and sizes in MBs of all datafiles already
assigned to WEBDATA.

You then need to either increase the size of these files, or add a new one:

Increase the size by using the following (recommended):

ALTER DATABASE DATAFILE '<full path of datafile here>' RESIZE <new size in
MBs>M; #Note the M at the endis for MBs

Or create a new datafile (recommended if your existing files ar getting too
large) with the command:

ALTER TABLESPACE "WEBDATA" ADD DATAFILE '<full path of datafile here>' SIZE
<new size in MBs>M;

Please note that the path you supply MUST be exact. Playing with tablespaces
can potentially render your database inoperative, so make sure you have
proper backups before attempting any of these actions.

HTH

Jean-Claude

> -----Original Message-----
> From: Forquer, Brian R. [mailto:[EMAIL PROTECTED]
> Sent: June 10, 2003 5:01 PM
> To: '[EMAIL PROTECTED]'
> Subject: ORA-00942
>
>
> I have unlimited space in Table Space, I have 30 gig of hard
> drive space, I
> am confuesd. Here is what I got posting whole code because I have two
> problems. On Mandrake 9 current versionsDBI and DBD::Oracle
>  First Error is:
>
> DBD::Oracle::st execute failed: ORA-01658: unable to create INITIAL extent
> for segment in tablespace WEBDATA (DBD ERROR: OCIStmtExecute)
> [for statement
> ``CREATE TABLE IS_Volume (
>         iPeriod INTEGER,
>         icVolume        INTEGER,
>         icRevenue       INTEGER,
>         icBonus INTEGER,
>         ipVolume        INTEGER,
>         ipRevenue       INTEGER,
>         ipBonus INTEGER
> )
> '' with params: ]) at ./importv2 line 111.
> Cannot Create table IS_Volume:
> ORA-01658: unable to create INITIAL extent for segment in
> tablespace WEBDATA
> (DBD ERROR: OCIStmtExecute)
>
>
> So not to be held back I #'ed out all the IS_Volume related stuff and ran
> the script and got this:
>
> DBD::Oracle::st execute failed: ORA-01653: unable to extend table
> WEBDATA.SALES_VOLUME by 256 in tablespace WEBDATA (DBD ERROR:
> OCIStmtExecute) [for statement ``INSERT INTO Sales_Volume VALUES
> ( '200302',
> 'SR2313', '45.000', '1260.00', '405.00', '0.00', '35.000',
> '980.00' )'' with
> params: ]) at ./importv2 line 348, <SALES_VOLUME> line 55229.
> Can not execute Sales_vol data import:
>  ORA-01653: unable to extend table WEBDATA.SALES_VOLUME by 256 in
> tablespace
> WEBDATA (DBD ERROR: OCIStmtExecute)
>
>
> To preface I am in no way a Oracle DB and this is my first major perl
> undertaking so any feed back will be extremely helpful, even if on either
> Oracle or Perl side.
>
>
>
>
>
>
>
>
> CODE
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------
> ----------
> ------------------------------------------------------------------------
> #!/usr/bin/perl
> use DBI;      #Opens DBI
> print "\n\n\n\nBegining import of files from SAP\n";
> if ($ARGV[0] eq "new") {      #determines wether to delete files or nor
>       print "\n\n\n\nDeleting old files\n\n";
>       my $deleted = unlink glob "*.txt";
>       print "Deleted $deleted files.\n";
>       #Retrieves files from ftp
>       @files = qw ( Distributor.txt Sales_Rep.txt Sales_vol.txt
> 2003_GOV_Sales.txt 2003_SBS_Sales.txt 2003_SB_NAS.txt );
>       foreach $files (@files) {
>               system "wget ftp:/(REMOVED)";
>               print "\n\n\n\nReceived file $files\n\n\n\n";
>       }
> }
> #Connection to database
> my $dbh = DBI->connect( "dbi REMOVED )
>       or die "Cannot connect to Oracle Server\n: $DBI::errstr\n";
>
> #Dropping Tables
> #Sales_Rep
> my $sth = $dbh->prepare( "DROP TABLE Sales_Rep")
>       or die "Can not Prep Drop Table rep\n: $DBI::errstr\n";
> $sth->execute
>       or die "Can not execute Drop Table rep\n: $DBI::errstr\n";
> #NAS_Volume
> $sth = $dbh->prepare( "DROP TABLE NAS_Volume" )
>     or die "Can not Prep Drop Table NAS_Volume:\n $DBI::errstr\n";
> $sth->execute
>     or die "Can not Execute Dropt Table NAS_Volume:\n $DBI::errstr\n";
> #Sales_Volume
> $sth = $dbh->prepare( "DROP TABLE Sales_Volume" )
>       or die "Can not Prep Drop Table Sales_Volume:\n $DBI::errstr\n";
> $sth->execute
>       or die "Can not Execute Drop Table Sales_Volume:\n $DBI::errstr\n";
> #GOV_Volume
> $sth = $dbh->prepare( "DROP TABLE GOV_Volume" )
>       or die "Can not Prep Drop Table GOV_Volume:\n $DBI::errstr\n";
> $sth->execute
>       or die "Can not Execute Drop Table GOV_Volume:\n $DBI::errstr\n";
> #Creatinng Tables
> #Sales_Rep
> $sth = $dbh->prepare( "CREATE TABLE Sales_Rep (
>       sRepID  VARCHAR(6),
>       sName   VARCHAR(30)
>       )
> ")
>       or die "Cannot prep for table rep\n: $DBI::errstr\n";
> $sth->execute
>       or die "Cannot create table rep\n: $DBI::errstr\n";
>
> #Sales_Volume
> $sth = $dbh->prepare( "CREATE TABLE Sales_Volume (
>       iPeriod INTEGER,
>       sTSM    VARCHAR(10),
>       icVolume        INTEGER,
>       icRevenue       INTEGER,
>       icBonus INTEGER,
>       ipVolume        INTEGER,
>       ipRevenue       INTEGER,
>       ipBonus INTEGER
>       )
> " )
>       or die "Cannot prep for table Sales_Volume:\n $DBI::errstr\n";
> $sth->execute
>       or die "Cannot Create table Sales_Volume:\n $DBI::errstr\n";
>
> #NAS_Volume
> $sth = $dbh->prepare( "CREATE TABLE NAS_Volume (
>       sNAD    VARCHAR(10),
>       iPeriod INTEGER,
>       icVolume        INTEGER,
>       icRevenue       INTEGER,
>       icBonus INTEGER,
>       ipVolume        INTEGER,
>       ipRevenue       INTEGER,
>       ipBonus INTEGER
> )
> " )
>       or die "Cannot prep for table NAS_Volume:\n $DBI::errstr\n";
> $sth->execute
>       or die "Cannot Create table NAS_Volume:\n $DBI::errstr\n";
>
> #GOV_Volume
> $sth = $dbh->prepare( "CREATE TABLE GOV_Volume (
>       sGOV    VARCHAR(10),
>       iPeriod INTEGER,
>       icVolume        INTEGER,
>       icRevenue       INTEGER,
>       icBonus INTEGER,
>       ipVolume        INTEGER,
>       ipRevenue       INTEGER,
>       ipBonus INTEGER
> )
> " )
>       or die "Cannot prep for table GOV_Volume:\n $DBI::errstr\n";
> $sth->execute
>       or die "Cannot Create table GOV_Volume:\n $DBI::errstr\n";
>
> #IS_Volume
> $sth = $dbh->prepare( "CREATE TABLE IS_Volume (
>       iPeriod INTEGER,
>       icVolume        INTEGER,
>       icRevenue       INTEGER,
>       icBonus INTEGER,
>       ipVolume        INTEGER,
>       ipRevenue       INTEGER,
>       ipBonus INTEGER
> )
> " )
>       or die "Cannot prep for table IS_Volume:\n $DBI::errstr\n";
> $sth->execute
>       or die "Cannot Create table IS_Volume:\n $DBI::errstr\n";
>
>
>
>
> #Opening Sales_Rep.txt
> unless (open SALES_REP, "Sales_Rep.txt") {
>       die "Can not open Sales_Rep.txt:\n $!";
> }
> while (<SALES_REP>) {
>       chomp;
>       ($srnu,$srna) = split /\^/, $_;
>       my $qsrnu = $dbh->quote( $srnu );
>       my $qsrna = $dbh->quote( $srna );
>       $sth = $dbh->prepare( "INSERT INTO Sales_Rep VALUES ( $qsrnu, $qsrna
> )" )
>       or die "Can not prep Sales_Rep data for import:\n $DBI::errstr\n";
>       $sth->execute
>       or die "Can not execute Sales_Rep data import:\n $DBI::errstr\n";
> }
> close SALES_REP;
> #OPENING NAS_VOLUME
> unless (open NAS_VOLUME, "2003_SB_NAS.txt") {
>       die "Can not open 2003_SB_NAS.tx";
> }
> while (<NAS_VOLUME>) {
>       if ($. gt 1 ) {
>               chomp;
>               (undef, undef, undef, undef, $sNAD, $iPeriod, $icVolume,
> $icRevenue, $icBonus, $ipVolume, $ipRevenue, $ipBonus, undef) =
> split /\~/,
> $_;
>               $sNAD =~ s/\s+//g;
>               $iPeriod =~ s/\s+//g;
>               $icVolume =~ s/\s+//g;
>               $icRevenue =~ s/\s+//g;
>               $icBonus =~ s/\s+//g;
>               $ipVolume =~ s/\s+//g;
>               $ipRevenue =~ s/\s+//g;
>               $ipBonus =~ s/\s+//g;
>               if ($icVolume =~ /\-$/) {
>                       my $minus = chop $icVolume;
>                       $icVolume = $minus . $icVolume;
>               }
>               if ($icRevenue =~ /\-$/) {
>                       my $minus = chop $icRevenue;
>                       $icRevenue = $minus . $icRevenue;
>               }
>               if ($icBonus =~ /\-$/) {
>                       my $minus = chop $icBonus;
>                       $icBonus = $minus . $icBonus;
>               }
>               if ($ipVolume =~ /\-$/) {
>                       my $minus = chop $ipVolume;
>                       $ipVolume = $minus . $ipVolume;
>               }
>               if ($ipRevenue =~ /\-$/) {
>                       my $minus = chop $ipRevenue;
>                       $ipRevenue = $minus . $ipRevenue;
>               }
>               if ($ipBonus =~ /\-$/) {
>                       my $minus = chop $ipBonus;
>                       $ipBonus = $minus . $ipBonus;
>               }
>               my $qiPeriod = $dbh->quote( $iPeriod );
>               my $qsNAD = $dbh->quote( $sNAD );
>               my $qicVolume = $dbh->quote( $icVolume );
>               my $qicRevenue = $dbh->quote( $icRevenue );
>               my $qicBonus = $dbh->quote( $icBonus );
>               my $qipVolume = $dbh->quote( $ipVolume );
>               my $qipRevenue = $dbh->quote( $ipRevenue );
>               my $qipBonus = $dbh->quote( $ipBonus );
>               $sth = $dbh->prepare( "INSERT INTO NAS_Volume VALUES (
> $qsNAD, $qiPeriod, $qicVolume, $qicRevenue, $qicBonus, $qipVolume,
> $qipRevenue, $qipBonus )" )
>                       or die "Can not prep NAS_vol data for import:\n
> $DBI::errstr\n";
>               $sth->execute
>                       or die "Can not execute NAS_vol data import:\n
> $DBI::errstr\n";
>               print "NAS: $.\n"
>       }
>       }
> close NAS_VOLUME;
>
>
> #OPENING GOV_VOLUME
> unless (open GOV_VOLUME, "2003_GOV_Sales.txt") {
>       die "Can not open 2003_GOV_Sales.tx";
> }
> while (<GOV_VOLUME>) {
>       if ($. gt 1 ) {
>               chomp;
>               (undef, undef, undef, undef, $sGOV, $iPeriod, $icVolume,
> $icRevenue, $icBonus, $ipVolume, $ipRevenue, $ipBonus, undef) =
> split /\~/,
> $_;
>               $sGOV =~ s/\s+//g;
>               $iPeriod =~ s/\s+//g;
>               $icVolume =~ s/\s+//g;
>               $icRevenue =~ s/\s+//g;
>               $icBonus =~ s/\s+//g;
>               $ipVolume =~ s/\s+//g;
>               $ipRevenue =~ s/\s+//g;
>               $ipBonus =~ s/\s+//g;
>               if ($icVolume =~ /\-$/) {
>                       my $minus = chop $icVolume;
>                       $icVolume = $minus . $icVolume;
>               }
>               if ($icRevenue =~ /\-$/) {
>                       my $minus = chop $icRevenue;
>                       $icRevenue = $minus . $icRevenue;
>               }
>               if ($icBonus =~ /\-$/) {
>                       my $minus = chop $icBonus;
>                       $icBonus = $minus . $icBonus;
>               }
>               if ($ipVolume =~ /\-$/) {
>                       my $minus = chop $ipVolume;
>                       $ipVolume = $minus . $ipVolume;
>               }
>               if ($ipRevenue =~ /\-$/) {
>                       my $minus = chop $ipRevenue;
>                       $ipRevenue = $minus . $ipRevenue;
>               }
>               if ($ipBonus =~ /\-$/) {
>                       my $minus = chop $ipBonus;
>                       $ipBonus = $minus . $ipBonus;
>               }
>               my $qiPeriod = $dbh->quote( $iPeriod );
>               my $qsGOV = $dbh->quote( $sGOV );
>               my $qicVolume = $dbh->quote( $icVolume );
>               my $qicRevenue = $dbh->quote( $icRevenue );
>               my $qicBonus = $dbh->quote( $icBonus );
>               my $qipVolume = $dbh->quote( $ipVolume );
>               my $qipRevenue = $dbh->quote( $ipRevenue );
>               my $qipBonus = $dbh->quote( $ipBonus );
>               $sth = $dbh->prepare( "INSERT INTO GOV_Volume VALUES (
> $qsGOV, $qiPeriod, $qicVolume, $qicRevenue, $qicBonus, $qipVolume,
> $qipRevenue, $qipBonus )" )
>                       or die "Can not prep GOV_vol data for import:\n
> $DBI::errstr\n";
>               $sth->execute
>                       or die "Can not execute GOV_vol data import:\n
> $DBI::errstr\n";
>               print "GOV: $.\n"
>       }
>       }
> close GOV_VOLUME;
> #OPENING IS_VOLUME
> unless (open IS_VOLUME, "2003_SBS_Sales.txt") {
>       die "Can not open 2003_SBS_SALES.tx";
> }
> while (<IS_VOLUME>) {
>       if ($. gt 1 ) {
>               chomp;
>               (undef, undef, undef, $iPeriod, $icVolume, $icRevenue,
> $icBonus, $ipVolume, $ipRevenue, $ipBonus, undef) = split /\~/, $_;
>               $iPeriod =~ s/\s+//g;
>               $icVolume =~ s/\s+//g;
>               $icRevenue =~ s/\s+//g;
>               $icBonus =~ s/\s+//g;
>               $ipVolume =~ s/\s+//g;
>               $ipRevenue =~ s/\s+//g;
>               $ipBonus =~ s/\s+//g;
>               if ($icVolume =~ /\-$/) {
>                       my $minus = chop $icVolume;
>                       $icVolume = $minus . $icVolume;
>               }
>               if ($icRevenue =~ /\-$/) {
>                       my $minus = chop $icRevenue;
>                       $icRevenue = $minus . $icRevenue;
>               }
>               if ($icBonus =~ /\-$/) {
>                       my $minus = chop $icBonus;
>                       $icBonus = $minus . $icBonus;
>               }
>               if ($ipVolume =~ /\-$/) {
>                       my $minus = chop $ipVolume;
>                       $ipVolume = $minus . $ipVolume;
>               }
>               if ($ipRevenue =~ /\-$/) {
>                       my $minus = chop $ipRevenue;
>                       $ipRevenue = $minus . $ipRevenue;
>               }
>               if ($ipBonus =~ /\-$/) {
>                       my $minus = chop $ipBonus;
>                       $ipBonus = $minus . $ipBonus;
>               }
>               my $qiPeriod = $dbh->quote( $iPeriod );
>               my $qicVolume = $dbh->quote( $icVolume );
>               my $qicRevenue = $dbh->quote( $icRevenue );
>               my $qicBonus = $dbh->quote( $icBonus );
>               my $qipVolume = $dbh->quote( $ipVolume );
>               my $qipRevenue = $dbh->quote( $ipRevenue );
>               my $qipBonus = $dbh->quote( $ipBonus );
>               $sth = $dbh->prepare( "INSERT INTO IS_Volume VALUES (
> $qiPeriod, $qicVolume, $qicRevenue, $qicBonus, $qipVolume, $qipRevenue,
> $qipBonus )" )
>                       or die "Can not prep IS_vol data for import:\n
> $DBI::errstr\n";
>               $sth->execute
>                       or die "Can not execute IS_vol data import:\n
> $DBI::errstr\n";
>               print "IS: $.\n"
>       }
>       }
> close IS_VOLUME;
> #OPENING SALES_VOLUME
>
> unless (open SALES_VOLUME, "Sales_vol.txt") {
>       die "Can not open Sales_vol.txt";
> }
> while (<SALES_VOLUME>) {
>       if ($. gt 1) {
>               chomp;
>               ($iPeriod, undef, $sTSM, undef, undef, undef, undef, undef,
> $icVolume, $icRevenue, $icPGCP, $ipVolume, $ipRevenue, $ipPGCP) = split
> /\^/, $_;
>               if ( length($sTSM) == 6 ) {
>                       $sTSMk = $sTSM;
>               } else {
>                       $sTSMk = "NODATA";
>               }
>               if ($icVolume =~ /\-$/) {
>                       my $minus = chop $icVolume;
>                       $icVolume = $minus . $icVolume;
>               }
>               if ($icRevenue =~ /\-$/) {
>                       my $minus = chop $icRevenue;
>                       $icRevenue = $minus . $icRevenue;
>               }
>               if ($icPGCP =~ /\-$/) {
>                       my $minus = chop $icPGCP;
>                       $icPGCP = $minus . $icPGCP;
>               }
>               if ($ipVolume =~ /\-$/) {
>                       my $minus = chop $ipVolume;
>                       $ipVolume = $minus . $ipVolume;
>               }
>               if ($ipRevenue =~ /\-$/) {
>                       my $minus = chop $ipRevenue;
>                       $ipRevenue = $minus . $ipRevenue;
>               }
>               if ($ipPGCP =~ /\-$/) {
>                       my $minus = chop $ipPGCP;
>                       $ipPGCP = $minus . $ipPGCP;
>               }
>               my $qiPeriod = $dbh->quote( $iPeriod );
>               my $qsTSM = $dbh->quote( $sTSMk );
>               my $qicVolume = $dbh->quote( $icVolume );
>               my $qicRevenue = $dbh->quote( $icRevenue );
>               my $qicPGCP = $dbh->quote( $icPGCP );
>               my $qipVolume = $dbh->quote( $ipVolume );
>               my $qipRevenue = $dbh->quote( $ipRevenue );
>               my $qipPGCP = $dbh->quote( $ipPGCP );
>               $sth = $dbh->prepare( "INSERT INTO Sales_Volume VALUES (
> $qiPeriod, $qsTSM, $qicVolume, $qicRevenue, $qicPGCP, $qipVolume,
> $qipRevenue, $qipPGCP )" )
>                       or die "Can not prep Sales_vol data for import:\n
> $DBI::errstr\n";
>               $sth->execute
>                       or die "Can not execute Sales_vol data import:\n
> $DBI::errstr\n";
>               print "Sales: $.\n"
>       }
>       }
> close SALES_VOLUME;
> #Close Database
> $dbh->disconnect
>       or die "Disconnection Fialed: $DBI::errstr\n";
>
>
>

Reply via email to