I have two oracle forms and reports server.
oracle forms and reports server 11gr1 (weblogic 10.3.5.0)
oracle forms and reports server 11gr2 (weblogic 10.3.6.0)
both are connected with same database but at time of update data on database new server(11gr2) taking twice or more then that, time for data update compare to old one (11gr1).
I have checked deployed form and procedure inside that form they are same.
further analysis:
form has a PROCEDURE which update data in database and do some IO operation.
found that this PROCEDURE takes more time on 11gr2 compare to 11gr1.
Issue resolved, it was slow due to SYNCHRONIZE was used inside of loop in plsql code in FORM.
Related
I want to transfer tables data from SQL server to Informix and vice versa.
The transferring should be run scheduled and sometimes when the user make a specific action.
I do this operation through delete and insert transactions and it takes along long time through the web between 15 minute to 30 minute.
How to do this operation in easy way taking the performance in consideration?
Say I have
Vacation table in SQL Server and want to transfer all the updated data to the Vacation table in Informix.
and
Permission table in Informix and want to transfer all the updated data to the Permission table in SQL Server.
DISCLAIMER: I am not an SQL Server DBA. However, I have been an Informix DBA for over ten years and can make some recommendations as to its performance.
Disclaimer aside, it sounds like you already have a functional application, but the performance is a show-stopper and that is where you are mainly looking for advice.
There are some technical pieces of information that would be helpful to know, but in their absence, I'm going to make the following assumptions about your environment and application. Please comment or edit your question if I am wrong on any of these.
Database server versions. From the tags, it appears you are using SQL server 2012. However, I cannot determine the Informix server and version. I will assume you are running at least IDS 11.50 or greater.
How the data is being exchanged currently. Are you connecting directly from your .NET application to Informix? I would assume that is the case with SQL Server and will make the same assumption for your Informix connection as well.
Table structures. I assume you have proper indexing on the tables. On the Informix side, dbschema -d *dbname* -t *tablename* will give the basic schema.
If you haven't tried exporting data to CSV and as long as you don't have any compliance concerns doing this, I would suggest loading the data from a comma-delimited file. (Informix normally deals with pipe-delimited files, so you'll either need to adjust the delimiter on the SQL Server side to a pipe | or on the Informix import side). On the Informix end, this would be a
LOAD FROM 'source_file_from_sql_server' DELIMITER '|' INSERT INTO vacation (field1, field2, ..)
For reusability, I would recommend putting this in a stored procedure. Just wrap that load statement inside a BEGIN WORK; and COMMIT WORK; to keep your transactional integrity. MichaĆ Niklas suggested some ways to track changes. If there is any correlation between the transfer of data to the vacation table in Informix and the permission table back in SQL Server, I would propose another option, which is adding a trigger to the vacation table so that you write all new values to a staging table.
With the import logic in a stored procedure, you can fire the import on demand:
EXECUTE PROCEDURE vacation_import();
You also mentioned the need to schedule the import, which can be accomplished with Informix's "dbcron". Using this feature, you'll create a scheduled task that executes vacation_import() periodically as well. If you haven't used this feature before, using OAT will be helpful. You will also want to do some housekeeping with the CSV files. This can be addressed with the system() call, which you can make from stored procedures in Informix.
Some ideas:
Add was_transferred column to source tables setting its default value to 0 (you can use 0/1 instead of false/true).
From source table select data with was_transferred=0.
After transferring data update selected source row, set its was_transferred to 1.
Make table syncro_info with fields like date_start and date_stop. If you discover that there is record with date_stop IS NULL it will mean that you are tranferring data. This will protect you against synchronizing data twice.
I am using QueryHint to set a jpa entity into coherence and updating it ,which in turn updates the value in coherence and database.
However when I again Run the application ,my first fetch is occuring directly from coherence.hence any update on the database is not reflecting into it.
How to make sure whenever application runs it first fetches data from database and then from coherence?
If you need updates made directly to the database to automatically show up in Coherence, then look at the Oracle Coherence "Hot-Cache" feature: http://docs.oracle.com/middleware/1212/coherence/COHIG/golden_g.htm
If you are using JPA and you just want to keep the data from getting out of sync, look at TopLink Grid: http://docs.oracle.com/middleware/1212/coherence/COHIG/tlg_integrate.htm
This is Basina, new to windows phone development.
I'm using SQLite in my Windows Phone8 Application following the below article.
http://www.developer.nokia.com/Community/Wiki/How_to_use_SQLite_in_Windows_Phone
When I debug the application I'm able to successfully created the database and tables.
After that i successfully installed the records into the table and retrieved the result and showed in a list.
After that I stopped the debugging of the application.
Now I run the application.
When I retrieve the data from the database and try to show the data in the list,
the list was empty i.e. data is not added to the list.
I didn't understand what was the problem.
While debugging the application everything goes fine, But while running the app i'm not getting data and also not showing any errors too.
I'm looking forward for your response.
Thanks & Regards,
Basina.
actually this is sqlite time connection issue. when you debug your app then thr is enough time for the sqlite to make successful connection but when you actually run this time is very less and when you made a query at that time the connection is not established so thr is no data in the list. so what you can do is..make the static connection at the start of your app and use this connection throughout app cycle .
How to create a small and simple database using Oracle 11 g and SQL Developer ?
I am seeing too many errors and I cannot find any way to make a simple database.
For example
create database company;
Caused the following error:
Error starting at line 1 in command:
create database company
Error at Command Line:1 Column:0
Error report:
SQL Error: ORA-01501: CREATE DATABASE failed
ORA-01100: database already mounted
01501. 00000 - "CREATE DATABASE failed"
*Cause: An error occurred during create database
*Action: See accompanying errors.
EDIT-
This is completely different from MySQL and MS-SQL that I am familiar with.
Not as intuitive as I was expecting.
First off, what Oracle calls a "database" is generally different than what most other database products call a "database". A "database" in MySQL or SQL Server is much closer to what Oracle calls a "schema" which is the set of objects owned by a particular user. In Oracle, you would generally only have one database per server (a large server might have a handful of databases on it) where each database has many different schemas. If you are using the express edition of Oracle, you are only allowed to have 1 database per server. If you are connected to Oracle via SQL Developer, that indicates that you already have the Oracle database created.
Assuming that you really want to create a schema, not a database (using Oracle terminology), you would create the user
CREATE USER company
IDENTIFIED BY <<password>>
DEFAULT TABLESPACE <<tablespace to use for objects by default>>
TEMPORARY TABLESPACE <<temporary tablespace to use>>
You would then assign the user whatever privileges you wanted
GRANT CREATE SESSION TO company;
GRANT CREATE TABLE TO company;
GRANT CREATE VIEW TO company;
...
Once that is done, you can connect to the (existing) database as COMPANY and create objects in the COMPANY schema.
Actually the answer from Justin above could not be more incorrect. SQL Server and MySQL are for smallish databases. Oracle is for large enterprise databases, thus the difference in it's structure. And it is common to have more than one Oracle database on a server provided that the server is robust enough to handle the load. If you received the error posted above then you obviously are trying to create a new Oracle database and if you are doing that then you probably already understand the structure of an Oracle database. The likely scenario is that you attempted to create a database using dbca, it initially failed, but the binaries were created. You then adjusted your initial parameters and re-tried creating the database using dbca. However, the utility sees the binaries and folder structure for the database that you are creating so it thinks that the database already exists but is not mounted. Dropping the database and removing the binaries and folders as well as any other cleanup of the initial attempt should be done first, then try again.
From your question description, I think you were to create a database schema, not a database instance. In Oracle terminology, a database instance is a set of files in the file system. It's more like data files in MySQL. Whereas database in MySQL is somewhat equivalent to Oracle's schema.
To create a schema in Oracle: https://docs.oracle.com/cd/B19306_01/server.102/b14200/statements_6014.htm
To create a database instance in Oracle (I personally prefer CDBA):
https://docs.oracle.com/cd/E11882_01/server.112/e25494/create.htm#ADMIN11068
Notice the Oracle Express edition does not support mounting more than one database instance at one time.
I have an issue in calling oracle stored procedures(oracle xmltype as input parameter) in ASP.NET 2.0 using ODP.NET (Oracle.DataAccess assembly version 9.2.0.700).the web page freezes during processing on executenonquery.
Executenonquery is not firing any command on database. i have implemented some tracing logic and found that no request is made to database procedure and web page is freezes.
I just had an issue calling a stored procedure using inputoutput parameters that was freezing on ExecuteNonQuery. My code looked correct. I had Oracle SQL Developer opened that had some non commited transactions. I disconnected from the database. The dba killed all of my processes. I ran the same code again and it worked perfectly.