LINKED SERVER ISSUE on ORACLE DATABASE
Hi everyone
I have SQL 2008 R2 Running on Windows server 2003 R2 OS.
I have created a linked server to ORACLE 11
I have may jobs running process against this linked server and thy work fine
But soddenly I receive this error :
Cannot initialize the data source object of OLE DB provider "OraOLEDB.Oracle" for linked server "WMS". [SQLSTATE 42000] (Error 7303). The step failed
In this scenario the SQL SERVER AGENT Account is the Domain administrator.
When I restart the Server it begin to work fine again but from time to time I receive again the error mentioned above.
Have any one pass through this issue?
Is the network connection to Oracle box stable? Is it inside a firewall?
Please Mark This As Answer if it solved your issue
Please Vote This As Helpful if it helps to solve your issue
Visakh
My Wiki User Page
My MSDN Page
My Personal Blog
My Facebook Page
Similar Messages
-
Query using link server to an Oracle database failswhile similar query works
I have two queries almost the same that use a link to an Oracle database. One works ok, the other is a copy of the first with a few fields selects removed. The first one works fine, the copy fails with: Cannot get the data of the row from the OLE DB
provider "OraOLEDB.Oracle" for linked server "linkname".
They are so similar, why would one work but not the other?
First query, this one works:
SET
ANSI_NULLS ON
GO
SET
QUOTED_IDENTIFIER ON
GO
CREATE
PROCEDURE [dbo].[procedure_name]
-- Add the parameters for the stored procedure here
@Begindate Datetime,
@Enddate Datetime
AS
BEGIN
--SET NOCOUNT ON added to prevent extra result sets from
--interfering with SELECT statements.
SET NOCOUNT
ON;
-- Insert statements for procedure here
select p.patientid, p.testid,
mdx."Dx_4", td.acquisitiondatetime_dt, td.democompletedatetime_dt,
td.editdatetime_dt,
CAST(STUFF(STUFF(mn."Arrival_Time_9",
9, 0,
' '), 12, 0,
AS datetime)
as Arrival_date,
CAST(STUFF(STUFF(mt."Comp_D_T_22",
9, 0,
' '), 12, 0,
AS datetime)
as Order_date, td.confirmdatetime_dt
(CAST(DATEDIFF
(MINUTE,
CAST (STUFF
(STUFF
(MN."ARRIVAL_TIME_9", 9,0,
' '), 12, 0,
AS DATETIME), TD.DEMOCOMPLETEDATETIME_DT)
as char(10))
+ 'min')
AS "ARRIVAL TO COMPLETE",
(CAST(DATEDIFF
(MINUTE,
CAST (STUFF
(STUFF
(MT."COMP_D_T_22", 9,0,
' '), 12, 0,
AS DATETIME), TD.DEMOCOMPLETEDATETIME_DT)
as char(10))
+ 'min')
AS "ORDER TO COMPLETE"
from linknametosqldb.sqldbname.dbo.tstpatientdemographics
as p inner
join linknametosqldb.sqldbname dbo.tsttestdemographics
as td on p.testid
= td.testid
left
outer join linknametooracledb."M01Tab01_Main" mn
on td.visitnumber
= mn."Pt_Acct_5"
inner
JOIN linknametooracledb."M01Tab06_Ord" mt
ON mn."Master_Recid_1"
= mt."Master_Recid_1"
inner
join linknametooracledb."M01Tab09_Dx" mdx
on mn."Master_Recid_1"
= mdx."Master_Recid_1"
where td.location
in (2, 4)
and mt.order_4
like 'EKG%'
and mdx."Dx_4"
like '%Chest Pain%'
and
(td.acquisitiondatetime_dt
>= @Begindate and td.acquisitiondatetime_dt
< @Enddate)
order
by p.patientfullname_last, p.patientfullname_first
END
GO
Second query, copied from first with some fields selects removed, this does not work:
SET
ANSI_NULLS ON
GO
SET
QUOTED_IDENTIFIER ON
GO
CREATE
PROCEDURE [dbo].[procedure_name_2]
-- Add the parameters for the stored procedure here
@Begindate Datetime,
@Enddate Datetime
AS
BEGIN
--SET NOCOUNT ON added to prevent extra result sets from
--interfering with SELECT statements.
SET NOCOUNT
ON;
-- Insert statements for procedure here
select p.patientid, mdx."Dx_4",
td.democompletedatetime_dt,
CAST(STUFF(STUFF(mn."Arrival_Time_9",
9, 0,
' '), 12, 0,
AS datetime)
as EDIS_Arrival_date,
(CAST(DATEDIFF
(MINUTE,
CAST (STUFF
(STUFF
(MN."Arrival_Time_9", 9,0,
' '), 12, 0,
AS DATETIME), TD.DEMOCOMPLETEDATETIME_DT)
as char(10))
+ 'min')
AS "ARRIVAL TO COMPLETE"
from linknametosqldb.dbo.tstpatientdemographics
as p inner
join linknametosqldb.dbo.tsttestdemographics
as td on p.testid
= td.testid
left outer
join linknametooracledb."M01Tab01_Main" mn
on td.visitnumber
= mn."Pt_Acct_5"
inner
JOIN linknametooracledb."M01Tab06_Ord" mt
ON mn."Master_Recid_1"
= mt."Master_Recid_1"
inner
join linknametooracledb M01Tab09_Dx" mdx
on mn."Master_Recid_1"
= mdx."Master_Recid_1"
where td.location
in (2, 4)
and mt.order_4
like 'EKG%'
and mdx."Dx_4"
like '%Chest Pain%'
and
(td.acquisitiondatetime_dt
>= @Begindate and td.acquisitiondatetime_dt
< @Enddate)
order
by p.patientid
END
GO
Thanks very much for any help with this.* Consider putting parentheses around the 3 oracle tables so the 3 of them can possibly be treated as a unit. Assuming there's some performance impact due to the linked server, this MIGHT help, may do a little joining over on the Oracle side of
the world. In either case, it's a little cleaner. They syntax below, including a few extra line breaks for clarity, should be correct. (try the change to the ON clause suggested above too, though).
The parentheses will not help much. SQL Server will remote (as the term is) the query to the Oracle instance if this appears to have a lower cost and there is nothing the blocks remoting.
On the other hand, OPENQUERY can be an alternative to ensure that this happens:
left outer join
OPENQUERY (linknametooracledb,
'SELECT ...
FROM "M01Tab01_Main" mn
JOIN "M01Tab06_Ord" mt ON mn."Master_Recid_1" = mt."Master_Recid_1"
JOIN "M01Tab09_Dx" mdx on mn."Master_Recid_1" = mdx."Master_Recid_1"') mn on td.visitnumber = mn."Pt_Acct_5"
But this presumes that you there are no columns from the SQL Server side that are used to select data from the Oracle side. That is, the above could lead to far much data being brought across the wire.
Then again, this does not really seem to relate to the original problem where a stored procedure was not working at all. That problem is not very easy to assist with since code post is the not the authentic code as pointed out in the thread. For instance
inner JOIN linknametooracledb."M01Tab06_Ord"
Has nothing to do with Oracle, but accesses a table in the schema linknametooracledb.
I think to help dmcm, you need a really good crystal ball - at least as long he/she does not share the actual code.
Erland Sommarskog, SQL Server MVP, [email protected] -
Dear All,
We have Install:-
Windows server 2008, 64 bit.
MS SQL Server 2008.
Oracle 11g client, 64 bit.
odac 11g 64 bit.
We have oracle 10g on our live server that is alos on 2008, 64 bit.
Our requirment is to access oracle view from oracle 10g database to MS SQL server database. For that we have install all the above things.
But oracle is not visible while in the link server. To add link server we are following below steps,
In SQL server database Right click on link server, add link server but it does not show any oracle link.
We have install oracle client first and then ODAC.
are we missing any steps to add link server in SQL Database.
Thansks.I found couple of good link when I said "access oracle database from sql server 2008" to google like :
1.http://stackoverflow.com/questions/307636/how-do-you-setup-a-linked-server-to-an-oracle-database-on-sql-2000-2005
2.http://www.sqlmag.com/article/oracle/connecting-sql-server-and-oracle-using-linked-servers-102313
3.http://www.dotnetfunda.com/forums/thread3238-connection-between-oracle-server-and-sql-server-2008.aspx
Just try to follow and let us know, if they help you.
Regards
Girish Sharma -
Multibyte issue in Oracle Database Link
Hi Gurus,
Greetings!!!
I need to transfer data from Microsoft SQL Server 2005 to Oracle DAtabase 10g. I achieved it using Heterogeneous Connectivity. I can now issue queries but unfortunately i got an issue in displaying multibyte characters. I thought of using another Tool that can display multibyte data but it did not help. I even tried setting the initialization parameter HS_LANGUAGE to different characterset but still not able to display. Kindly help and advise how to resolve the said issue.
Many Thanks in Advance,
BenjieHi Kamkan,
My oracle database is configured to support multi language character.
PARAMETER VALUE
NLS_LANGUAGE AMERICAN
NLS_TERRITORY AMERICA
NLS_CURRENCY $
NLS_ISO_CURRENCY AMERICA
NLS_NUMERIC_CHARACTERS .,
NLS_CHARACTERSET AL32UTF8
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD-MON-RR
NLS_DATE_LANGUAGE AMERICAN
NLS_SORT BINARY
NLS_TIME_FORMAT HH.MI.SSXFF AM
NLS_TIMESTAMP_FORMAT DD-MON-RR HH.MI.SSXFF AM
NLS_TIME_TZ_FORMAT HH.MI.SSXFF AM TZR
NLS_TIMESTAMP_TZ_FORMAT DD-MON-RR HH.MI.SSXFF AM TZR
NLS_DUAL_CURRENCY $
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 10.2.0.1.0 -
Calling SQL Server Function from Oracle Database link
Hi ,
i have some data from a old SQL server i would i can access with a database link but i cant call function from my database link.
i would like to do something like
@SPAN_PROD = Database link
_EnerttObtApReelBassSys is a Table function from my SQL server
SELECT *
FROM "_EnerttObtApReelBassSys('20120504',4,1)"@SPAN_PROD
WHERE DateEffectiveDebut <= GetDate()
AND DateEffectiveFin > GetDate()
any help ?
Thnx951879 wrote:
I have a SP in SQL Server which will return a Result Set.
My requirement is to call that procedure in ORACLE using DB Link and insert that resultset(Data) in the temp table.First you need to setup Oracle to SQL Server connectivity. To do that you can either use HS - heterogeneous connectivity which comes for free or use Oracle Transparent Gateway which is not free. HS uses ODBC, so if your Oracle database in not on windows, you'll have to get ODBC SQL Server driver for Unix/Linux (e.g. from EasySoft). Since SQL Server selecting from table function syntax is different from Oracle's you will have to, if you use HS, to use DBMS_HS_PASSTHROUGH package. I never worked with Oracle Transparent Gateway to SQL Server, so I don't know if and how it supports selecting from SQL Server table function.
SY. -
Ms sql server linked server with OraOLEDB.Oracle provider session handling
Hi everyone!!
Here's my situation:
I have a MS SQL Server 2008 R2 with a linked server to Oracle via OraOLEDB.Oracle provider.
I use a .net application to open a connection to my sql-server, execute a select that collects data through the linked-server-connection from the oracle database and after that I close to connection to the sql.
It does work so far,
but when I start my application, exit it proberly and start it again it seems that i get the same session as before (which is for some reasons very bad).
Is that the right/normal behavior?
Is there any way to avoid that?!
How does the OraOLEDB.Oracle provider handle the sessions if used in/as a linked server?
thanks and greetings,
exoc
Edited by: 944414 on Jul 4, 2012 5:43 AMHii Rouann,
Does the error occur when you call the stored procedure from SSIS package and map SSIS variables to the parameters in the stored procedure? Can you run the store procedure from SSMS properly? If you can run the stored procedure from SSMS, the issue seems
to occur due to the date format mismatch between the SSIS variables and the parameters in the stored procedure.
If you cannot run the stored procedure from SSMS as well, the issue should occur due to the incorrect data conversion within the store procedure itself as Tom mentioned.
Regards,
Mike Yin
TechNet Community Support -
Hello. It's been a while since I've worked with Oracle, and in my latest project, we're having an issue with a linked server we believe. We can log into both databases separately, we've verified that linked servers to other dbs are working, but when trying to pull information from this one particular db (wx) while in another db (sx) we're getting a timeout error. we've noticed that the dbf's are quite full in (sx) in the System and User tablespaces - but we're able to pull data from other linked dbs on this db (sx). On the other db (wx), the most full tablespace is only at 80%? Both of these dbs (sx and wx) are on the same Oracle server, so there isn't a network connection error. does anyone have any ideas on what else to check? We're using version 9i...
Thanks!ORACLE_HOME is the database software install. Do you have one Oracle install on the server, or two ?
What OS are you on ?
To use "tnsping" you need to have $ORACLE_HOME and $PATH set. Then try to "tnsping xxxx" and see what the error is. If this fails, then check the hostname and port in the tnsnames.ora file, and compare it to the hostname and port in the listener.ora file. -
Install Oracle Application server 10g and Oracle database 10g on same box
Hi Experts!
i need to install Oracle database and oracle application server on the same machine(windows xp).
when i install both of them and reboot the machine either oracle database or oracle application server fails...
i suspect that the problem might be due to two - ORACLE_HOME
let me know how i can resolve this issue.
Note: Oracle DB and OAS OPMN process run as a windows service.
after restart opmn fails
Many thanks in advance
-RaghavJacco, in spite of your ace :-) this time I cannot
completely agree with you:
I hope sincerely that this ace thing doesn't "scare" anyone from challengeing me. I can't know everything, even though this ace sign suggests it.
- things like ORACLE_HOME are also set in the system
environment settings. This may lead to conflicts;It does, therefore you should set them with the service (I figured the installer of Oracle would actually do that for you, but I hardly ever work with Windows)
- the database and AS have different versions of the
RSFs. The most recent AS version is using 10.1.0.5
RSFs, where the database uses 10.2.x. This leads to
conflicts.
- Port conflicts are common in the ONS area, however
this should not prevent startup and should not be
very likely at this point since all products use the
same inventory and it should have been checked for
ports that are in use.ons port conflics shouldn't precent startup, but other port conflicts can.
>
With the total of our posts the problem should be
resolved anyway ;)Exactly, as long as the reader has the proper knowledge to understand them ;)
(this feels like a post just to make sure that you know I respect your opinions and advices) -
SQL Server Link Server issue.
Hi,
I have setup a linked sql in SQL Server 2000 to connect to an Oracle 9i database. When I try to select from a table through the link server I get the following error message.
Could not execute query against OLE DB provider 'OraOLEDB.Oracle'.
OLE DB error trace [OLE/DB Provider 'OraOLEDB.Oracle' ICommandText::Execute returned 0x80040155].
This is for a table without any nvarchar2 columns (I get a different error for tables containing those datatypes).
Any ideas?
Thanks
SanjayRalph,
1. Right-click on the linked server you created, select Properties from the popup menu.
2. In Linked Server Properties dialog box, click Options... button under Provider Name dropdown combo.
3. Check (or enable) "Allow InProcess" option.
4. Click Apply button.
5. Click Ok button.
Sinclair -
Move pictures in Jpg from a server to SAP (Oracle database) in BLOB
Hi SAP Friends,
We would like to know if this is possible.
We have pics in jpg/jpeg format in one server. We want to move these pics automatically once every hour to SAP Oracle database in BLOB format. The server has the capability to push these jpg files into BLOB format of Oracle database. We need to know if it is possible to send to SAP's Oracle database and store in BLOB format. If so, pl let us know how.
Pl let us know.
NiranjanYou are facing two things here:
a) Licensing issue
Check Note 581312 - Oracle database: licensing restrictions:
As of point 3, it follows that direct access to the Oracle database is only allowed for tools from the areas of system administration and monitoring. If other software is used, the following actions, among other things, are therefore forbidden at database level:
Creating database users
Create database objects
Querying/changing/creating data in the database
Using ODBC or other SAP external access methods
This depends on the contract and where you bought which licenses for Oracle.
b) Technical issues
It´s not a good idea to insert data into a SAP database without using SAP tools. Even if it´s a separate table(space) or "isolated" in a SAP understanding. You never know, how upgrades behave with that table, you may see the table in sense of SAP-DDIC consistency (Table without DDIC reference) etc.
If you want to insert JPEGs easily, you can use transaction CSADMIN, create a repository and write a small program, that uploads the data to the database using SAP standard interfaces. This will insure DATA integrity and will make sure, the data is accessible even after database/SAP system upgrades.
Markus -
How to Migrate Stored procedure on Sql server 2008 to Oracle Database
Guys, I need help vey badly as I am new in this field.
Problem is that, I have to migrate stored procedure on Sql server 2008 to oracle Oracle database:
Whole scenario--
1. Sql Server 2008 application on Windows server (source machine)
2. I have to migrate 70 Stored Procedure
3. To Oracle Database on Linux machine (Target machine)
Any method (no problem)
Please, help me or give me any reference as I don't know which keyword is differ in both database.
Thanks in advanceHi,
You could the free Oracle SQL*Developer to do this.
There is information and a download link here -
Oracle SQL Developer</title><meta name="Title" content="Oracle SQL Developer"><meta n…
and information on using it for migrations here -
http://www.oracle.com/technetwork/database/migration/index-084442.html
You could use it in 2 ways -
1. Go through a migration but just pull the stored procedure code from the file created after you generate the SQL from the SQL*Server database
2. Use the scratch editor accessed from -
- Tools - Migration - Scratch Editor
and paste the SQL*Server stored procedure code into the window and it will convert it to Oracle code. The tool is very good but may have problems if you have very complicated procedures that use SQL*Server specific utilities.
Regards,
Mike -
Querying SQL server table from Oracle database 11g
Hi all
We are using oracle database 11g R2 on REL 5 and i have an SQL server database used by one of our application.
In my Oracle database, i want to query one table in my SQL server database and to link it in a table in Oracle database to compare data.
Is there a way like database link or something else to do this need>
Please send a link or pots here step by step the way on how to accomplish my query.
Thank you.Yes, you can set up your SQL Server as an external database link, using Oracle Heterogeneous Services with SQL Server as an ODBC connection (easier to do if your Oracle server is a Windows server, a little more tricky if your Oracle server is *nix based)
Here's the documentation... for 11gR2
http://www.oracle.com/pls/db112/search?remark=quick_search&word=heterogeneous+services -
Memory issue in oracle database 11g ...
Hi All,
I have installed oracle11gR2 on Linux (CentOS 5.5)... SErver has good amount of HDD - 669G and 16G RAM. I have two database running on this server.
I am getting out of memory error and end user also complains about dB is very slow... I have configured memory and SGA parameter in both the database and total allocation of memory and SGA maximum size 7.5G. So I assuemd that oracle database used RAM from whatever we configured in memory maximum parameter , in my case I have allocated upto 7.5G but when I run top command I can see almost 16G is in used and only few mbs left...
can anyone suggest me my assumption about memory allcoation to database is correct or not ? or when I allocated memory to database (using memory max parameter) then why top showing all memory in used. This is database server and no other process is running except oracle.
Thanks in advance...Just enable AMM as below and forget the nitty gritties of setting lots of memory parameters ;-D
ALTER SYSTEM SET MEMORY_TARGET=6G SCOPE=SPFILE; --select the amount of memory as per your need -
Performance Issues on Oracle Database Lite 10.3.0.3
Hello,
we have a big problem with one of our customers. He uses Oracle Database Lite in the standalone version. There are about 600 clients running a project with about 20 Publication Items. The customer works in the logistics field, so the Main time where nearly all clients want to sync and get their tours is from 02 AM to 05 AM, so that is the time with the most traffic.
Everything went well before last week. Suddenly the compose cycle needs (at least between that hours) about ten times longer than before. Normally we had about 40 - 80 seconds, now we have about 300 - 500 average with max values from over 1200 seconds.
Therefore we have a lot of conflicts and Disconnects on the clients. It is sometimes that bad, that nearly no client can sync successfully.
We checked our Selects in the publication Items, all are very fast and look good in the explain plan, so that shouldnt be the problem.
The installation is nearly in the Default state as oracle does when you install Oracle Lite. Are there any standard settings we can change? Does anyone had the same problem already?
The Machine is a Windows Server 2003 with an Intel Xeon CPU E7-4820 and 4 GB of RAM.
Of course our customer gets a lot of trouble because of that and we have to improve and fix that as fast as we can.
Any recommendation or opinions are very welcome.
If I have to give more Info about somewhat please feel free to ask, I will give it as fast as possible.
Thanks in advance
HolgerHey,
many thanks for your proposals. The MGP runs every minute like the default settings are, because our application is a time sensitive. The data have to be very fast on the clients in the nights and thex are only a few minutes before available. I think the parameters are important in environemnts where the mgps runs only after a few minutes?
Let me summarize the situation since my las post:
We have days (nights) where everything goes quite well. Mainly that is thrusday and friday. But on the other hand, there are days where everything really is a mess.
The mgp caycles increase and when you look to mobile manager you see 70 clients syncing very very slowly (about 300 - 600 seconds) for just a little bit of data. Then we get the disonnects and the messages in the err.log.
What do you think, is this somehow network related, or ist this a logical problem in the Mobile Server itself?
Like postes earlier, there are 500 clients syncing against a standalone mobile server.
We just couldnt figure out, why the mgp times somehow and sometimes increase that much, that there are these problems.
First we thought, that they sync newly over wireless (GPRS or Edge) and that syncing is that slowly, that everything goes down, but arent sure. Is this possible because of the architecture of the Mobile Server? That a very slow network can slow down the mgps and that does timeouts and all the other stuff?
How many clients can a Standalone Mobile Server normally serve at same time without performance problems. What do you thin about the hardware I wrote? Is it powerful enough? -
NCHAR issue with oracle database using JDBC adapter
Hi,
We have a requirement to develop an XI interface from FTP server(File adapter) to oracle database using JDBC adapter. In the oracle database table few fields are of type NCHAR/NVARCHAR. when we try to insert the character(A,B,c..) values into oracle table fields of type NCHAR/NVARCHAR, we are getting the following error message in the JDBC adapter audit log. IF we pass the numeric value to the same field, then we are able to insert the records successfully.
Unable to execute statement for table or stored procedure. 'IPCSDD_DOWNLOAD_PROCESS' (Structure 'StatementName1') due to java.sql.SQLException: ORA-00904: "P": invalid identifier
2010-10-19 22:29:59 Error JDBC message processing failed; reason Error processing request in sax parser: Error when executing statement for table/stored proc. 'IPCSDD_DOWNLOAD_PROCESS' (structure 'StatementName1'): java.sql.SQLException: ORA-00904: "P": invalid identifier
2010-10-19 22:29:59 Error MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Error processing request in sax parser: Error when executing statement for table/stored proc. 'IPCSDD_DOWNLOAD_PROCESS' (structure 'StatementName1'): java.sql.SQLException: ORA-00904: "P": invalid identifier
Please find the system information below.
Oracle version- 10.2.4
XI version - 3.0/ service pack 19
JDBC driver- oracle.jdbc.driver.OracleDriver
Please suggest.
Thanks,
Venkata
Edited by: Venkata Narayana Eepuri on Oct 21, 2010 12:10 AMDear Venkata Narayana,
Concerning the error, kindly go through the following note :
731 - Collective note: ORA-00904
follow the recommendations mentioned in that and please check if that helps.
Best Regards
Nishwanth
Maybe you are looking for
-
In Mail email list I have a "no name" card with a known email address. When I click on this card all names on list go to outgoing address box-I cannot get rid of this card
-
Data Service System In Visual Composer
Hello,Experts: Recently ,i am focusing on the mirgration function of SAP NetWeaver,and visual composer is among them . In netweaver 2004s enterpise portal ,i have done the system connection between Enterpise Portal and ECC and BW ,and the system alia
-
Ok I splurged and bought the 5900XT 128mb - (trust me, that's splurging for me since it's more card than I need ). Using nVidia 61.77 drivers. Could someone please tell me: 1) Where do I look to see what everything on this card is clocked at? Do
-
I have tried changing DAD name through OEM by going to Portal instance then to HTTP server then to PL/SQL properties and then create DAD. It has successfully created the DAD but when I try to access portal with this new DAD as http://hostname:port/pl
-
Bringing up a modeless JDialog in the background
Hi all, I've been trying to find a way to bring up a modeless JDialog in such a way that it does not steal focus from another JDialog, also modeless. No luck so far. More in detail, I have two dialogs D1 and D2 and a JFrame JF. JF is always visible,