2GB OR NOT 2GB - FILE LIMITS IN ORACLE

제품 : ORACLE SERVER
작성날짜 : 2002-04-11
2GB OR NOT 2GB - FILE LIMITS IN ORACLE
======================================
Introduction
~~~~~~~~~~~~
This article describes "2Gb" issues. It gives information on why 2Gb
is a magical number and outlines the issues you need to know about if
you are considering using Oracle with files larger than 2Gb in size.
It also
looks at some other file related limits and issues.
The article has a Unix bias as this is where most of the 2Gb issues
arise but there is information relevant to other (non-unix)
platforms.
Articles giving port specific limits are listed in the last section.
Topics covered include:
Why is 2Gb a Special Number ?
Why use 2Gb+ Datafiles ?
Export and 2Gb
SQL*Loader and 2Gb
Oracle and other 2Gb issues
Port Specific Information on "Large Files"
Why is 2Gb a Special Number ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Many CPU's and system call interfaces (API's) in use today use a word
size of 32 bits. This word size imposes limits on many operations.
In many cases the standard API's for file operations use a 32-bit signed
word to represent both file size and current position within a file (byte
displacement). A 'signed' 32bit word uses the top most bit as a sign
indicator leaving only 31 bits to represent the actual value (positive or
negative). In hexadecimal the largest positive number that can be
represented in in 31 bits is 0x7FFFFFFF , which is +2147483647 decimal.
This is ONE less than 2Gb.
Files of 2Gb or more are generally known as 'large files'. As one might
expect problems can start to surface once you try to use the number
2147483648 or higher in a 32bit environment. To overcome this problem
recent versions of operating systems have defined new system calls which
typically use 64-bit addressing for file sizes and offsets. Recent Oracle
releases make use of these new interfaces but there are a number of issues
one should be aware of before deciding to use 'large files'.
What does this mean when using Oracle ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The 32bit issue affects Oracle in a number of ways. In order to use large
files you need to have:
1. An operating system that supports 2Gb+ files or raw devices
2. An operating system which has an API to support I/O on 2Gb+ files
3. A version of Oracle which uses this API
Today most platforms support large files and have 64bit APIs for such
files.
Releases of Oracle from 7.3 onwards usually make use of these 64bit APIs
but the situation is very dependent on platform, operating system version
and the Oracle version. In some cases 'large file' support is present by
default, while in other cases a special patch may be required.
At the time of writing there are some tools within Oracle which have not
been updated to use the new API's, most notably tools like EXPORT and
SQL*LOADER, but again the exact situation is platform and version specific.
Why use 2Gb+ Datafiles ?
~~~~~~~~~~~~~~~~~~~~~~~~
In this section we will try to summarise the advantages and disadvantages
of using "large" files / devices for Oracle datafiles:
Advantages of files larger than 2Gb:
On most platforms Oracle7 supports up to 1022 datafiles.
With files < 2Gb this limits the database size to less than 2044Gb.
This is not an issue with Oracle8 which supports many more files.
In reality the maximum database size would be less than 2044Gb due
to maintaining separate data in separate tablespaces. Some of these
may be much less than 2Gb in size.
Less files to manage for smaller databases.
Less file handle resources required
Disadvantages of files larger than 2Gb:
The unit of recovery is larger. A 2Gb file may take between 15 minutes
and 1 hour to backup / restore depending on the backup media and
disk speeds. An 8Gb file may take 4 times as long.
Parallelism of backup / recovery operations may be impacted.
There may be platform specific limitations - Eg: Asynchronous IO
operations may be serialised above the 2Gb mark.
As handling of files above 2Gb may need patches, special configuration
etc.. there is an increased risk involved as opposed to smaller files.
Eg: On certain AIX releases Asynchronous IO serialises above 2Gb.
Important points if using files >= 2Gb
Check with the OS Vendor to determine if large files are supported
and how to configure for them.
Check with the OS Vendor what the maximum file size actually is.
Check with Oracle support if any patches or limitations apply
on your platform , OS version and Oracle version.
Remember to check again if you are considering upgrading either
Oracle or the OS in case any patches are required in the release
you are moving to.
Make sure any operating system limits are set correctly to allow
access to large files for all users.
Make sure any backup scripts can also cope with large files.
Note that there is still a limit to the maximum file size you
can use for datafiles above 2Gb in size. The exact limit depends
on the DB_BLOCK_SIZE of the database and the platform. On most
platforms (Unix, NT, VMS) the limit on file size is around
4194302*DB_BLOCK_SIZE.
Important notes generally
Be careful when allowing files to automatically resize. It is
sensible to always limit the MAXSIZE for AUTOEXTEND files to less
than 2Gb if not using 'large files', and to a sensible limit
otherwise. Note that due to <Bug:568232> it is possible to specify
an value of MAXSIZE larger than Oracle can cope with which may
result in internal errors after the resize occurs. (Errors
typically include ORA-600 [3292])
On many platforms Oracle datafiles have an additional header
block at the start of the file so creating a file of 2Gb actually
requires slightly more than 2Gb of disk space. On Unix platforms
the additional header for datafiles is usually DB_BLOCK_SIZE bytes
but may be larger when creating datafiles on raw devices.
2Gb related Oracle Errors:
These are a few of the errors which may occur when a 2Gb limit
is present. They are not in any particular order.
ORA-01119 Error in creating datafile xxxx
ORA-27044 unable to write header block of file
SVR4 Error: 22: Invalid argument
ORA-19502 write error on file 'filename', blockno x (blocksize=nn)
ORA-27070 skgfdisp: async read/write failed
ORA-02237 invalid file size
KCF:write/open error dba=xxxxxx block=xxxx online=xxxx file=xxxxxxxx
file limit exceed.
Unix error 27, EFBIG
Export and 2Gb
~~~~~~~~~~~~~~
2Gb Export File Size
~~~~~~~~~~~~~~~~~~~~
At the time of writing most versions of export use the default file
open API when creating an export file. This means that on many platforms
it is impossible to export a file of 2Gb or larger to a file system file.
There are several options available to overcome 2Gb file limits with
export such as:
- It is generally possible to write an export > 2Gb to a raw device.
Obviously the raw device has to be large enough to fit the entire
export into it.
- By exporting to a named pipe (on Unix) one can compress, zip or
split up the output.
See: "Quick Reference to Exporting >2Gb on Unix" <Note:30528.1>
- One can export to tape (on most platforms)
See "Exporting to tape on Unix systems" <Note:30428.1>
(This article also describes in detail how to export to
a unix pipe, remote shell etc..)
Other 2Gb Export Issues
~~~~~~~~~~~~~~~~~~~~~~~
Oracle has a maximum extent size of 2Gb. Unfortunately there is a problem
with EXPORT on many releases of Oracle such that if you export a large table
and specify COMPRESS=Y then it is possible for the NEXT storage clause
of the statement in the EXPORT file to contain a size above 2Gb. This
will cause import to fail even if IGNORE=Y is specified at import time.
This issue is reported in <Bug:708790> and is alerted in <Note:62436.1>
An export will typically report errors like this when it hits a 2Gb
limit:
. . exporting table BIGEXPORT
EXP-00015: error on row 10660 of table BIGEXPORT,
column MYCOL, datatype 96
EXP-00002: error in writing to export file
EXP-00002: error in writing to export file
EXP-00000: Export terminated unsuccessfully
There is a secondary issue reported in <Bug:185855> which indicates that
a full database export generates a CREATE TABLESPACE command with the
file size specified in BYTES. If the filesize is above 2Gb this may
cause an ORA-2237 error when attempting to create the file on IMPORT.
This issue can be worked around be creating the tablespace prior to
importing by specifying the file size in 'M' instead of in bytes.
<Bug:490837> indicates a similar problem.
Export to Tape
~~~~~~~~~~~~~~
The VOLSIZE parameter for export is limited to values less that 4Gb.
On some platforms may be only 2Gb.
This is corrected in Oracle 8i. <Bug:490190> describes this problem.
SQL*Loader and 2Gb
~~~~~~~~~~~~~~~~~~
Typically SQL*Loader will error when it attempts to open an input
file larger than 2Gb with an error of the form:
SQL*Loader-500: Unable to open file (bigfile.dat)
SVR4 Error: 79: Value too large for defined data type
The examples in <Note:30528.1> can be modified to for use with SQL*Loader
for large input data files.
Oracle 8.0.6 provides large file support for discard and log files in
SQL*Loader but the maximum input data file size still varies between
platforms. See <Bug:948460> for details of the input file limit.
<Bug:749600> covers the maximum discard file size.
Oracle and other 2Gb issues
~~~~~~~~~~~~~~~~~~~~~~~~~~~
This sections lists miscellaneous 2Gb issues:
- From Oracle 8.0.5 onwards 64bit releases are available on most platforms.
An extract from the 8.0.5 README file introduces these - see <Note:62252.1>
- DBV (the database verification file program) may not be able to scan
datafiles larger than 2Gb reporting "DBV-100".
This is reported in <Bug:710888>
- "DATAFILE ... SIZE xxxxxx" clauses of SQL commands in Oracle must be
specified in 'M' or 'K' to create files larger than 2Gb otherwise the
error "ORA-02237: invalid file size" is reported. This is documented
in <Bug:185855>.
- Tablespace quotas cannot exceed 2Gb on releases before Oracle 7.3.4.
Eg: ALTER USER <username> QUOTA 2500M ON <tablespacename>
reports
ORA-2187: invalid quota specification.
This is documented in <Bug:425831>.
The workaround is to grant users UNLIMITED TABLESPACE privilege if they
need a quota above 2Gb.
- Tools which spool output may error if the spool file reaches 2Gb in size.
Eg: sqlplus spool output.
- Certain 'core' functions in Oracle tools do not support large files -
See <Bug:749600> which is fixed in Oracle 8.0.6 and 8.1.6.
Note that this fix is NOT in Oracle 8.1.5 nor in any patch set.
Even with this fix there may still be large file restrictions as not
all code uses these 'core' functions.
Note though that <Bug:749600> covers CORE functions - some areas of code
may still have problems.
Eg: CORE is not used for SQL*Loader input file I/O
- The UTL_FILE package uses the 'core' functions mentioned above and so is
limited by 2Gb restrictions Oracle releases which do not contain this fix.
<Package:UTL_FILE> is a PL/SQL package which allows file IO from within
PL/SQL.
Port Specific Information on "Large Files"
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Below are references to information on large file support for specific
platforms. Although every effort is made to keep the information in
these articles up-to-date it is still advisable to carefully test any
operation which reads or writes from / to large files:
Platform See
~~~~~~~~ ~~~
AIX (RS6000 / SP) <Note:60888.1>
HP <Note:62407.1>
Digital Unix <Note:62426.1>
Sequent PTX <Note:62415.1>
Sun Solaris <Note:62409.1>
Windows NT Maximum 4Gb files on FAT
Theoretical 16Tb on NTFS
** See <Note:67421.1> before using large files
on NT with Oracle8
*2 There is a problem with DBVERIFY on 8.1.6
See <Bug:1372172>

