Querying data from the buffer_cache
Hi,
I'm running an experiment on my own home database to understand how data is retrieved from the buffer_cache. Using Oracle 10g 10.2.0.3.0. I've populated 2 tables with 10million records each. The table structure is as follows.
create table bigtable(col1 varchar2(50), col2 varchar2(50))
create table bigtablechild(col1 varchar2(50), col2 varchar2(50))
bigtablechild.col1 is a foreign key to bigtable.col1 and there are no indexes on the tables.
When I run this query, it takes about 30 s to return data each time it runs. I can also see hard drive activity running on my handy hard drive monitor utility each time. I thought that once the data is loaded into the buffer_cache, the query wouldn't scan the hard disk for data. Could someone please help me understand what is happening?
select b.col2 from bigtable a, bigtablechild b where a.col1 = b.col1 and a.col1 = 'ABC8876'
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | Reads |
|* 1 | HASH JOIN | | 1 | 5 | 5 |00:00:23.00 | 93671 | 90663 |
|* 2 | TABLE ACCESS FULL| BIGTABLE | 1 | 1 | 1 |00:00:14.26 | 57799 | 54931 |
|* 3 | TABLE ACCESS FULL| BIGTABLECHILD | 1 | 5 | 5 |00:00:08.74 | 35872 | 35732 |
-------------------------------------------------------------------------------------------------------Edited by: arizona9952 on Jan 19, 2013 9:38 AM
It's not the o/s RAM that would be used for the caching of the data but the amount of RAM that youhave designated as buffer cache within your SGA , that would be used for it. You are probably running the tests on large tables and you don't have enough sized buffer cache. It's correct that with the buffer cache, next time, the access is done from the buffer cache provided it holds the data. Using some small tables you can see this behavior like below,
SQL*Plus: Release 11.2.0.3.0 Production on Sat Jan 19 22:48:14 2013
Copyright (c) 1982, 2011, Oracle. All rights reserved.
startConnected to an idle instance.
SQL> startup
SP2-0734: unknown command beginning "startstart..." - rest of line ignored.
SQL> startup
ORACLE instance started.
Total System Global Area 263639040 bytes
Fixed Size 1344312 bytes
Variable Size 205524168 bytes
Database Buffers 54525952 bytes
Redo Buffers 2244608 bytes
Database mounted.
Database opened.
SQL> set autot trace stat
select
SP2-0042: unknown command "s" - rest of line ignored.
SQL> select * from scott.emp;
14 rows selected.
Statistics
57 recursive calls
0 db block gets
87 consistent gets
11 physical reads
0 redo size
1454 bytes sent via SQL*Net to client
419 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
6 sorts (memory)
0 sorts (disk)
14 rows processed
SQL> /
14 rows selected.
Statistics
0 recursive calls
0 db block gets
7 consistent gets
0 physical reads
0 redo size
1454 bytes sent via SQL*Net to client
419 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
14 rows processedYou can see that the next time when the query is run, there are no physical IO's but only logical ones.
HTH
Aman....
Similar Messages
-
Querying data from the maintenance view.
Hi Experts,
Well, i need the STEXT field value from the maintanance view V_T591A created for the standard table T591A.
Table T591A has the field Subtype but doesn't have the field Stext, which consists the description of the subtype. The Stext field is there in the maintenance view V_T591A.
So, if i want to query the respective description of the specific subtype, how do i get the values from the maintenance view?
Please advice.
Thanks in anticipation to all!
Cheers,
Sundar.Atish,
It is not possible that way! U cannot Query directly from MV as a DB table.
Anyways, i managed to find the answer.
Thanks though.
Regards,
Sundar. -
How can I enter the data from the recordset into your insert query
Hi
i would like to know how I can enter the data from the recordset into your insert query without using a hidden field.
thanks
------------------------------------------------------------------------------------Below is the code------------------------------------------------------------------------------------- -----
<?php require_once('../../Connections/ezzyConn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "frmpostComment")) {
$insertSQL = sprintf("INSERT INTO comments (com_topic, com_user, title, com_content, com_date, online_id) VALUES (%s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['com_topic'], "int"),
GetSQLValueString($_POST['commentby'], "int"),
GetSQLValueString($_POST['title'], "text"),
GetSQLValueString($_POST['com_content'], "text"),
GetSQLValueString($_POST['com_date'], "text"),
GetSQLValueString($_POST['online_id'], "int"));
mysql_select_db($database_ezzyConn, $ezzyConn);
$Result1 = mysql_query($insertSQL, $ezzyConn) or die(mysql_error());
$insertGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $insertGoTo));
$colname_rsCommentby = "-1";
if (isset($_SESSION['MM_Username'])) {
$colname_rsCommentby = $_SESSION['MM_Username'];
mysql_select_db($database_ezzyConn, $ezzyConn);
$query_rsTopics = "SELECT topic_id, topic FROM topics ORDER BY topic_date DESC";
$rsTopics = mysql_query($query_rsTopics, $ezzyConn) or die(mysql_error());
$row_rsTopics = mysql_fetch_assoc($rsTopics);
$totalRows_rsTopics = mysql_num_rows($rsTopics);
mysql_select_db($database_ezzyConn, $ezzyConn);
$query_rsOnline = "SELECT online_id, `online` FROM `online` ORDER BY online_id DESC";
$rsOnline = mysql_query($query_rsOnline, $ezzyConn) or die(mysql_error());
$row_rsOnline = mysql_fetch_assoc($rsOnline);
$totalRows_rsOnline = mysql_num_rows($rsOnline);
$colname_rsCommentby = "-1";
if (isset($_SESSION['MM_Username'])) {
$colname_rsCommentby = $_SESSION['MM_Username'];
mysql_select_db($database_ezzyConn, $ezzyConn);
$query_rsCommentby = sprintf("SELECT user_id, username FROM users WHERE username = %s", GetSQLValueString($colname_rsCommentby, "text"));
$rsCommentby = mysql_query($query_rsCommentby, $ezzyConn) or die(mysql_error());
$row_rsCommentby = mysql_fetch_assoc($rsCommentby);
$totalRows_rsCommentby = mysql_num_rows($rsCommentby);
?>
<?php include("../includes/access.php"); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>ezzybay - easy click, ezzy shopping</title>
<link href="../css/global.css" rel="stylesheet" type="text/css" />
<link href="../css/navigation.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="wrapper">
<?php include("../includes/top.php"); ?>
<div id="content">
<div id="pageTitle">
<h2>CMS Section:</h2>
<p>Comment Topics Page</p>
</div>
<?php include("../includes/leftnav.php"); ?>
<div id="mainContent">
<form action="<?php echo $editFormAction; ?>" method="post" name="frmpostComment" id="frmpostComment">
<table align="center">
<caption>Post Comment</caption>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Topic:</td>
<td><select name="com_topic" class="listbox" id="com_topic">
<?php
do {
?>
<option value="<?php echo $row_rsTopics['topic_id']?>"><?php echo $row_rsTopics['topic']?></option>
<?php
} while ($row_rsTopics = mysql_fetch_assoc($rsTopics));
$rows = mysql_num_rows($rsTopics);
if($rows > 0) {
mysql_data_seek($rsTopics, 0);
$row_rsTopics = mysql_fetch_assoc($rsTopics);
?>
</select></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Title:</td>
<td><input name="title" type="text" class="textfield" value="" size="32" /></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right" valign="top">Comment:</td>
<td><textarea name="com_content" cols="50" rows="5" class="textarea"></textarea></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">Status:</td>
<td><select name="online_id" class="smalllistbox">
<?php
do {
?>
<option value="<?php echo $row_rsOnline['online_id']?>" <?php if (!(strcmp($row_rsOnline['online_id'], 2))) {echo "SELECTED";} ?>><?php echo $row_rsOnline['online']?></option>
<?php
} while ($row_rsOnline = mysql_fetch_assoc($rsOnline));
?>
</select></td>
</tr>
<tr> </tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right"> </td>
<td><input type="submit" class="button" value="Insert record" /></td>
</tr>
</table>
<input name="commentby" type="hidden" id="commentby" value="<?php echo $row_rsCommentby['user_id']; ?>" />
<input type="hidden" name="com_date" value="<?php echo date("d/m/y : H:i:s", time()) ?>" />
<input type="hidden" name="MM_insert" value="frmpostComment" />
</form>
</div>
</div>
<?php include("../includes/footer.php"); ?>
</div>
</body>
</html>
<?php
mysql_free_result($rsTopics);
mysql_free_result($rsOnline);
mysql_free_result($rsCommentby);
?>I'll keep it simple and only use the date as an example. Hopefully you get the concept from the example. Basically you create a recordset and insert the recordset value instead of the POST value into your insert query. In the example below I declared a variable for $the_date and entered the variable into the INSERT query instead of the hidden POST field.
<?php require_once('../../Connections/ezzyConn.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
if (PHP_VERSION < 6) {
$theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
$theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);
switch ($theType) {
case "text":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "long":
case "int":
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
break;
case "double":
$theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
break;
case "date":
$theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
break;
case "defined":
$theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
break;
return $theValue;
$the_date = date("d/m/y : H:i:s", time());
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "frmpostComment")) {
$insertSQL = sprintf("INSERT INTO comments (com_topic, com_user, title, com_content, com_date, online_id) VALUES (%s, %s, %s, %s, %s, %s)",
GetSQLValueString($_POST['com_topic'], "int"),
GetSQLValueString($_POST['commentby'], "int"),
GetSQLValueString($_POST['title'], "text"),
GetSQLValueString($_POST['com_content'], "text"),
GetSQLValueString($the_date, "text"),
GetSQLValueString($_POST['online_id'], "int"));
mysql_select_db($database_ezzyConn, $ezzyConn);
$Result1 = mysql_query($insertSQL, $ezzyConn) or die(mysql_error());
$insertGoTo = "index.php";
if (isset($_SERVER['QUERY_STRING'])) {
$insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
$insertGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $insertGoTo));
?> -
Use evdre to query data from a SQL View
Hi all
I believe that it is possible to use evdre to query data from a SQL View. If this is possible then how does one go about setting it up in the evdre options (assuming that the view has already been created)?
Regards,
ByronByron, perhaps this is no longer supported, it might be worth opening up a case at service.sap.com on this. However, I did find the following on Page 11 of the "Usages and Considerations of EVDRE" pdf file. This doc is imbedded in the helpfile for BPC 7 SP5 (which was released in August of 2009, well after note 1315011 was last updated.
It looks like you are limited to one custom view per application, since you have to name the view in a parameter at the APPLICATION level. Go into BPC Administration, login to the application related to the custom view, choose "Set Application Parameters" and enter the name of the view to the Application Parameter called "EVDRE_QUERYVIEWNAME" If it is not listed, go ahead and create it at the bottom of the Application parameter screen.
Also: I interpreted the following info from Page 10 of the same doc:
In your EVDRE, set the following options:
QueryEngine: MANUAL
QueryType: enter either NEXJ OR TUPLE see below:
NEXJ - Use two-dimensional queries using the nonemptycrossjoin function
TUPLE - Use two-dimensional queries using tuples"
And I'm assuming you'd enter a Y for the following two parameters:
QueryViewName
"..to enforce the query engine to use a used-defined SQL view of the fact tables, when trying to read the values using SQL queries. This option is typically used in conjunction with the SQLOnly option (see below). "
Option SQLOnly
"..to enforce the query engine to only execute SQL queries, when reading data. This can be achieved using this option." -
Not able insert ,query data from forms
hi,
I am not able to insert data or query data from forms(10g devsuite).getting error frm-40505,frm 40508 .i am able to insert and select record from sql plus.the block ihave created is control block .it is connected to the table using the properties.
should i do anything to insert record.please helpthe block ihave created is control block .it is connected to the table using the properties.A Control Block, by definition, is a non-database block. This means the block is not directly connected to a table so you have to manually display data in the block and any DML you want to perform on data in this block you must do manually as well.
There are four database objects you can base your database block on; 1) a Table, 2) a View, 3) From Clause Query (basically an In-line View), and 4) a database stored procedure. I recommend you use one of these four methods rather than manually display your data.
Craig... -
Powerpivot Error on Refresh -- "We couldn't get data from the data model..."
I'm using Excel 2013 and Windows 8.1. I have a spreadsheet I've been using for over a year, and I've just started getting this error message when I try to refresh the data.
"We couldn't get data from the Data Model. Here's the error message we got:
The 'attributeRelationship' with 'AttributeID' - 'PuttDistCat9' doesn't exist in the collection"
Any idea how I can fix this problem? I haven't changed anything related to that particular attribute. All the data is contained in separate sheets in the workbook, so there are no external sources of data.
Thanks.
JeanThanks for all the suggestions.
I found a slightly older version of the spreadsheet that still refreshes properly, so I don't think I have any issues with the version of Excel or Power Query. (I've had this same error before, and I believe I applied the hotfix at that time.)
I think this problem started after I updated a number of the date filters in the pivot tables. I haven't made any changes to the data model, and the only updates I've made were to add data (which I do all the time), and to change the date filters on
the pivot tables.
As suggested, I added a new pivot table querying one table (the table with the attribute that shows up in the error message), and it worked fine. I can also refresh this pivot table.
Then I tried adding a pivot table which went against several tables in the data model (including the table in question). The pivot table seemed to return that data properly. However, when I tried to refresh it, I got the same error message ("we
couldn't get data from the data model...").
Dany also suggested running the queries one at a time to see which one is in error. Without checking all the pivot tables, it appears that any which use the table "HolePlayedStrokes" generate the error (this is the table with the attribute
mentioned in the error message). Pivot Tables without that particular table seem to refresh OK. Unfortunately, that is the main table in my data model, so most of the pivot tables use it.
Any other suggestions? I'd be happy to send a copy of the spreadsheet.
Thanks for all the help.
Jean -
Query data from MS SQL db through Oracle ? By using JAVA ?
Hi folks,
I would like to sync our one table in oracle db with table in different system, stored in MS SQL database.
What would be the easiest option for connection from Oracle to MS SQL db to be able to query data from MS SQL through some Oracle package?
If possible, I would like to keep all "tricky steps" within Oracle database. I heard about option with Java, but so far we have no experience with java in Oracle.
Our database: Oracle 11g Database Standard Edition One
Many thanks,
TomasC:\Users\tomeo>dg4pwd HELIOS
ORACLE Gateway Password Utility
Constructing password file for Gateway SID HELIOS
For user account SYSTEM
OPW-00001: Unable to open password-file (RC=0)
C:\Users\tomeo> -
Trying to query data from a view - ORA-01882 and ORA-02063 Errors
Hey there,
I tried to query data from a view that was provided by a colleague. This view works fine and gives correct data using PL/SQL Developer or SQLPLUS, but in SQL Developer, I get the following error:
ORA-01882: Time zone region not found
ORA-02063: preceding line from SYSTOOLS
01882.00000 - "timezone region %s not found"
* Cause: Specified reason name was not found
* Action: Please contact Oracle Customer Support
Vendor Code 1882
Where comes this error message from?! SYSTOOLS is the database link.
Can't see an obvious reason for this error.
OS is Windows 2000 SP4, SQL Developer is v1.1.1.25 BUILD MAIN-25.14
Regards,
ThomasFrom Oracle Messages 'Cause and Action'
http://www.oracle.com/technology/products/designer/supporting_doc/des9i_90210/cmnhlp72/messages/ora_messages.htm
ORA-01882, 00000, "timezone region %s not found"
Cause: The specified region name was not found.
Action: Please contact Oracle Customer Support.
Maybe invalid region in NLS_LANG?
"select * from v$nls_parameters"
Starting this script in all developer program and compared result... -
How to export some data from the tables of an owner with integrity?
Hi to all,
How to export some data from the tables of an owner with integrity?
I want to bring some data from all tables in a single owner of the production database for development environment.
My initial requirements are: seeking information on company code (emp), contract status (status) and / or effective date of contract settlement (dt_liq_efetiva) - a small amount of data to developers.
These three fields are present in the main system table (the table of contracts). Then I thought about ...
- create a temporary table from the query results table to contract;
- and then use this temporary table as a reference to fetch the data in other tables of the owner while maintaining integrity. But how? I have not found the answer, because: what to do when not there is the possibility of a join between the contract and any other table?
I am considering the possibility of consulting the names of tables, foreign keys and columns above, and create dynamic SQL. Conceptually, something like:
select r.constraint_name "FK name",
r.table_name "FK table",
r.column_name "FK column",
up.constraint_name "Referencing name",
up.table_name "Referencing table",
up.column_name "Referencing column"
from all_cons_columns up
join all_cons_columns r
using (owner, position), (select r.owner,
r.constraint_name fk,
r.table_name table_fk,
r.r_constraint_name r,
up.table_name table_r
from all_constraints up, all_constraints r
where r.r_owner = up.owner
and r.r_constraint_name = up.constraint_name
and up.constraint_type in ('P', 'U')
and r.constraint_type = 'R'
and r.owner = 'OWNERNAME') aux
where r.constraint_name = aux.fk
and r.table_name = aux.table_fk
and up.constraint_name = aux.r
and up.table_name = aux.table_r;
-- + Dynamic SQL
If anyone has any suggestions and / or reuse code to me thank you very much!
After resolving this standoff intend to mount the inserts in utl_file by a table and create another program to read and play in the development environment.
Thinking...
Let's Share!
My thanks in advance,
PhilipsThanks, Peter.
Well, I am working with release 9.2.0.8.0. But the planning is migrate to 10g this year. So my questions are:
With Data Pump can export data just from tables owned for me (SCHEMAS = MYOWNER) parameterizing the volume of data (SAMPLE) and filters to table (QUERY), right? But parameterizing a contract table QUERY = "WHERE status NOT IN (2,6) ORDER BY contract ":
1º- the Data Pump automatically searches for related data in other tables in the owner? ex. parcel table has X records related (fk) with Y contracts not in (2,6): X * SAMPLE records will be randomly exported?
2º- for the tables without relation (fk) and which are within the owner (MYOWNER) the data is exported only based on the parameter SAMPLE?
Once again, thank you,
Philips
Reading Oracle Docs... -
Best Practice on querying Data from Database
Hello and I was wondering what is the preferred and best practice for querying data from an SQL database inside a JSP page. Is it using the JSTL library or another method? Thanks
It depends on the size of the application really.
The "correct and preferred" approach in a large MVC app would be to have a seperate class that does all the database access, retrieving the data into java objects.
Check out [url http://java.sun.com/blueprints/corej2eepatterns/Patterns/DataAccessObject.html] DAO pattern
You then "save" the data into request/session attributes, and forward to a jsp page to render the result.
Most approaches recommend a separation between JSP (the view) and SQL code.
The JSTL sql tags are provided more for "quick and dirty" code applicable in small applications, or for fast prototyping. That approach is not really robust for large scale applications.
Cheers,
evnafets -
Get the data from the structure OR View
Hi All,
how wud i take data from the structure OR View? when i m writing the select query then its saying that its not defind in data dictionary.
I hav the requirement to develop a report for PM module..
in that i hav all structure like AFVGD,CAUFVD,PMCOEA...
Plz tel me how to write a select quary for this...Hi,
You cannot select data from a structure.
A structure / work area contains data only at the run-time.
You can select data from views and tables.
The data you need to select will be in Database tables. All you need to do
is to find those table and select from there.
Let me know if you need further help.
Regards,
Rajat -
To retrieve the Maximum Date from the record
Hi All,
I am using the bleow query to retrieve the max date from the record list:
select w.wr_no,w.customer_id,w.place_id, w.entry_Date, max(app.appointment_date) as appointment_date
from work_request w , wr_appointment app
where w.wr_no=app.wr_no
and w.customer_id = '020167001'
and w.place_id = '1151667'
group by w.wr_no, w.customer_id,w.place_id, w.entry_Date;
However i am getting the as many as three rows even after using the max function. The max date comes as the last record out the three rows retrieved.
Thanks,
MarkMark Andrew wrote:
And for Sven for the above customer id and place id, i receive the below result:
WR_NO CUSTOMER_ID PLACE_ID ENTRY_DATE APPOINTMENT_DATE
1306782233 020167001 1151667 26/07/2010 29/07/2010
1387090103 020167001 1151667 26/02/2010 16/03/2010
1393896673 020167001 1151667 23/01/2011 25/01/2011
After using the rank function i will be receiving:
WR_NO CUSTOMER_ID PLACE_ID ENTRY_DATE APPOINTMENT_DATE RK
1393896673 020167001 1151667 23/01/2011 25/01/2011 1Now I get it.
In fact you want to group only on the customer (and place_id?) and get all the information from the line with the last appointment date.
Analytic functions such as RANK or ROW_NUMBER are good for this.
The select can look like this.
select * from (
select w.wr_no,w.customer_id,w.place_id, w.entry_Date, app.appointment_date,
row_number() over (partition by w.customer_id, w.place_id order by app.appointment_date desc, w.wr_no desc) rn
from work_request w , wr_appointment app
where w.wr_no=app.wr_no
--and w.customer_id = '020167001'
--and w.place_id = '1151667'
where rn = 1
;In fact I think you can do the same operation in EXCEL directly.
FIrst you need to sort the data by customer (asc), place (asc) and appointment date (desc).
Then add a column in excel that give you the line where you have a new customer id.
Assuming this new column is column H and the customerid is in column A then the function in Cell H2 would look like this.
A function like ("=A2=A1"). Copy this formular to all the other H cells.
Then add a auto filter on it and only select all the rows where the result is FALSE.
Same logic as in SQL, but done in Excel. -
How to query data from Oracle, MySQL, and MSSQL?
For an environment consisting of Oracle 11g/12c enterprise edition, MySQL 5.7 community edition, and MSSQL 2008/2012 stanard/enterprise edition, is there any major issue using DG4ODBC to query data from all 3 platforms?
Is there other free alternatives?
If the queried data is mostly contained in MySQL or MSSQL, will it be more efficient to query from MySQL or MSSQL?
If yes, any suggestion of how to do it in those platforms? I know MSSQL can use linked server but it is quite slow.mkirtley-Oracle wrote:
Hi Ed,
It is semantics. By multiple instances I mean you have the gateway installed in an ORACLE_HOME which has 1 listener. However, if you are connecting to different non-Oracle databases or different individual databases of that non-Oracle database then you need multiple gateway instances for each database being connected. I did not mean that you need a gateway installed in a separate ORACLE_HOME for each non-Oracle database to which you are connecting.
Each of these would have a separate instance file within that ORACLE_HOME/hs/admin directory with the connection details for the non-Oracle database to which that instance connects.. So, you would have -
initgtw1.ora - connects to MySQL
initgtw2.ora - connect to SQL*Server northwind database
initgtw3.ora - connect to SQL*Server test database
etc
etc
Each of these instances would have a separate entry in the gateway listener.ora.
In MOS have a look at this note -
How To Add A New Database or Destination To An Existing Gateway Configuration (Doc ID 1304573.1)
Regards,
Mike
Ah yes, we are in agreement, it was just semantics. Thanks. -
ORA-13773: insufficient privileges to select data from the cursor cache
We are trying to create STS using the below query:
exec sys.dbms_sqltune.create_sqlset(sqlset_name => 'TEST_STS', -
sqlset_owner => 'SCOTT');
The below procedure will load sql starting with 'select /*MY_CRITICAL_SQL*/%' from cursor cache into STS TEST_STS.
DECLARE
stscur dbms_sqltune.sqlset_cursor;
BEGIN
OPEN stscur FOR
SELECT VALUE(P)
FROM TABLE(dbms_sqltune.select_cursor_cache(
'sql_text like ''select /*MY_CRITICAL_SQL*/%''',
null, null, null, null, null, null, 'ALL')) P;
dbms_sqltune.load_sqlset(sqlset_name => 'TEST_STS',
populate_cursor => stscur,
sqlset_owner => 'SCOTT');
END;
We were getting the following error: ORA-13761: invalid filter
After granting the below privileges to the user we are getting the below error:
Err msg:
ERROR at line 1:
ORA-13773: insufficient privileges to select data from the cursor cache
ORA-06512: at "SYS.DBMS_SQLTUNE", line 2957
ORA-06512: at line 10
For SQL Tuning Sets:
GRANT ADMINISTER ANY SQL TUNING SET TO scott;
For Managing SQL Profiles:
GRANT CREATE ANY SQL PROFILE TO scott;
GRANT ALTER ANY SQL PROFILE TO scott;
GRANT DROP ANY SQL PROFILE TO scott;
For SQL Tuning Advisor:
GRANT ADVISOR TO scott;
Others:
GRANT SELECT ON V_$SQL TO SCOTT;
GRANT SELECT ON V_$SQLAREA TO SCOTT;
GRANT SELECT ON V$SQLAREA_PLAN_HASH TO SCOTT;
GRANT SELECT ON V_$SQLSTATS TO SCOTT;
grant select on sys.DBA_HIST_BASELINE to SCOTT;
grant select on sys.DBA_HIST_SQLTEXT to SCOTT;
grant select on sys.DBA_HIST_SQLSTAT to SCOTT;
grant select on sys.DBA_HIST_SQLBIND to SCOTT;
grant select on sys.DBA_HIST_OPTIMIZER_ENV to SCOTT;
grant select on sys.DBA_HIST_SNAPSHOT to SCOTT;
Any info from your end to resolve the issue will be of great help.
ThanksWhat is the alert log reporting. Are you seeing any other errors than these in the alert log too?
-
Querying Data from 3rd Party System
We would like to query data from a 3rd party (non-SAP) system. Our BW is an MSSQL DB and the 3rd party is also an MSSQL DB. We do not want to physically load the data from the external system we just want to use the BW query tools to display the data.
Is this possible? I thought this is what a Remote Cube would be used for but SAP's instructions on Remote Cubes are vague and confusing.
1. In BW, create a source system for the external system that you want to use.
2. Define the required InfoObjects.
3. Load the master data:
· Create a master data InfoSource for each characteristic
· Load texts and attributes
4. Define the RemoteCube
5. Define the queries based on the RemoteCubeHi Jon,
SAP RemoteCube is an InfoProvider. This is a special RemoteCube that allows
you to define queries with direct access to transaction data in other SAP systems. SAP RemoteCubes are defined on the basis of an InfoSource with flexible updating, and assume the characteristics and key figures of the InfoSource.
Use/Data Flow
Unlike with other RemoteCubes, it is not necessary to program extractors. The
same extractors are used to select data in the source system that are also used when replicating data into the BW. When executing a query, each navigation step sends a request to the extractors for the assigned source systems. In addition, characteristics selection and selection criteria for these characteristics are transformed to fields in the transfer structure, in accordance with the transfer rules. They are transferred to the extractor in this form. The delivered datasets run through the transfer rules in BW and are filtered once again in the query.
In your case Remote cube can be an option .
Cheers
Raja
Maybe you are looking for
-
Cant connect a video confrence
my friend and i both have the 20 in imac, ut we cant chat on a video together it says,"Date/Time: 2007-03-28 19:41:36.952 -0700 OS Version: 10.4.9 (Build 8P2137) Report Version: 4 iChat Connection Log: AVChat started with ID 1327156675. sgtscotty4444
-
Hi all, I have a simple senario to test HTTP file. I want HTTP file to be written into XI as a file. Can anyone tell me the steps involved in this? I have created a HTTP service as sender with HTTP as communication channel, sender message interface.
-
Problem starting managed server.
Hi, I have my weblogic server running on UNIX server which has 2 users (UserA and UserB). The Admin server has been started with UserA and the nodemanager with UserB. I have 3 clusters with 2 managed servers each configured in my server. When i start
-
White Borders Appearing (Captivate 6)
I am receiving feedback from testers that white borders are appearing in the project window. This usually happens when navigating to a page, and then clicking a button that leads to another screen. Upon arriving at this new screen, a white border wil
-
Changed jdk1.2 to jdk1.3 on Application Server 6.0 SP3
Hi, I have changed the jdk 1.2 to jdk 1.3 on Application Server 6.0 sp3 in <install dir>/ias/env/iasenv.ksh. It gives the following error: Exception in thread "main" java.lang.NoClassDefFoundError: org/omg/PortableServer/POAOperations at com.kivasoft