Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
339 views
in Technique[技术] by (71.8m points)

oracle - error when trying to create Image Object (ORA-06512: at "ORDSYS.SI_STILLIMAGE", line 14)

In Oracle Database 19c, I can't create ORDSYS.SI_StillImage() (tried on many images loaded with previous database version). Same code works in Oracle 12c.

I tried this on 2 separate instalations of Oracle 19c with the same error.

Here is test example:

Oracle 19c

u@db19> SELECT BANNER_FULL FROM v$version;

BANNER_FULL
----------------------------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.8.0.0.0


u@db19> DECLARE
  2    l_raw raw(32767);
  3    l_stillImage  ORDSYS.SI_StillImage;
  4  BEGIN
  5    l_raw := 'FFD8FFE000104A46494600010101004800480000FFDB00430006040506050406060506070706080A100A0A09090A140E0F0C1017141818171416161A1D251F1A1B231C1616202C20232627292A29191F2D302D283025282928FFDB0043010707070A080A130A0A13281A161A2828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828FFC00011080014001403012200021101031101FFC4001800010101010100000000000000000000000007080305FFC4002C10000103030203060700000000000000000102030400051112130607311421224151B1153233617191F0FFC400160101010100000000000000000000000000040305FFC4001C1100030100020300000000000000000000000102031113313261FFDA000C03010002110311003F00AEF34EE721FB83764624BF1D9D80FBDB0A29539A8A825248EFD3E139F5A8DE8BBF062FE2D63B83E24B4ADD533A8ED3C9CF890A4F4208F3EA3A8AAD73BEDA8DB8971712F14287673B2AD2750CA939FB7CD52792B8EF34E3AA43A429AD214A57418C778F5A054D7655335F251582492FA6A6B6CB6E7DBA2CC67E948692F23F0A008F7A578BC0778B5DDB85E12EC8F39221C7426285A995B67520049185007BBF54A7992FC9C799E80BE02BC838076320E904A4E4608C82323D6A1DCB1B5B3C5B7B306ECB77B33414AD2C908D783E671ED8A52A37EC84E0DACEB8348DBA0C6B6C2661C1650C46693A50DA06001FDE74A52AC14FFFD9';
  6    l_stillImage := NEW SI_StillImage(to_blob(l_raw));
  7    --
  8    dbms_output.put_line('height: '||l_stillImage.height_SI);
  9    dbms_output.put_line('width: '||l_stillImage.width_SI);
 10    dbms_output.put_line('format: '||l_stillImage.format_SI);
 11    dbms_output.put_line('mime: '||l_stillImage.mimeType_ora);
 12  END;
 13  /
DECLARE
*
ERROR at line 1:
ORA-06510: PL/SQL: unhandled user-defined exception
ORA-06512: at "ORDSYS.SI_STILLIMAGE", line 14
ORA-06512: at line 6

Oracle 12c


su@db12> SELECT * FROM v$version;

BANNER                                                                                    CON_ID
-------------------------------------------------------------------------------- ---------------
Oracle Database 12c Enterprise Edition Release 12.1.0.2.0 - 64bit Production                   0
PL/SQL Release 12.1.0.2.0 - Production                                                         0
CORE    12.1.0.2.0      Production                                                                     0
TNS for Linux: Version 12.1.0.2.0 - Production                                                 0
NLSRTL Version 12.1.0.2.0 - Production                                                         0

su@db12> DECLARE
  2    l_raw raw(32767);
  3    l_stillImage  ORDSYS.SI_StillImage;
  4  BEGIN
  5    l_raw := 'FFD8FFE000104A46494600010101004800480000FFDB00430006040506050406060506070706080A100A0A09090A140E0F0C1017141818171416161A1D251F1A1B231C1616202C20232627292A29191F2D302D283025282928FFDB0043010707070A080A130A0A13281A161A2828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828282828FFC00011080014001403012200021101031101FFC4001800010101010100000000000000000000000007080305FFC4002C10000103030203060700000000000000000102030400051112130607311421224151B1153233617191F0FFC400160101010100000000000000000000000000040305FFC4001C1100030100020300000000000000000000000102031113313261FFDA000C03010002110311003F00AEF34EE721FB83764624BF1D9D80FBDB0A29539A8A825248EFD3E139F5A8DE8BBF062FE2D63B83E24B4ADD533A8ED3C9CF890A4F4208F3EA3A8AAD73BEDA8DB8971712F14287673B2AD2750CA939FB7CD52792B8EF34E3AA43A429AD214A57418C778F5A054D7655335F251582492FA6A6B6CB6E7DBA2CC67E948692F23F0A008F7A578BC0778B5DDB85E12EC8F39221C7426285A995B67520049185007BBF54A7992FC9C799E80BE02BC838076320E904A4E4608C82323D6A1DCB1B5B3C5B7B306ECB77B33414AD2C908D783E671ED8A52A37EC84E0DACEB8348DBA0C6B6C2661C1650C46693A50DA06001FDE74A52AC14FFFD9';
  6    l_stillImage := NEW SI_StillImage(to_blob(l_raw));
  7    --
  8    dbms_output.put_line('height: '||l_stillImage.height_SI);
  9    dbms_output.put_line('width: '||l_stillImage.width_SI);
 10    dbms_output.put_line('format: '||l_stillImage.format_SI);
 11    dbms_output.put_line('mime: '||l_stillImage.mimeType_ora);
 12  END;
 13  /
height: 20
width: 20
format: JFIF
mime: image/jpeg

PL/SQL procedure successfully completed.

question from:https://stackoverflow.com/questions/65885413/error-when-trying-to-create-image-object-ora-06512-at-ordsys-si-stillimage

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The ORDSYS package is part of 'Oracle Multimedia' and one of the changes in 19c is that the Oracle Multimedia is no longer functional (see https://docs.oracle.com/en/database/oracle/oracle-database/19/upgrd/behavior-changes-deprecated-desupport-oracle-database.html#GUID-BABC1C60-EA07-4EBE-8C67-B69B59E4F742)

So as per the advice on the above link (and copied locally below) you will need to move your images to a LOB (CLOB, BLOB, SecureFile LOB) and use another method for processing them.

Below is a quote from the page above

Oracle Multimedia will be removed in Oracle Database 19c When you upgrade or migrate your database to Oracle 19c, then Oracle Multimedia APIs will be still exist but won’t function anymore.

Desupport of Oracle Multemedia

Oracle Multimedia is desupported in Oracle Database 19c, and the implementation is removed.

As an alternative for image processing and conversion, Oracle recommends that you store multimedia content in SecureFiles LOBs, and use third party products, such as Piction. The ORDIM component remains in the registry and still has a VALID status. Oracle Multimedia objects and packages remain in the database. However, these objects and packages no longer function, and raise exceptions if there is an attempt made to use them. Oracle Locator is not affected by the desupport of Oracle Multimedia.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...