I'm not aware of a packaged PL/SQL solution for this in Oracle 8.1.7.3 - however it is very easy to create such a program...
Step 1
Write a simple Java program like the one listed:
import java.io.File;
public class fileCheckUtl {
public static int fileExists(String FileName) {
File x = new File(FileName);
if (x.exists())
return 1;
else return 0;
public static void main (String args[]) {
fileCheckUtl f = new fileCheckUtl();
int i;
i = f.fileExists(args[0]);
System.out.println(i);
Step 2 Load this into the Oracle data using LoadJava
loadjava -verbose -resolve -user user/pw@db fileCheckUtl.java
The output should be something like this:
creating : source fileCheckUtl
loading : source fileCheckUtl
creating : fileCheckUtl
resolving: source fileCheckUtl
Step 3 - Create a PL/SQL wrapper for the Java Class:
CREATE OR REPLACE FUNCTION FILE_CHECK_UTL (file_name IN VARCHAR2) RETURN NUMBER AS
LANGUAGE JAVA
NAME 'fileCheckUtl.fileExists(java.lang.String) return int';
Step 4 Test it:
SQL> select file_check_utl('f:\myjava\fileCheckUtl.java') from dual
2 /
FILE_CHECK_UTL('F:\MYJAVA\FILECHECKUTL.JAVA')
1

Similar Messages

  • Parser Error Message: Could not load file or assembly 'Oracle.DataAccess, V

    I'm working on a 64 bit windows 7 ultimate system and I can't get the Oracle.DataAccess and Oracle.Web to load on the helloworld web page
    See error below. At the very end i have the gacutil output. Also, the same dll's work on a 32 bit windows 7 system. I've also tried to load the beta version of the odac 64 bit
    but it it gets a "java stopped working error"
    Thanks in advance
    WEB PAGE ERRORVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
    Server Error in '/test/helloworld' Application.
    Configuration Error
    Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately.
    Parser Error Message: Could not load file or assembly 'Oracle.DataAccess, Version=2.112.1.1, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
    Source Error:
    Line 37:                     <add assembly="System.Xml.Linq, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    Line 38:                     <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089"/>
    Line 39:                     <add assembly="Oracle.DataAccess, Version=2.112.1.1, Culture=neutral, PublicKeyToken=89B483F429C47342"/>
    Line 40:                     <add assembly="Oracle.Web, Version=2.112.1.1, Culture=neutral, PublicKeyToken=89B483F429C47342"/></assemblies>
    Line 41:           </compilation>
    Source File: C:\inetpub\wwwroot\test\helloworld\web.config Line: 39
    Assembly Load Trace: The following information can be helpful to determine why the assembly 'Oracle.DataAccess, Version=2.112.1.1, Culture=neutral, PublicKeyToken=89b483f429c47342' could not be loaded.
    === Pre-bind state information ===
    LOG: User = IIS APPPOOL\DefaultAppPool
    LOG: DisplayName = Oracle.DataAccess, Version=2.112.1.1, Culture=neutral, PublicKeyToken=89b483f429c47342
    (Fully-specified)
    LOG: Appbase = file:///C:/inetpub/wwwroot/test/helloworld/
    LOG: Initial PrivatePath = C:\inetpub\wwwroot\test\helloworld\bin
    Calling assembly : (Unknown).
    ===
    LOG: This bind starts in default load context.
    LOG: Using application configuration file: C:\inetpub\wwwroot\test\helloworld\web.config
    LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework64\v2.0.50727\Aspnet.config
    LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config.
    LOG: Post-policy reference: Oracle.DataAccess, Version=2.112.1.1, Culture=neutral, PublicKeyToken=89b483f429c47342
    LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/test_helloworld/480589f5/895d06ab/Oracle.DataAccess.DLL.
    LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/test_helloworld/480589f5/895d06ab/Oracle.DataAccess/Oracle.DataAccess.DLL.
    LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/test/helloworld/bin/Oracle.DataAccess.DLL.
    LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/test/helloworld/bin/Oracle.DataAccess/Oracle.DataAccess.DLL.
    LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/test_helloworld/480589f5/895d06ab/Oracle.DataAccess.EXE.
    LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework64/v2.0.50727/Temporary ASP.NET Files/test_helloworld/480589f5/895d06ab/Oracle.DataAccess/Oracle.DataAccess.EXE.
    LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/test/helloworld/bin/Oracle.DataAccess.EXE.
    LOG: Attempting download of new URL file:///C:/inetpub/wwwroot/test/helloworld/bin/Oracle.DataAccess/Oracle.DataAccess.EXE.
    Version Information: Microsoft .NET Framework Version:2.0.50727.4927; ASP.NET Version:2.0.50727.4927
    gacuil output
    VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVV
    C:\Users\Administrator>C:\"Program Files"\"Microsoft SDKs"\Windows\v6.0A\Bin\x64
    \gacutil.exe /l Oracle.DataAccess
    Microsoft (R) .NET Global Assembly Cache Utility. Version 3.5.21022.8
    Copyright (c) Microsoft Corporation. All rights reserved.
    The Global Assembly Cache contains the following assemblies:
    Oracle.DataAccess, Version=2.112.1.1, Culture=neutral, PublicKeyToken=89b483f4
    29c47342, processorArchitecture=x86
    Edited by: burk_s on Jun 6, 2010 2:42 PM

    Hi Mubarak,
    Please firstly make sure you installed SharePoint Foundation 2010 with SP2 in a Windows Server 2012 R2. Since only SP2 slipstream installations are supported on Windows Server 2012 R2
    http://blogs.technet.com/b/stefan_gossner/archive/2014/05/03/sharepoint-2010-sp2-and-windows-server-2012-r2.aspx
    http://blogs.technet.com/b/stefan_gossner/archive/2013/09/19/slipstream-version-of-sharepoint-foundation-2010-with-sp2-included.aspx
    Regards,
    Rebecca Tu
    TechNet Community Support
    Please remember to mark the replies as answers if they help, and unmark the answers if they provide no help. If you have feedback for TechNet Support, contact
    [email protected]

  • Could not load file or assembly 'Oracle.DataAccess error on server

    I have been building a.NET application on my local Machine Windows 7 and have the 32-bit ODT installed on my machine which works nicely with VS 2010.
    I placed it on the server and when I open the page that accesses data from Oracle, I get the below error. Both the server and my local computer have the Oracle.DataAccess
    dll installed and both have the same public token 89b483f429c47342. I changed the target CPU from Any CPU to x86 and published a Release build of my project to the server.
    Why am I getting the below error?
    ==========================================================================================================
    Could not load file or assembly 'Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
    Source Error:
    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
    Assembly Load Trace: The following information can be helpful to determine why the assembly 'Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' could not be loaded.
    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
    Stack Trace:
    [FileNotFoundException: Could not load file or assembly 'Oracle.DataAccess, Version=4.112.2.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.]
    antac.dashboard.Page_Load(Object sender, EventArgs e) in C:\Users\George\Documents\Visual Studio 2010\Projects\antac\antac\dashboard.aspx.cs:92
    System.Web.Util.CalliHelper.EventArgFunctionCaller(IntPtr fp, Object o, Object t, EventArgs e) +25
    System.Web.UI.Control.LoadRecursive() +71
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3048
    Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.1

    This was definitely the right answer, I thought ODAC was already installed on the server, but apparently not. I installed the 64-bit OCAC XCopy version on the server and now it works.

  • Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified

    Server Error in '/' Application.
    Configuration Error 
    Description: An error occurred during the processing of a configuration file required to service this request. Please review the specific error details below and modify your configuration file appropriately. 
    Parser Error Message: Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
    Source Error: 
    Line 31: <compilation debug="true">
    Line 32: <assemblies>
    Line 33: <add assembly="Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89B483F429C47342" />
    Line 34: <add assembly="System.Core, Version=3.5.0.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
    Line 35: <add assembly="System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
    Source File: D:\AverySignatureBinders\httpsdocs\ASBNet\web.config    Line: 33 
    Assembly Load Trace: The following information can be helpful to determine why the assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' could not be loaded.
    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

    For Adapter Pack 2013 the following Oracle Client(s) are needed:
    Supported client versions: Oracle Data Access Components for Oracle Client 12.1, Oracle Data Access Components for Oracle Client 11.2.0.1
    And please bear in mind that both the 32- and 64 bit versions are needed.
    Morten la Cour

  • Could not load file or assembly 'Oracle.DataAccess' Windows Vista x64

    Ok now here is the funny part, this works fine when i'm developing ASP.NET applications ( i assume that is puts the dev web server into x86 mode), but when im trying to use Oracle.DataAccess DLL in a console application i get a '+Additional information: Could not load file or assembly 'Oracle.DataAccess, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.+' error in visual studio when i try and debug and also when i try and run the console app.
    Using the latest ODP.NET 11.1.0.6.20, Windows Vista x64 SP1 (all updates installed), Visual Studio 2008 SP1

    never mind, figured it out, the Platform target in studio was on "Auto" and was defaulting to x64....

  • Could not load file or assembly 'Oracle.Web, Version=2.111.6.20

    I am getting the following error whenever I try to run ANY .NET Web application. It looks like the ODP.NET installer pooched IIS.
    Could not load file or assembly 'Oracle.Web, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.
    I searched for and copied the C:\oraclexe\app\oracle\product\10.2.0\client_1\ASP.NET\bin\2.x\Oracle.Web.dll file into C:\Windows\assembly, but that didn't help.
    TIA,
    Miles

    One thing might be if the web server has multiple versions of Oracle installed, then check to see which is first in the path. Another would be that at the least IIS would need to be restarted after the Oracle install, for the path to take effect, possibly the whole machine would need a re-boot for this.

  • Could not load file or assembly 'Oracle.ManagedDataAccessDTC'

    I'm a little bit stuck... I've been trying to replace System.Data.OracleClient in my application for a while now, and was very encouraged to see a managed DLL option.
    I have followed the quick start instructions in the readme file, but my site returns this error on every page:
    Could not load file or assembly 'Oracle.ManagedDataAccessDTC' or one of its dependencies. An attempt was made to load a program with an incorrect format.
    My development machine is 64 bit, and my server is 32 bit. I've tried to include either version into the /bin directory in my web application, but there is no change to the error message. I've also tried setting "promotable transaction=local" in my connection string to try and mitigate the need for this assembly, and that doesn't change the error.
    Interestingly (to others... to me it's terrifying) my application will no longer run even if I remove all references to the managed DLL, remove all 'using' statements, and try to revert my site back to the way it was... I am still getting the same error on load for any page.
    As you might expect, I am a complete, total noob with Oracle. I'm about as lost as can be.

    As a followup to this - I deleted everything off the server and republished. Then, watching the video, I followed along step by step. Everything appeared to work fine for my test page.
    I am a little bit lost however, trying to implement this in the rest of my application. The documentation doesn't have an example (that I can see, anyway) for how to reference the managed client in the <connectionStrings> section of my web.config file.
    I am also not too clear, if I need to have the tnsnames.ora file in my /bin/debug folder, if I have defined a connection string like this.
    <add name="MYNAME" connectionString="Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=MYHOST)(PORT=MYPORT))(CONNECT_DATA=(SERVICE_NAME=MYSERVICENAME)));User Id=USERID;Password=PASSWORD;Persist Security Info=False" providerName="Oracle.ManagedDataAccess.Client" />
    (actual values in the above tag removed to protect the innocent...)
    Is Oracle.ManagedDataAccess.Client the preferred providerName for this tag?
    Currently, I am getting the following error:
    Unable to find the requested .Net Framework Data Provider. It may not be installed

  • ASPNETCOMPILER error ASPCONFIG Could not load file or assembly Oracle.Data

    I have migrated my .Net solution from 3.5 to 4.0 which consist of a class library and a web service. Web serivice is dependent on class library and the class library uses oracle.dataaccess.dll version 4.112.3.0. I have installed ODAC 11.2.0 in my machine.
    When I try to build the solution using MSBUILD.EXE I am getting the below error on my build machine.
    ASPNETCOMPILER : error ASPCONFIG: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format. [D:\VEROS_BuildFolder\CDDS_MERGE_CODEDROP_.NETUPGRADE\WEB Services\AppraisalSubmission\AppraisalSubmissionService.metaproj]
    And I try to build from VS2010, it is building successfully.
    But we need to build only using MSBUILD.EXE which resides in "C:\Windows\Microsoft.NET\Framework\v4.0.30319" path. While building using MSBUILd.EXE the Oracle.DataAccess.dll is getting copied into the BIN folder of the web service. It should reference from GAC location. My build serveer is 64 bit win2008 server. when I checked the dll version install using GACUTIL , I got the below result
    C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools>gacutil /l oracle.dataaccess
    The Global Assembly Cache contains the following assemblies:
    oracle.dataaccess, Version=2.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
    oracle.dataaccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=AMD64
    oracle.dataaccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=89b483f429c47342, processorArchitecture=x86
    Previous the application was building successfully using framework 3.5 and Oracle.DataAccess.dll version 2.112.3.0.
    Please help to build my applicaiton using MSBUILD 4.0 version.

    Typically, when you get the "load a program with an incorrect format" exception, it's a mismatch in the bit-ness of the Oracle client you're using and the project you're building. By default, .net builds in AnyCPU mode. That means if you do it on a 64 bit system, you'll get a 64 bit (x64) program. That doesn't work with a 32 bit Oracle client. Usually, you'll need to force MSBUILD to build a 32 bit (x86) result. That will use the 32 bit Oracle client successfully. There's probably a command line switch for that. When building in Visual Studio, you can do it from the Build > Configuration Manager menu.
    Now in this case it looks like you actually have both 32 and 64 bit versions of Oracle.DataAccess in the GAC, so I'm not sure if you have both Oracle clients or not. If you have one in the \bin with Copy Local = True, you could be getting the wrong one. You'll want to set Copy Local = False on the properties of the reference and remove that file from the \bin.

  • VS2008 - Could not load file or assembly 'Oracle.DataAccess...

    Hi all,
    After installing the ODAC 11g I am getting the following error when I try to run in debug mode a VS 2008 Win Form app that uses DataAccess.dll. The app is the HR_Connect.
    Here is the error -
    System.IO.FileNotFoundException was unhandled
    Message="Could not load file or assembly 'Oracle.DataAccess, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified."
    Source="HR_Connect"
    FileName="Oracle.DataAccess, Version=2.111.6.20, Culture=neutral, PublicKeyToken=89b483f429c47342"
    Do I need to install ODT as well?
    I thought I found the answer to my problem in another thread but alas the below does not help. After installing the ODAC 11g the file mentioned below is in both places already so nothing to move.
    Here is the reply.
    We believe we have found the solution to the package load failure errors in ODT 11g.
    Assuming that you received no errors or warnings during the installation, try the following:
    After installing ODAC 11g on a machine with Visual Studio 2005 and/or Visual Studio 2008:
    1) Close Visual Studio
    2) Copy over the MSVCR71.dll from%ORACLE_HOME%\oui\lib\win32 to %ORACLE_HOME%
    ..where %ORACLE_HOME% would be the directory where you installed ODAC 11g, for example C:\app\user1\product\11.1.0\client_1
    3) Restart Visual Studio, and attempt to use ODT.
    Please let me know if this fixes your problem!Thanks

    Hi the solution you posted is for "Package Load Failure" errors with Visual Studio. It doesn't sound like you are receiving that error, so that solution does not apply to you.
    Some suggestions:
    1) Repost this to ODP.NET forum. They likely have seen this before.
    2) Make sure when you are doing the install of ODAC that you are not getting any warnings or errors. If you are, make sure not to proceed, and instead resolve those install errors first.

  • Could not load file or assembly Oracle.DataAccess

    Hi, I have a web project in Visual Studio 2008 for .NET Framework 3.5 using ODP.NET. The app has been working under a 32bit machine with the 10.2 client for a few years. We are moving to new servers which are 64bit and require the 11.2 client. I am trying to get the project built and running on my laptop but it fails at the build. I have a 64bit laptop (Windows 7) and have installed the Oracle 11.2 64 bit client. I have confirmed in the c:\windows\assembly that the Oracle.DataAccess.dll says it is AMD64. However, when I try to build my project it says:
    Could not load file or assembly 'Oracle.DataAccess, Version=2.112.1.0, Culture=neutral, PublicKeyToken=89b473f429c47342' or one of its dependencies. An attempt was made to load a program with an incorrect format
    From the many posts I have read this happens when you are mixing 64bit and 32bit but from everything I see, all my stuff is 64bit and it should be ok. I can say I have uninstalled and reinstalled the client a few times but I think it's ok as I can connect to the database through sqlplus ok.
    Any ideas?
    Edited by: user6726317 on Aug 20, 2012 5:27 PM

    As has been mentioned, this problem is caused by conflicting 64/32 bit issues where you try to load the wrong type of assembly.
    In this case, since the project already was 32 bit I'd recommend you simply install the 32 bit version of ODP.net. This installs alongside the 64 bit one, and will let you run the application in 32 bit mode (which it was designed for). Make sure to change the build settings to x86 in Visual Studio.
    edit - For a web project, it'll either debug inside IIS or the Visual Studio development server, depending on how you have it configured in Visual Studio. I believe the development server is 32 bit like VS itself. IIS is 64, but an application pool can be configured to enable 32 bit applications. Either way, I wouldn't try changing the application from 32 bit to 64 bit without a good reason. Just run it as 32 bit with the 32 bit version of ODP.net 11.2.
    Edited by: Tridus on Aug 24, 2012 9:41 AM

  • Could not load file or assembly 'Oracle.DataAccess, Version=2.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified.

    Hi All,
    While trying to access oracle database from SharePoint facing "Could not load file or assembly 'Oracle.DataAccess, Version=2.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. The system cannot find the file specified."
    How to fix this issue?  Thanks in advance!

    Hi,
    According to your post, my understanding is that you get error while access oracle database in SharePoint.
    You can set “Enable 32-bit Applications” to true in the application pool for the web application, then check whether it works.
    For more information:
    https://www.learningpenguin.net/myblog/2014/02/03/could-not-load-file-or-assembly-oracle-dataaccess-or-one-of-its-dependencies-an-attempt-was-made-to-load-a-program-with-an-incorrect-format/
    Thanks & Regards,
    Jason
    Jason Guo
    TechNet Community Support

  • Could not load file or assembly 'Oracle.DataAccess, Version=2.111.6.20

    I have visual Studio 2008 and ODAC installed on Winows 7, my VS2008 application retrieves data from Oracle Db 10g xe. I get this error report wih every attempt to connect and interact wih the database:
    "Could not load file or assembly 'Oracle.DataAccess, Version=2.111.6.20,
    Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies.
    The system cannot find the file specified."
    What could be the issue? The same code that worked on Vista is the one returning this error report.

    I wonder if you could try the following command:
    gacutil.exe /l Oracle.DataAccess
    This should display the version number of the current assembly that it is GACed. In case that does not correspond to the version 2.111.6.20 then try:
    gacutil.exe /u Oracle.DataAccess
    and then find the path to the Oracle.DataAccess.dll assembly and issue the following command:
    gacutil.exe /i {path}/Oracle.DataAccess.dll
    The first command will display the version of the newly GACed assembly. If it still not what you are looking for please pass along the version that it is displayed.
    In case the version will match 2.111.6.20, then retry to use VS2008 to connect to your Oracle DB.

  • Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20

    I have a C# windows application that started to give me the error when I try to run it:
    Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20.
    I was adding and removing references and re-build when this started. The builds are successful Is there anything I can do to correct it? Other apps that I uses ODT are fine. The full error is below.
    Thanks,
    Kim
    System.IO.FileLoadException was unhandled
    Message="Could not load file or assembly 'Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0x80131417)"
    Source="perdiem_snapshot"
    FileName="Oracle.DataAccess, Version=2.102.2.20, Culture=neutral, PublicKeyToken=89b483f429c47342"
    StackTrace:
    at perdiem_snapshot.frmDataGrid..ctor()
    at perdiem_snapshot.Program.Main()
    at System.AppDomain.nExecuteAssembly(Assembly assembly, String[] args)
    at System.Runtime.Hosting.ManifestRunner.Run(Boolean checkAptModel)
    at System.Runtime.Hosting.ManifestRunner.ExecuteAsAssembly()
    at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext, String[] activationCustomData)
    at System.Runtime.Hosting.ApplicationActivator.CreateInstance(ActivationContext activationContext)
    at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssemblyDebugInZone()
    at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
    at System.Threading.ExecutionContext.runTryCode(Object userData)
    at System.Runtime.CompilerServices.RuntimeHelpers.ExecuteCodeWithGuaranteedCleanup(TryCode code, CleanupCode backoutCode, Object userData)
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Threading.ThreadHelper.ThreadStart()

    Hi There,
    Were you able to resolve the issue. I am getting the same kind of error , when i am trying to deploy the application on a handheld device (symbol Mc9000g).
    Do let me know if you were able to resolve it.
    I am getting below message.
    Could not load type 'Oracle.DataAccess.Client.OracleConnection' from assembly 'Oracle.DataAccess, Version=10.1.0.400, Culture=neutral, PublicKeyToken=89B483F429C47342'.
    Kiran
    Message was edited by:
    Kpatel

  • Could not load file or assembly 'Oracle.DataAccess, Version=4.112.4.0

    Hello Everyone,
    I am simply trying to insert into an oracle database table. When I try to run the insert from my visual studio program after a button is clicked the program stops and I get "Could not load file or assembly 'Oracle.DataAccess, Version=4.112.4.0" error.
    Why is this? I have added the reference and put "using Oracle.DataAccess;" in the file. The code is below. Any suggestions?
    OracleConnection Con = new OracleConnection(ConfigurationManager.ConnectionStrings["ConnectionString1"].ToString());
    OracleCommand sqlCmd = new OracleCommand();
    //OracleDataReader dr;
    sqlCmd.Connection = Con;
    Con.Open();
    sqlCmd.CommandText = "INSERT INTO FGID values (0, 0, 0, ' ', sysdate)";
    sqlCmd.ExecuteNonQuery();
    sqlCmd.Clone();
    MessageBox.Show("Record Inserted!");
    M.N.

    Hi Boa_nerges,
    >>Could not load file or assembly 'Oracle.DataAccess, Version=4.112.4.0" error.
    Whether all projects have the same issue?
    Please make sure that it is not the platform target issue in your project property. Or the setup version issue.
    Reference:
    https://social.msdn.microsoft.com/Forums/en-US/9827bb73-a58b-415d-ad93-8e08f3a1258b/need-urgent-help-could-not-load-file-or-assembly-39oracledataaccess-version411220?forum=csharpgeneral
    http://forums.asp.net/t/1661229.aspx?How+to+change+assembely+reference+to+Oracle+DataAccess+in+prod+
    In addition, if still no help, since the oracle is the third party tool, I suggest you post this issue to the Oracle forum:
    https://community.oracle.com/community/database
    Best Regards,
    Jack
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Could not load file or assembly Oracle.DataAccess, Version=4.112.2.0

    Hi There..
    I'm running the follows:
    1. OS : XP SP3
    2. VS 2010
    3. ODP Net 11.2.0.2.0
    When I set the ASP NET target framework to .NET 4 all running normally. However, if the set target to .NET 2 appears error "Could not load file or assembly Oracle.DataAccess, Version=4.112.2.0".
    What could be the problem ?
    Thanks,
    Iqbal

    Just figure it out..
    use assembly binding when targetted framework is 2.0
    <runtime>
              <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
                   <dependentAssembly>
                        <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342"/>
                        <bindingRedirect oldVersion="4.112.2.0" newVersion="2.112.2.0"/>
                   </dependentAssembly>
              </assemblyBinding>
         </runtime>
    .. and all running back normally :D

Maybe you are looking for

  • Adobe Creative Cloud - How Do You Login/Sign Out of an account

    Im trying to sign out of my old account because I deleted it a few month back. The Creative Cloud Program tells me to verify my email [ which is no longer active]. The two options are Resend email or Continue and Check again. I've tried deleting Adob

  • Company code creation for a BP using Role FLVN00

    Hi, I am trying to create a BP in a company code as part of Customer Vendor Integration. But when i create a BP using role FLVN00 , and select company code tab, enter company code details and save, company code details are cleared out. do we have to

  • Some of my apps are with wrong language.

    Some of my apps are with wrong language. Spotify is on holland and sleep cycle are on Chinese? Is there a way to change this ? My region is set right (Norwegian)

  • T420 - Triple Monitors/Enable Optimus?

    I have a T420, and am trying to run 3 monitors (2 external + the laptop display).  I am have hooked up one monitor to the VGA and another to the display port on my docking station, and am able to run 2 monitors in any combination.  However it won't l

  • Problem with sqlplus when called from forms

    Dear friends, I have the following problem, we are using forms 10g and database 10g,we are using client_host command to call sqlplus from form and the query which is being run by sqlplus is supposed to take an input from the client and return results