Encryption of Procedure & Package Information

Dear All,
I have developed a application, for this i have used several packages and procedures. i don't want my client to view the procedure / package coding information. Even i am interested to hide the tables Information too. Is it possible by oracle. If So what I have to do?
Please Advice me to solve this problem.
Thanks
Radhakrishnan

Hi \,
Oracle has a wrapper that encrypt the code look in the oracle_home\bin for wrap and use it. it takes a finename.sql and creates a encryptfinename.plb
Best,
EA

Similar Messages

  • Encrypt / Decrypt Procedure in PL/SQL

    Hi,
    Is using WRAP the only way to Encrypt Stored Procedure Code in PL/SQL? The requirement is that for a Product Implementation, the client would be provided with code base and application owners do not wish to reveal the business logic embedded in the Stored Procedures & Packages.
    -Chinmay

    Thanks - will proceed with using WRAP then.
    By the way - I found a nice writeup on WRAP Utility - http://www.databasejournal.com/features/oracle/article.php/3382331
    ~Chinmay

  • Missing package information on MyBT accounts

    Missing package information on MyBT accounts
    and after lots of phone call no one can fix it.
    which department do i need to talk to.
    and can i have a name of some one it that department so I can look them up in the Directory if not a name a EIN will do.

    I have asked a moderator to provide assistance, they will post an invite on this thread.
    They are the only BT employees on this forum, and are a UK based team of people, who take personal ownership of your problem.
    Once you get a reply, make sure that you are logged into the forum, then click on their name, you will see a screen like this. Click on the link as shown below.
    Please do not send them a personal message, as they may not be on duty for a long time, and your message will not be tracked properly.
    For your own security, do not post any personal details, on this forum. That includes any tracking number you are give.
    They will respond either by phone or e-mail within 5-6 working days.
    Please use the tracked e-mail, to reply, not via the forum. Thanks
    This is the form you should see when you click on the link. If you do not see this form, then you have selected the wrong link.
    When you submit the form, you will receive an enquiry number, so please keep a note of it
    There are some useful help pages here, for BT Broadband customers only, on my personal website.
    BT Broadband customers - help with broadband, WiFi, networking, e-mail and phones.

  • How to find length of string after encryption using DBMS_CRYPTO package

    Hi,
    I am planning do data encryption using DBMS_CRYPTO package. I want to find how much will be string length after encryption.
    e.g When I try to encrypt string of length between 1-15 characters it gives me encrypted string of 32 characters. When I try with 16 charcters encrypted string is of 64 characters.
    Is ther any formula to calculate length of encrypted string?
    Thanks
    Pravin

    The length change is dependent upon the algorithm you are using which can be a combination of cipher block, padding, and chaining.
    The best solution is determine the method you are going to use and apply it to the l ongest possible strings you are going to proces, then add some safety margin. There iis no penalty for defining your column as VARCHAR2(4000).

  • Help Required :Excel Upload Into Oracle Table Using PLSQL Procedure/Package

    Please Help , Urgent Help Needed.
    Requirement is to Upload Excel file Into Oracle Table Using PLSQL Procedure/Package.
    Case's are :
    1. Excel File is On Users/ Client PC.
    2. Application is on Remote Server(Oracle Forms D2k).
    3. User Is Using Application Using Terminal Server LogIn.
    4. So If User Will Use to GET_FILE_NAME() function of D2K to Get Excel File , D2k Will Try to pick File from That Remote Server(Bcs User Logind from Terminal Server Option).
    5. Cannot Use Util_File Package Or Oracle Directory to Place That File on Server.
    6. we are Using Oracle 8.7
    So Need Some PL/SQL Package or Fuction/ Procedure to Upload Excel file on User's Pc to Oracle Table.
    Please Guide me wd some Code. or with Some Pl/SQL Package, or With SOme Hint. Or any Link ....
    Jus help to Sort This Issue ........
    you can also write me on :
    [email protected], [email protected]

    I also Tried to Use This
    But How can i Use SQLLDR Command In Stored Procedure.
    Well IN SQL*PlUS it is successfull but in Stored Procedure /Package ,PL/SQL does not recognise the OS commands.
    So now my Question How can I recognise the SQLLDR Commnad in Stored Procedure.

  • Is there any field on waste packaging information in MM03

    Please help me in finding any field on waste packaging information in MM03. If it is there please let me know in which view we can find it, if not let me know where else i can find information on Waste packaging.

    Hi Vinod,
    If i got you right,  you need the information on Packing material in material master, if this is the case then go to
    Material Master - Basic data1- Packaging Material Data here you get to see
    1) )Material group packing material -  here grouping of materials which require same kind of packing is done.
    2)  Reference material for material packing - here material number is given which is to be packed with the similar packing and there should be a material master record for the reference material.
    3) Product composition - if you check ithis tab then composition gets  printed on packing      
    For example - say you have two material X(glass bottles) and y( glass jars) since these two are one of a kind they require same kind of packing.
    hope this will help you
    Thanks
    Abdul

  • Decrypt the encrypted store procedure through the T-SQL programming in SQL Server 2005

    HI ,
    I have a encrypted store procedure in my production server .Right now I do not have the script now I want do some modification.
    Please any one can help me to decrypt the store procedure it will be a great help for me.
    For any suggestion thanks
     in advance.
    " Education is the beginning of transformation. Dedicate yourself to daily learning via Blogs/Forums/books and coaching "
    Click here to read my blog

    I have modified Jon's post so it also supports functions correctly, jon's version gave a syntax error on functions because the dummy func sql was invalid
    1. Connect using "admin:server\instance"  instead of "server\instance" (enable dac if you havent already, its an sp_reconfigure command)
    2. create the below proc
    3. exec SqlDecryptor 'dbo', 'function_or_stored_proc_name'
    ALTER -- CREATE
    proc SqlDecryptor (@objschemaname nvarchar(255), @objname nvarchar(255))
    AS
    DECLARE @objid INT,@objtype NVARCHAR(50),@objtypicalstm NVARCHAR(4000),@objencrypted BIT
    SELECT TOP 1 @objid=o,@objname = n,@objtype = t,@objtypicalstm=s,@objencrypted = (SELECT ([encrypted]) FROM syscomments WHERE [id] = x.o and colid = 1)
    FROM
    SELECT object_id o, name n,
    CASE WHEN [type] = 'P' THEN N'PROCEDURE'
    WHEN [type] = 'V' THEN 'VIEW'
    WHEN [type] IN ('FN','TF','IF') THEN N'FUNCTION'
    ELSE [type]
    END t,
    CASE WHEN [type] = 'P' THEN N'WITH ENCRYPTION AS'
    WHEN [type] = 'V' THEN N'WITH ENCRYPTION AS SELECT 123 ABC'
    WHEN [type] IN ('FN','TF','IF') THEN N' () RETURNS INT WITH ENCRYPTION AS BEGIN RETURN 1 END'
    ELSE [type]
    END s
    FROM sys.all_objects WHERE [type] NOT IN ('S','U','PK','F','D','SQ','IT','X','PC','FS','AF')
    AND name = @objname AND (SCHEMA_NAME([schema_id]) = COALESCE(@objschemaname,'dbo'))
    --UNION ALL SELECT object_id,name,'TRIGGER',N'ON ALL SERVER WITH ENCRYPTION FOR DDL_LOGIN_EVENTS AS SELECT 1' FROM sys.server_triggers WHERE name = @objname
    --UNION ALL SELECT object_id,name,'TRIGGER',N'ON DATABASE WITH ENCRYPTION FOR CREATE_TABLE AS SELECT 1' FROM sys.triggers WHERE name = @objname
    ) x
    --SELECT @objid,@objname,@objtype,@objtypicalstm,@objencrypted
    SET NOCOUNT ON
    IF @objencrypted <> 0
    BEGIN
    IF EXISTS
    SELECT * FROM sys.dm_exec_connections ec JOIN sys.endpoints e
    on (ec.[endpoint_id]=e.[endpoint_id])
    WHERE e.[name]='Dedicated Admin Connection'
    AND ec.[session_id] = @@SPID
    BEGIN
    DECLARE @ChunkNumber INT,@ChunkPiece NVARCHAR(MAX),@CompareChunksAtPosition INT,@DummyChunk NVARCHAR(MAX),@DummyObject VARBINARY(MAX),@EncryptedChunk NVARCHAR(MAX),@EncryptedObject VARBINARY(MAX),@p INT,@p1 NVARCHAR(MAX),@p2 NVARCHAR(MAX),@QueryForDummyObject NVARCHAR(MAX),@ReplacementText NVARCHAR(4000)
    SELECT @EncryptedObject = [imageval] FROM [sys].[sysobjvalues] WHERE [objid] = @objid AND [valclass] = 1
    BEGIN TRANSACTION
    SET @p = 1
    SET @p1= N'ALTER'+SPACE(1)+@objtype+SPACE(1)+ISNULL((@objschemaname+'.'),'')+@objname +SPACE(1)+@objtypicalstm;
    SET @p1=@p1+REPLICATE('-',4000-LEN(@p1))
    SET @p2 = REPLICATE('-',8000)
    SET @QueryForDummyObject = N'EXEC(@p1'
    WHILE @p <=CEILING(DATALENGTH(@EncryptedObject) / 8000.0)
    BEGIN
    SET @QueryForDummyObject=@QueryForDummyObject+N'+@f'
    SET @p =@p +1
    END
    SET @QueryForDummyObject=@QueryForDummyObject+')'
    EXEC sp_executesql @QueryForDummyObject,N'@p1 NVARCHAR(4000),@f VARCHAR(8000)',@p1=@p1,@f=@p2
    SET @DummyObject=(SELECT [imageval] FROM [sys].[sysobjvalues] WHERE [objid] = @objid and [valclass] = 1)
    ROLLBACK TRANSACTION
    SET @ChunkNumber=1
    WHILE @ChunkNumber<=CEILING(DATALENGTH(@EncryptedObject) / 8000.0)
    BEGIN
    SELECT @EncryptedChunk = SUBSTRING(@EncryptedObject, (@ChunkNumber - 1) * 8000 + 1, 8000)
    SELECT @DummyChunk = SUBSTRING(@DummyObject, (@ChunkNumber - 1) * 8000 + 1, 8000)
    IF @ChunkNumber=1
    BEGIN
    SET @ReplacementText=N'CREATE'+SPACE(1)+@objtype+SPACE(1)+ISNULL((@objschemaname+'.'),'')+@objname +SPACE(1)+@objtypicalstm+REPLICATE('-',4000)
    END
    ELSE
    BEGIN
    SET @ReplacementText=REPLICATE('-', 4000)
    END
    SET @ChunkPiece = REPLICATE(N'A', (DATALENGTH(@EncryptedChunk) / 2))
    SET @CompareChunksAtPosition=1
    WHILE @CompareChunksAtPosition<=DATALENGTH(@EncryptedChunk)/2
    BEGIN
    SET @ChunkPiece = STUFF(@ChunkPiece, @CompareChunksAtPosition, 1, NCHAR(UNICODE(SUBSTRING(@EncryptedChunk, @CompareChunksAtPosition, 1)) ^ (UNICODE(SUBSTRING(@ReplacementText, @CompareChunksAtPosition, 1)) ^ UNICODE(SUBSTRING(@DummyChunk, @CompareChunksAtPosition, 1)))))
    SET @CompareChunksAtPosition=@CompareChunksAtPosition+1
    END
    PRINT @ChunkPiece
    SET @ChunkNumber=@ChunkNumber+1
    END
    END
    ELSE
    BEGIN
    PRINT 'Use a DAC Connection'
    END
    END
    ELSE
    BEGIN
    PRINT 'Object not encrypted or not found'
    END
    SET QUOTED_IDENTIFIER OFF
    GO

  • Can i compile new procedures/packages on my snapshot standby?

    Hi
    can i compile new procedures/packages on my snapshot standby?
    I need to test the new release of the application, which include some changes to current packages
    thanks

    yes you can do it, just that it will be flashbed back to the restore point when it was standby first, do anything on it, but be aware that later you convert from snapshot standby to physical standby, more time it would take for redo to be applied and also it is mandatory to open the snapshot at least once in read-write mode before it can be converted into a physical standby database.
    Regards
    Karan

  • Creating Sap Crystal Report Through Oracle Stored Procedure Packages

    Hi,   
    1.How we can create crystal report through oracle stored
    procedure packages pls tell me the steps through adding command then
    tell me the syntax what should i write in command to call the stored
    procedure packages or if have some other option then also tell. 
    2.can
    we link stored procedure column to other table column that used in
    report.

    Hi Ganesh,
    As this error comes when you are trying to insert non-numeric value into a numeric column in db it seems that your field might be numeric and you are trying to send it as a string in database.
    Please check your Store Proc carefully..
    Reference Thread: Oracle/PLSQL: ORA-01722
    --Dhana

  • How is the 'import-packages' information saved in the database, and how long?

    Hello,
    I am  developping a ECM Connector for Adobe LiveCycle ES, which is a customized component.
    1 - Who should I contact to have some specific support  ?
    There is no detailed information yet on this on the adobe site  (http://livedocs.adobe.com/livecycle/8.2/programLC/programmer/help/wwhelp/wwhimpl/js/html/w whelp.htm?href=000931.html&accessible=true) .
    If you  think that I should address my problem to another department of Adobe, please  tell me which department?
    I give you another description of my problem. In fact, I have  been investigating on it.
    2 - If I  put this in my component.xml file, in step  1:
    <component-id>com.rsd.adobe.livecycle.RSDFoldersConnector</component-id>
    <version>1.0</version>
    <import-packages><package  version="1.0">com.rsd.simpleApiFolders</package>  </import-packages>
    If I change the  version to 1.1 and remove the  'import-packages' (in step 2) , will the new component need the  com.rsd.simpleApiFolders package. It seems that is still needs it.
    3 - How is the  'import-packages' information saved in the  database, and how  long?
    In  fact, on thursday, I used 'import-packages'  to make a test. And since them, I  can not deploy any of my components.
    LiveCycle throws a  ClassNotFoundException.
    ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException:  Internal error.
    [java] at  com.adobe.idp.dsc.registry.component.impl.ComponentRegistryImpl$6.doInTransaction(Compone ntRegistryImpl.java:338)
    ... Caused  by: java.lang.ClassNotFoundException: http-0.0.0.0-8080-1Class name  com.rsd.simpleApiFolders.Context from package com.rsd.simpleApiFolders not found.
    [java] at  com.adobe.idp.dsc.DSContainerSearchPolicy.searchClassUsingParentFirst(DSContainerSearchPo licy.java:234)
    Thank you in advance
    Regards.

    1 - Who should I contact to have some specific support  ?
    That would depend on your Adobe support contract and if your organization has a TAM assigned.  You should check with your organization's Adobe contact and see what support options your organization has purchased.
    Having said that, this forum has a few people that may be able to help (but the forum does not have a SLA associated with it)
    2 - If I  put this in my component.xml file, in step  1:
    <component-id>com.rsd.adobe.livecycle.RSDFoldersConnector</component-id>
    <version>1.0</version>
    <import-packages><package  version="1.0">com.rsd.simpleApiFolders</package>  </import-packages>
    If I change the  version to 1.1 and remove the  'import-packages' (in step 2) , will the new component need the  com.rsd.simpleApiFolders package. It seems that is still needs it.If your component class needs the simpleApiFolders class then yes, you still need it.  Think of import-packages like a class-path statement (but with packages and not jars).  Its not physically moving the package into your application, but allowing you to access it from another container.
    3 - How is the  'import-packages' information saved in the  database, and how  long?
    As far as I know they are not imported into the database. As I stated above, I believe that the import-packages just allows you to point to classes that are in the app server's classpath, but are not physically in you component jar file.  As long as that class is in the app server class-path (or in the Adobe EAR file) then you should be able to access it.  Is the jar file containing the simpleApiFolders class in the app server's lib directory?

  • Rest based webservices from plsql procedures/packages

    Guyz.
    Please let me know How to create Rest based webservices in jdeveloper tool from plsql procedures/packages.
    Im very much in need
    Thanks,

    Hi User ,
    Welcome to OTN !!
    You can refer to these links and figure out -
    http://docs.oracle.com/cd/E16162_01/user.1112/e17455/dev_web_services.htm#CHDJIFAE
    http://theblasfrompas.blogspot.com/2011/03/developing-restful-web-services-from.html
    Also for calling pl/sql packages from Java , use soemthing like this - http://www.coderanch.com/t/302171/JDBC/databases/execute-PL-SQL-program-Java

  • Compiling Procedures/Packages/Functions

    I'm fairly new to the arena of compiling Procedures/Packages/Funcitons but I was given the task of updating a development DB with a lot of newly created/updated Objects. I have created a shell script to go through all the new files and create or replace all the new objects in sqlplus. My question is how to compile all the newly created objects and their dependencies correctly? I have been using SQL Developer to verify that everything has compiled but I see that some are marked invalid which I assume is because a dependency was compiled after it. What would be my best way to making sure everything is valid? I hope this makes sense but any help would be appreciated.

    You can use a script like this to build your own sql statement to compile the invalid objects. You can add your own statement for other object types at the end with a union, ie TYPE body.
    You will probably need to run it repeated until all objects are VALID. You can put it in a PL/SQL block with a loop and execute immediate so reduce the manual work.
    --PACKAGE
    select 'alter package ' || object_name || ' compile;' from user_objects
    WHERE Status = 'INVALID'
    and object_type= 'PACKAGE'
    union
    -- PACKAGE BODY
    select 'alter package ' || object_name || ' compile body;' from user_objects
    WHERE Status = 'INVALID'
    and object_type= 'PACKAGE BODY'
    union
    --PROCEDURE
    select 'alter procedure ' || object_name || ' compile;' from user_objects
    WHERE Status = 'INVALID'
    and object_type= 'PROCEDURE'
    union
    --FUNCTION
    select 'alter function ' || object_name || ' compile;' from user_objects
    WHERE Status = 'INVALID'
    and object_type= 'FUNCTION'
    union
    --TRIGGER
    select 'alter trigger ' || object_name || ' compile;' from user_objects
    WHERE Status = 'INVALID'
    and object_type= 'TRIGGER'
    union
    --VIEW
    select 'alter view ' || object_name || ' compile;' from user_objects
    WHERE Status = 'INVALID'
    and object_type= 'VIEW'

  • Can I encrypt my procedures

    Hi friends,
    I am a new user of oracle. Is there a feature in oracle which enables me to encrypt my procedure. If so how can I achieve that.
    Thanks in advance
    Thanks
    Glady

    Is there a feature in oracle which enables me to encrypt my procedure.Why?
    Unless you have code that contains secrets (such as a decryption key), or have code running on a foreign system and want some form of IP right protection, encrypting your PL/SQL code makes very little sense.
    There have been quite a few posters here over the years, literally crying as they have encrypted their PL/SQL code in the database and lost the original copy of the code they had on disk. With encrypted code, you no longer can use the database as the container for the master or backup copy of that code.

  • Encrypt stored procedure

    Hi,
    How I can ENcrypt stored procedure in oracle?
    Thanks.

    One caveat that the documentation doesn't emphasize nearly strongly enough IMHO is the fact that there is no way to unwrap wrapped code, so you have to make sure that everything is in external source control.
    Justin
    Distributed Database Consulting, Inc.
    http://www.ddbcinc.com/askDDBC

  • Procedure argument information

    Dear all,
    I have a problem of getting stored procedure parameter information, to be exact - I do get information of all fields apart of the Size. (size matters). I used several methods and in each time I get 0 size.
    (for example: for RAW(16) types)
    Here are the methods I've used:
    Oledb - GetSchemaTable OleDbSchemaGuid.Procedure_Parameters
    (don't return column size)
    OleDb - DeriveParameters (CommandBuilder). Again the same error.
    (I use OleDb for .net 1.1 with Oracle provider)
    I tried a direct query at sys.all_arguments, I set object_name and owner (uppercases of course) - got null at column size.
    Another method I've used is DBMS_DESCRIBE.DESCRIBE_PROCEDURE, I wrapped it to return a clob type which
    I parse then (separator between fields).
    The problem I had with DESCRIBE_PROCEDURE is the need to give read permission for sys
    for every stored procedure I want to get information.
    Stored procedures are defined in my DB
    CREATE OR REPLACE PROCEDURE UserSINS
    ( in_UserId in Users.UserId%type
    , in_Name in Users.NAME%type
    , in_EMAIL in Users.EMAIL%type
    , in_PASSWORD in Users.PASSWORD%type
    , in_TITLE in Users.TITLE%type
    , in_DESCRIPTION in Users.DESCRIPTION%type
    , in_PHONE in Users.PHONE%type
    , in_ALLOWLOGIN in Users.ALLOWLOGIN%type
    , in_LIBRARIAN in Users.LIBRARIAN%type
    , in_ADMINISTRATOR in Users.ADMINISTRATOR%type
    AS
    v_qnt pls_integer;
    BEGIN
    where Users% is the referenced table and the field that argument is referencing to.
    What can I do? Should I modify procedure header to have a type instead of a reference
    to type Varchar(40) instead of Users.PHONE%type ? (It seems much cleaner - this way:
    I change table schema, all referenced stored procedures automatically changed)
    Thanks!
    Amir

    Should I modify procedure header to have a type instead
    of a reference to type Varchar(40) You can't do this anyway - the syntax doesn't allow it - although it does permit a reference to type Varchar2, which may be sufficient.
    Unfortunately - and I think for people coming from OO background it is unfortunate - you need to look at the Oracle data dictionary and hardcode the column datatypes and sizes in your database mapping layer. The upside of this, if any, is that it will drive you towards removing as much duplication as possible from this layer.
    Cheers, APC

Maybe you are looking for