From time to time I am monitoring data in TOAD waiting for some process to run.
Is there a way to set a toad query or data tab to refresh at regular intervals?
There is no feature like this in Toad. For a query in the Editor it's easy enough to hit F9 and execute again when you're ready to look at the data.
I found that in new versions(I got 13.2) and wanted to share this, Toad supports automatic grid refresh, but with tricks
You have to open describe object window(simply press F4 on a table name), then in Data tab you can see Auto Refresh and enter the interval value! wow! I waited so long for this feature!
Related
I have an IG display that looks like this without clicking anything else:
Only Supervisor, and Direct Supervisor are editable, and they are both Popup LOV's.
If I double-click the Supervisor data, and immediately type any letter for the Popup LOV search, the data row(s) display shifts to the left like this:
It doesn't matter how wide the window is when I test this. I've been looking for ways to prevent that shift. Do you have any tips to resolve that?
Thank you
I've since learned that this is a known issue, and a bug report was logged: https://community.oracle.com/tech/developers/discussion/4340268/apex-20-1-popup-lov-in-interactive-grid-causing-issue/p1?new=1
I've also noticed that it seems to happen from a single click plus typing to search - not necessarily from a double-click.
Finally, freezing a column or two in place in the IG display appears to prevent the visual shift of the columns.
Working over grid layout in splunk studio to created a dashboard, could not look for a way where we can customize the panel timing irrespective of the global duration of the dashboard.
For instance, if I want a panel to be showing data for last 15min but the global time remain fixed at 24 hours is it possible?
What is preventing you from having a panel whose search includes an earliest=-24h clause?
eg the search might look like:
index=ndx sourcetype=srctp earliest=-24h
<rest of search>
I don't see the values in Session when using the Debug, but the page items are rendering:
I am setting the Source using a SQL Expression:
And I know the query is working, as the page item is rendering out for P2_KPI_NAME on the page.
Why are they not being added to Session once calculated?
The fact that you see it doesn't mean it is in session state.
For testing purposes, create a button on that page which will perform SUBMIT. Push it, and then check Session tab in Debug output.
You could use a dynamic action on change of :P2_KPI_ID in which you set your second item using PL/SQL (remember to add P2_KPI_ID to Item to Submit aswell as your second item as a Item to Return).
"Always replace value in Session State" sets the items value when its getting rendered.The item itself is not refreshed when your :P2_KPI_ID is set and therefor its value is not set automatically.
You're seeing the result of a performance optimization used during page rendering. Most of the time we think of session state, we think of persisted session state, i.e. the state in the session table.
However, in-memory session state is often used by APEX when rendering a page to avoid the overhead of running DML against the session table when it usually doesn't need to be there anyway (the next submit will overwrite it).
See this old, but still relevant, post to learn more:
http://c2anton.blogspot.com/2008/12/oracle-application-express-apex-three.html
I have made changes to a huge table in query editor. Afterwards I have just used Closed as opposite to Close & Apply. Do I have to press Apply changes and then Refresh to have a full refresh? Or does just Refresh suffice? Does Refresh make both Apply changes and Refresh table?
With a huge table applying changes takes a few minutes and then refresh another a few minutes.
What are the tips for making changes to huge fact tables in query editor to minimize the load (or double load) at the stage of designing model?
When you only press Refresh, it gets your data once more.
The (Close) & Apply, applies the changes to your model and refreshes the data.
You can even have a situation that you make a change in the query (model) so your constraints on data is different, this might conflict with your existing data. This is annoying because you cannot Apply the change anymore, you first need to ensure you filter/correct your data in the query side before you apply the changes.
Is there a way to replace a data set which is currently open in the ViewTable Window?
For example, say I create the following data set:
data the_meaning_of_life;
is = 2;
run;
I open it up and notice, oh drat!, I made a typo! I correct the code and rerun it.
data the_meaning_of_life;
is = 42;
run;
I'm then met with the following message,
ERROR: You cannot open WORK.THE_MEANING_OF_LIFE.DATA for output access with member-level
control because WORK.THE_MEANING_OF_LIFE.DATA is in use by you in resource environment
ViewTable Window.
Of course there are workarounds. In the keys menu, I could bind
next viewtable:libref.dataset;end;
to an F key or prefix the submit button with it so that all VTs are closed before code is submitted.
I recognize that there's an assumption I'm making. I'm assuming that because the ViewTable Window is called a "ViewTable" that it is indeed a view.
According to SAS, a view is
a definition of a virtual data set that is named and stored for later
use. A view contains no data; it merely describes or defines data that
is stored elsewhere.
A view should be independent of the data set. It seems like the ViewTable opened when a data set is double-clicked in the SAS Explorer is not a 'true' view. So maybe my question should be revised to,
How do I view a data set as a view?
You view a dataset as a view by creating a view and then opening it. But you have a misapprehension of what a view is; specifically, a view can lock a dataset, if it's set up to do so (in some DBMSs), while it's operating. (More on that later.)
SAS is locking the dataset, not because it has to, but because it is the right thing to do here given how it works. When dealing with the issue of "How do you handle a viewtable window when the underlying dataset is modified", you have three choices, right (maybe four)?
Disallow changes
Update the viewtable to reflect the changes
(maybe) Indicate to the user that it needs to be refreshed
Ignore the changes, let the user have out of date information
ViewTable is a concept that's quite old - and uses pretty old methods. As such, the second choice isn't really possible - it's not something running in a way that can update in real time. The third isn't really either: it again would require SAS knowing that the change happened and having the ability to update the ViewTable window, which it doesn't currently do. Right now, ViewTable just grabs the data and shows it to you, and then never checks back. And option 4 is bad because you now have the user being confused as to what "true" is, especially since ViewTable actually allows for direct editing of the data (this is never something I would do, but it is possible!).
Hence SAS goes with option 1: lock the table from any changes, so you know you have the current information.
Also, a side note; ViewTable is an AF application, it isn't actually a View. ViewTable means "view a table", not "make a view from a table".
As to how you can handle this: writing a view won't help, unfortunately. Note this:
data class;
set sashelp.class;
run;
data class_view/view=class_view;
set class;
run;
Run that, open the view, then rerun the first data step. Yep, you still have it locked! That's because opening the view actually tells SAS to lock the dataset(s) that the view uses, for the same reason as above.
What you can do though:
data class;
set sashelp.class;
run;
proc print data=class;
run;
You can run that all day and it won't have any issue, since the proc print is just a static "view" that doesn't lock anything.
You can also use ODS TAGSETS.TABLEEDITOR, which gives you something a little more useful perhaps.
You can definitely use the keys options to close your tables. Better perhaps is to use Enterprise Guide, which has a nice option that tells EG to close all open datasets before running anything.