Calling DOS in ORACLE 10g
How do I call DOS in Oracle 10g? Currently we are converting fom VGL, a far less sophisticated programming langauge. Currently, VGL works like this:
dos_cmd = "lpr -S ":ip_address:" -P ":ASCII(34):print_queue:ASCII(34):" ":printer
SPAWN dos_cmd,stat QUIETLY
What command can I use to replace dos_cmd for the code above?
Thank you
You can use the HOST command to execute OS commands on the application server. If you need to execute OS commands on the client, you can install WebUtil, which provides that functionality.
Similar Messages
-
Calling report on oracle 10g forms
hi to all,
how can call oracle10g reports to oracle 10g forms? using a parameter..e.g: employee id.
Please i need a sample code...
note : report will not run on internet explorer.
thanks.
Edited by: baguhan on Jul 1, 2009 6:06 AMHai Baguhan,
Try this.
DECLARE
RO_Report_ID REPORT_OBJECT;
Str_Report_Server_Job VARCHAR2(100);
Str_Job_ID VARCHAR2(100);
Str_URL VARCHAR2(100);
PL_ID PARAMLIST ;
BEGIN
PL_ID := GET_PARAMETER_LIST('TEMPDATA');
IF NOT ID_NULL(PL_ID) THEN
DESTROY_PARAMETER_LIST(PL_ID);
END IF;
PL_ID := CREATE_PARAMETER_LIST('TEMPDATA');
RO_Report_ID := FIND_REPORT_OBJECT('REPORT_OBJ');
ADD_PARAMETER(PL_ID, 'EMP_ID', TEXT_PARAMETER, <value to EMPID parameter>);
--FOLLOWING PARAMETERS ARE MANDATORY PARAMETERS TO SET REPORT OBJECT
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_FILENAME, '<report_full_path>');
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_COMM_MODE, SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_EXECUTION_MODE, BATCH);
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESTYPE, FILE);
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_DESFORMAT, 'PDF');
SET_REPORT_OBJECT_PROPERTY(RO_Report_ID, REPORT_SERVER, <report_server_name>);
Str_Report_Server_Job := RUN_REPORT_OBJECT(RO_Report_ID, PL_ID);
Str_Job_ID := SUBSTR(Str_Report_Server_Job, LENGTH(<report_server_name>) + 2, LENGTH(Str_Report_Server_Job));
Str_URL := '/reports/rwservlet/getjobid' || Str_Job_ID || '?server=' || <report_server_name>;
WEB.SHOW_DOCUMENT(Str_URL, '_SELF');
DESTROY_PARAMETER_LIST(PL_ID);
END IF;
END;And add a report object in the form. ( in the above code, its REPORT_OBJ ).
Regards,
Manu.
If this answer is helpful or correct, please mark it. Thanks. -
Problem displaying a report from within Oracle 10g forms.
After a lot of work, we are able to access and actually display a report directly from Internet explorer and view the report from the report server as well.
The successful url was:
http://york.vrc.virginia.gov:7778/reports/rwservlet
?report=/u01/app/oracle/produ ct/vrcmidtier/reports/vrc/pmw41051.rdf
&userid=vrcpr/vrcpr@vrctest&destype=cache&desformat=HTML
The form displays correctly back to the screen
When executing from within the form, however, the report runs but does not display back to the screen.
Forms Steps so far:
created a report object called pmw41050
static parameters are:
file name: /u01/app/oracle/product/vrcmidtier/reports/vrc/pmw41051.rdfination format
execution mode: batch
communication mode: synchronous
destination name; null
destination format: HTML
reportserver:: vrc_york_midtier
Built a when button pressed trigger as follows:
declare
l_report_file varchar2(200);
l_report_id REPORT_OBJECT;
l_report_status varchar2(200);
begin
-- capture the report
l_report_file := 'pmw41051';
l_report_id := find_report_object(l_report_file);
-- set the parameters for this output
set_report_object_property(l_report_id, REPORT_EXECUTION_MODE, BATCH);
set_report_object_property(l_report_id, REPORT_COMM_MODE, SYNCHRONOUS);
set_report_object_property(l_report_id, REPORT_DESTYPE, CACHE);
set_report_object_property(l_report_id, REPORT_DESFORMAT, 'PDF');
set_report_object_property(l_report_id, REPORT_SERVER, 'rep_york_vrcmidtier');
set_report_object_property(l_report_id, REPORT_OTHER, 'PARAMFORM=NO');
set_report_object_property(l_report_id, REPORT_DESNAME, 'DESNAME');
-- and run the report
l_report_status := run_report_object(l_report_id);
-- monitor progress
while l_report_status in ('RUNNING', 'OPENING_REPORT', 'ENQUEUED') loop
l_report_status := report_object_status(l_report_status);
end loop;
message('back from the report'); -- test message for return
end;
The report executes without error (as indicated by the message on the last line) but does NOT display back to the screen
checking the rwservlet/showjobs verifies the report completed and the reportcan be displayed from there.
So, bottom line: how to make a 10g form call report and display it on the screen?Thanks MIke for your feedback...
Will this surfice?
Procedure Test_Report Is
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status VARCHAR2(50);
BEGIN
repid := find_report_object('report5');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_EXECUTION_MODE,BATCH);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,CACHE);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'html');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'repserver90');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER,'paramform=no pdeptno='||:dept.deptno);
v_rep := RUN_REPORT_OBJECT(repid);
rep_status := REPORT_OBJECT_STATUS(v_rep);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
LOOP
rep_status := report_object_status(v_rep);
END LOOP;
IF rep_status = 'FINISHED' THEN
/*Display report in the browser*/
WEB.SHOW_DOCUMENT('http://<YourServerName:8888/reports/rwservlet/getjobid'||
substr(v_rep,instr(v_rep,'_',-1)+1)||'?'||'server=repserver90','_blank');
ELSE
message('Error when running report');
END IF;
END; -
Problem calling a form from another form in oracle 10g
hi,
i have created A basic STUDENT form with all fields and the STUDENT/COURSES master/detail form .
I am trying to place to button on the STUDENT form that when pressed, will call the STUDENT/COURSES form and automatically query the COURSES for the employee being viewed on the STUDENT form.
here is the code i used
DECLARE
pl_id ParamList;
BEGIN
pl_id := Get_Parameter_List('tmpdata');
IF NOT Id_Null(pl_id) then
Destroy_Parameter_list (pl_id);
end if;
pl_id := create_parameter_list ('tmpdata');
add_parameter (pl_id, 'students_id',text_parameter, :s_id);
run_product (forms, 'C:resubmission\stucourse.fmb', synchronous, runtime,
filesystem, pl_id, null);
end;
although it successfully compiled,
when i press the button on the form it is giving me
frm-92101 : there was a failure in the forms sever during start up...
i have tried everything i can think off, am fairly new to this
please any assistance will be appreciated. am using oracle 10g
thanks in advance.Ammad is right, in order to pass a parameter to another Form, the Form you call must have a corresponding parameter. In other words, if you go to the Parameters node of the Object Navigator you need to add a parameter called "STUDENTID" and set the data type and precision of the parameter to match the data you will pass to this parameter.
Once you have this parameter in your called form, you will have to write code in the called form to use the value of the parameter. This code is typically in the When-New-Form-Instance (WNFI) trigger, but that all depends on your requirements. In your example, this seems the appropriate trigger as your intent is to pass the Student ID and query any Courses the Student is enrolled in. Your WNFI trigger needs to check if there is a value in the Student_ID parameter and then set the default where clause of your COURSES datablock and execute a query on the block. For example:
/* Sample WNFI trigger */
/* This example "ASSUMES" your courses block is called COURSES */
BEGIN
IF ( :parameter.STUDENT_ID IS NOT NULL ) THEN
Set_Block_Property('COURSES', OneTime_W.here, 'STUDENT_ID = :Parameter.Student_ID');
Execute_Query;
END IF;
END;
Note: I had to put a period into the "OneTimeW.here" statement in order to get the Editor to accept my post. Please remove the period if you use this sample code.
Hope this helps,
Craig B-)
If a response is helpful or correct, please mark it accordingly.
Edited by: CraigB on May 24, 2010 8:23 AM
Edited by: CraigB on May 24, 2010 8:23 AM
Edited by: CraigB on May 24, 2010 8:26 AM -
SQL 2008 Problem Calling an SP on an Oracle 10G Linked Server
Hi everyone
I've read through a number of posts on many sites about this issue but haven't found anything that has helped me so far. The machine I'm using is running Microsoft SQL Server 2008 64bit and the linked server I've created to Oracle 10G is using OraOLEDB.Oracle. If I test the connection in SQL Management Studio it succeeds and for any queries I have using OpenQuery to select from the Oracle DB I have no problem getting results.
The Oracle 32bit client and 64bit client versions are installed on the machine.
My problem is that I need to exec an Oracle SP which in turn inserts into various Oracle tables. I previously had this all working fine on 32bit SQL Server 2000 installation connected to Oracle 10G. Using the same code in SQL Server 2008 I get the following error:
Msg 7357, Level 16, State 2, Line 1
Cannot process the object "{CALL INTF.INTF_TW_PO_REQ_INTERFACE.MAIN(NULL, 15.000000, 0.000000, 'BLPO0099998', 'BLPO0099998', '', '', 39804, 21883, 'BLPO0099998', 249, 1, 950, 'Main', 190506, 37336, '1', TO_DATE( '20090706','YYYYMMDD' ), TO_DATE( '20090706','YYYYMMDD' ), 'INCOMPLETE',37336, {RESULTSET 1, P_Success})}". The OLE DB provider "OraOLEDB.Oracle" for linked server "ORACLE" indicates that either the object has no columns or the current user does not have permissions on that object
The call is made by the following piece of code in SQL:
SET @execCmd = N'SELECT
P_Success
FROM
OPENQUERY( ORACLE, '''+ @oracleCmd + ''')';
EXECUTE (@execCmd);
Where @oracleCmd = {CALL INTF.INTF_TW_PO_REQ_INTERFACE.MAIN(NULL, 15.000000, 0.000000, ''BLPO0099998'', ''BLPO0099998'', '''', '''', 39804, 21883, ''BLPO0099998'', 249, 1, 950, ''Main'', 190506, 37336, ''1'', TO_DATE( ''20090706'',''YYYYMMDD'' ), TO_DATE( ''20090706'',''YYYYMMDD'' ), ''INCOMPLETE'',37336, {RESULTSET 1, P_Success})}
I also tried using the below snippet from another post I found and got no joy either.
declare @result varchar(255)
exec ('BEGIN
?:= your_SP_Name(''arg1'', ''arg2'', etc);
END;
',@result OUTPUT) at your_LinkedServerName;
select @result;
OLE DB provider "OraOLEDB.Oracle" for linked server "ORACLE" returned message "ORA-06550: line 3, column 7:
PLS-00222: no function with name 'INTF_TW_PO_REQ_INTERFACE' exists in this scope
ORA-06550: line 3, column 1:
PL/SQL: Statement ignored".
I can't figure out why it doesn't work in SQL 2008 when it worked fine in SQL 2000 - PLEASE HELP!
Thank you
Alida HopeWhy development on 10g and production on 8i? Either both should be 8i or both should be 10g.
If you will keep production on 8i and development on 10g then you cannot stop such errors as there are features that are enabled by default in 10g and both the versions have very big differences.
Just go ahead and install 8i. -
How to call Reports in oracle forms 10g
Dear All,
How to call Reports in oracle forms 10g.
I am using Oracle Forms 10g Reports 10g and Database 10 and and Operating system Windows XP.
Please give me the Solution.
Thanks and Regards,
FaziludeenHi Omkar,
Please check the following code.
DECLARE
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
rep_status VARCHAR2(20);
plid ParamList;
BEGIN
plid := Get_parameter_List('tmp');
IF NOT Id_Null(plid) THEN
Destroy_parameter_List( plid );
END IF;
plid := Create_parameter_List('tmp');
add_parameter(plid,'p_parameter',text_parameter,to_char(:POLICY.POLICY_NO));
Add_parameter(plid, 'PARAMFORM', TEXT_parameter, 'NO');
repid := FIND_REPORT_OBJECT('POL_REP');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_COMM_MODE,SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESTYPE,cache);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'PDF');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_OTHER, 'paramform=no');
v_rep := RUN_REPORT_OBJECT(repid,plid);
rep_status := REPORT_OBJECT_STATUS(v_rep);
WHILE rep_status in ('RUNNING','OPENING_REPORT','ENQUEUED')
LOOP
rep_status := report_object_status(v_rep);
END LOOP;
WEB.SHOW_DOCUMENT('http://'||'LENOVO-428E9E41'||'8889'||'/reports/rwservlet/getjobid'||substr(v_rep,instr(v_rep,'_',-1)+1)||'?
'||'server=prod_report_server&P_parameter='||:POLICY.POLICY_NO||
'¶mform=no');
END;
I am used to Start the Report sever 'Rwserver Server=prod_Report_Server Start'
OracleAS Report Services
Version :- 10.1.2.0.2
Name :- prod_report_server
Status :- Server is Shutting down
Jobs in Queue 0
Active Engines 0
I got the Following Error when I trying to run the Report
FRM-41211: Integration error:SSL failure running another product
Thanks and Regards,
Faziludeen -
In Oracle 10g, How to call a report since an option of a menu (*.mmb)
Hello
In Oracle 10g, working since the browser, how to call a report since an option of a menu (*.mmb)? I know to call it in a form (*.fmb), therefore uses the fields bean area and the objects reports, but in a menu there is not neither canvas, neither fields, neither reports. Someone would be able to help me with that?
Kisses. Thanks.
AnnieI understand that you had sent me everything,
I sent for example to you that, no to insert it in your item's menu code,
then,You have to modify it.
... but
a menu (mmb) doesn't have to define him reports
objects... then, what parameter I send to the
function FIND_REPORT_OBJECT:
This is not true
Try out this, and then let me know
You do not need to have a report object defined in the menu. It is enough to have it in forms.
I tried to call a report from the menu in the folowing way:
I created a menu and wrote the following code in one item:
DECLARE
repid REPORT_OBJECT;
v_rep VARCHAR2(100);
BEGIN
repid := find_report_object('report2');
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_EXECUTION_MODE, RUNTIME);
SET_REPORT_OBJECT_PROPERTY(repid, REPORT_COMM_MODE, SYNCHRONOUS);
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESFORMAT,'pdf');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_SERVER,'reportserver1');
SET_REPORT_OBJECT_PROPERTY(repid,REPORT_DESNAME,'C:\p.pdf');
v_rep := RUN_REPORT_OBJECT(repid);
END;Then I created a form with a report object called report2.
I attached the menu to this form and while running this form, I was able to successfully run the report.
In your case, you have to make sure that you have the dummy report object in each form that will have this attached menu.
You can replace by the actual report name as you have written in the code.
Regards -
Calling java from pl/sql in oracle 10g?its very urgent.
Hi Friends,
i hve simple java code:
class Hell
public static String Hello()
return"hello world";
& compile this code using javac & loaded Hell.class in to database using this command
c:\>loadjava -user chandru/shekar@pulser c:\Hell.class
& i wrote pl/sql like:
CREATE OR REPLACE FUNCTION Hell RETURN String as language java name 'Hell.Hello() return java.lang.String';
i will compile the code & run but at that time this error i am getting:
ORA-29516: Aurora assertion failure: Assertion failure at eox.c:317
Uncaught exception System error: java/lang/UnsupportedClassVersionError
I am using oracle 10g.Plzzzzzzzzz help me.Its very important to for me.
Is any path i hve to set for oracle 10g database.Plz any one help me.
regards
shekarHello here is how I solved the problem
Let us assume that i try to load the file Hello.Java into the user scott.
public class Hello {
public static String world() {
return "hello world";
1) Dropjava
You must drop the java class if you already have loaded the class onto the server.
dropjava -u scott/tiger Hello.class
2) load class on server and let the server compile the source code.
It is necessary to compile the source code on the server when the server and the local machine have different Java versions. To check which Java version there is running on the client machine open a command prompt and write Java -version
loadjava -user scott/tiger -resolve Hello.java
3) Publish stored procedure
sqlplus scott/tiger@oracle
CREATE OR REPLACE FUNCTION helloworld RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'Hello.world () return java.lang.String';
4)Call stored procedure
VARIABLE myString VARCHAR2(20);
CALL helloworld() INTO :myString;
PRINT myString;
RGDS
Thomas Winterberg -
Can I call host file ( Unix Shell script ) from Oracle 10g trigger
Hi,
I am new to Oracle 10g. Can I call host file ( unix shell script ) from Oracle 10g trigger ?. I know it is possible. Pl explain me with small example
thanks & regards
paraguser12009546 wrote:
Hi,
I am new to Oracle 10g. Can I call host file ( unix shell script ) from Oracle 10g trigger ?. I know it is possible. Pl explain me with small example
thanks & regards
paragIf you are in 10g, you can simple call shell script from DBMS_SCHEDULER:
BEGIN
DBMS_SCHEDULER.CREATE_JOB (
job_name => 'TEST_SCRIPT',
job_type => 'EXECUTABLE',
job_action => 'PATH_OF_YOUR_SCRIPT',
start_date => SYSDATE,
repeat_interval => 'FREQ=MINUTELY; INTERVAL=1',
enabled => TRUE,
comments => 'Shell script from Oracle'
END;
/ -
Why Oracle 10g is called so?
Why is it not Oracle 10i? What is the difference between Oracle 9i and Oracle 10g?
What for i and g stands?The i first appeared at Designer release 6i and was added to state that this version was "internet enabled". The first version which fully supported a three tier approach (database, application server, web browser). The i lasted up until version 10g in which the g stands for "grid". This version is grid enabled.
-
Can not reset password in Oracle 10g Express
I have searched google for 4 hours, now I am certain:
"May be I am the only one in the world who have this problem."
I installed Oracle 10g Express on my Debian5.
I need to reset password for SYS/SYSTEM users
So I checked online tutorial says I need to use a utility called "orapwd" to recreate a password file.
Everything is smooth since now.
When I finally find this "orapwd" utility. I type "orapwd" as a root user. Terminal replies "orapwd command not found".
I then discovered the orapwd is some kind of x-execute file. After an extensive search on google I concluded that this kind of file is inexecutable.
Many tutorials I read online specify that the "orapwd" is actually "orapwd.exe", but on my Debian system it is "orapwd" with no extension.
Any suggestion is welcome.
ps: is there anyway I can reset password without going through "orapwd" s*t.
Best regards to all who have read to the end of this postEric wrote:
And Billy, what makes you think Windows Administrators do not know administration on command line?Experience dealing with Windows SAs over a decade and a half.
I got my first part time job as a Windows Administrator in the beginning era of Windows 95 in a small netcafe. The boss does not pay me but like me use workstations there for free.
In the early days, I administrate both Dos and Win3.1. I do my work on command line primarily and wrote a hell lot of *.bat files. In those days it were quite different. Because administration and configuration came from a command line DOS environment. We for example never configured networking for a Windows 3.1 or WFW 3.11 client via a GUI. It was done by directly editing system.ini and protocol.ini and making the correct changes.
And this made the guys and me almost fail our Windows CE certification because the silly multiple question exam asked which buttons to click in the GUI to configure networking and not how it works at actual system configuration level. In other words, it tested your knowledge of the GUI functions and not the actual system config and admin itself.
And then Windows NT was released and command line admin became the exception and not the rule. The All-Config-Eggs-in-a-Single-basket called the Windows Registry exemplified this flawed approach.
But since Window95 I find myself spending less and less time on command line, more and more on GUI and my work efficiency increase tremedously. I can record the mouse clicks, the key presses, then covert then into a script. I can change every setting of the system in just few clicks. In the world of Linux, this is still a dream, isn't it?You are missing the point. There are a large number of admin GUI tools available for Linux. But these seldom serve as crutches to configure the system, because of a i-am-clueless-factor.
If two systems, both are equally capable. To acheive the same thing, system A takes 2 working hours, system B takes 8 working hours. Doesn't this makes system B inferior compare to A?Because of the lack of knowledge and skill of a person to do the required on system B in 10 minutes now takes 8 hours instead? Ignorance of an operating system does not qualify as making system B inferior to system A.
In past decade, Linux became very popular in the server market is not becasue there are an increasing number of Linux system administrators who are good at command line administration but because Linux is becoming more user friendly. And as a result. This increased administrator's work efficiency and the same time reduce training cost which invites more people to learn Linux.Incorrect. There is a reason that 483 of the 500 of the fastest and most powerful computer systems on this planet runs Linux. And only 5 runs Windows.
And this has nothing to do with imagined user friendliness. It has everything to do with technical superiority and total cost of ownership.
So the more idiot proof the system is, the better the system will become.No. The less idiots there are, the better the quality of system administration, the better security, the more robust the systems are. -
We are having difficulty getting the Oracle 10g client working for some users. The client installs fine, and works when we are logged in as an administrator, but not as the normal users.
The Oracle Client and our applications are installed on a Citrix Metaframe server (thin client server) running Windows 2003 Server. We install the Oracle client (10.2.0.1.0) on the C: drive, which is hidden from the end users. We then grant permissions to the Oracle directory on the C: drive for them to access the oracle client.
After we install, grant permissions, check environment variables and registry settings, we run Sql Plus to check that we can connect to the database. This all works fine when logged in as an admin ( as do our applications ). But when we try to run SqlPlus as a normal user, we get the login screen, and as soon as we try to connect, the program crashes.
If I run a batch file to try to login to the dos version of SqlPlus, I receive the error:
SP2-1503: Unable to initialize Oracle call interface
SP2-0152: ORACLE may not be functioning properly
I have only found a couple of references to these errors, suggesting that the ORACLE_HOME path must not contain a \ backslash at the end of the path. But this is not the problem.
I even tried refreshing permissions to the registry itself, but that didn't help. I'm really not sure at what point the client is not working, so I'm having trouble debugging.
Any suggestions?We have run across this problem as well and granting 'Create Global Objects' solves it. However, our Windows administrators are resisting implementing it on production servers, saying it's potential security risk.
Has anyone run across this resistance in their shops and been able to overcome it? I can't find any good documentation that will allay the fears of the Windows groups. Their resisting this change is holding up a project.
Thanks,
Paul -
FRM-41211 Integration Error SSL - OracleAS 10g
Hi.
I have error Frm-41211 Integration Error SSL Failure Running Another Product error while calling a report from web form in oracleAS 10g.
I have problem with RUN_REPORT_OBJECT in web forms.
I have error: FRM-41211 SSL integration error .....
OracleAS server began on Windoes XP SP2.
Do you help me ?Hi,
I remember having seen this issue in teh apst. My best recommendation is to work with customer support (metalink.oracle.com)
Frank -
Oracle 10G New Feature........Part 1
Dear all,
from last couple of days i was very busy with my oracle 10g box,so i think this is right time to
share some intresting feature on 10g and some internal stuff with all of you.
Have a look :-
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Oracle 10g Memory and Storage Feature.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1.Automatic Memory Management.
2.Online Segment Shrink
3.Redolog Advisor, checkpointing
4.Multiple Temporary tablespace.
5.Automatic Workload Repository
6.Active Session History
7.Misc
a)Rename Tablespace
b)Bigfile tablespace
c)flushing buffer cache
8.ORACLE INTERNAL
a)undocumented parameter (_log_blocks_during_backup)
b)X$ view (x$messages view)
c)Internal Structure of Controlfile
1.Automatic memory management
================================
This feature reduce the overhead of oracle DBA.previously mostly time we need to set diff oracle SGA parameter for
better performance with the help of own experience,advice views and by monitoring the behaviour
of oracle database.
this was just time consuming activity.........
Now this feature makes easy life for oracle DBA.
Just set SGA_TARGET parameter and it automatically allocate memory to different SGA parameter.
it focus on DB_CACHE_SIZE
SHARED_POOL_SIZE
LARGE_POOL
JAVA_POOL
and automatically set it as
__db_cache_size
__shared_pool_size
__large_pool_size
__java_pool_size
check it in alert_log
MMAN(memory manager) process is new in 10g and this is responsible for sga tuning task.
it automatically increase and decrease the SGA parameters value as per the requirement.
Benefit:- Maximum utlization of available SGA memory.
2.Online Segment Shrink.
==========================
hmmmmm again a new feature by oracle to reduce the downtime.Now oracle mainly focus on availablity
thats why its always try to reduce the downtime by intrducing new feature.
in previous version ,reducing High water mark of table was possible by
Exp/imp
or
alter table move....cmd. but on these method tables was not available for normal use for long hrs if it has more data.
but in 10g with just few command we can reduce the HWmark of table.
this feature is available for ASSM tablespaces.
1.alter table emp enable row movement.
2.alter table emp shrink space.
the second cmd have two phases
first phase is to compact the segment and in this phase DML operations are allowed.
second phase(shrink phase)oracle shrink the HWM of table, DML operation will be blocked at that time for short duration.
So if want to shrink the HWM of table then we should use it with two diff command
first compact the segment and then shrink it on non-peak hrs.
alter table emp shrink space compact. (This cmd doesn't block the DML operation.)
and alter table emp shrink space. (This cmd should be on non-peak hrs.)
Benefit:- better full table scan.
3.Redolog Advisor and checkpointing
================================================================
now oracle will suggest the size of redo log file by V$INSTANCE_RECOVERY
SELECT OPTIMAL_LOGFILE_SIZE
FROM V$INSTANCE_RECOVERY
this value is influence with the value of FAST_START_MTTR_TARGET .
Checkpointing
Automatic checkpointing will be enable after setting FAST_START_MTTR_TARGET to non-zero value.
4.Multiple Temporary tablespace.
==================================
Now we can manage multiple temp tablespace under one group.
we can create a tablespace group implicitly when we include the TABLESPACE GROUP clause in the CREATE TEMPORARY TABLESPACE or ALTER TABLESPACE statement and the specified tablespace group does not currently exist.
For example, if group1 is not exists,then the following statements create this groups with new tablespace
CREATE TEMPORARY TABLESPACE temp1 TEMPFILE '/u02/oracle/data/temp01.dbf'
SIZE 50M
TABLESPACE GROUP group1;
--Add Existing temp tablespace into group by
alter tablespace temp2 tablespace group group1.
--we can also assign the temp tablespace group on database level as default temp tablespace.
ALTER DATABASE <db name> DEFAULT TEMPORARY TABLESPACE group1;
benefit:- Better I/O
One sql can use more then one temp tablespace
5.AWR(Automatic Workload Repository):-
================================== AWR is built in Repository and Central point of Oracle 10g.Oracle self managing activities
is fully dependent on AWR.by default after 1 hr, oracle capure all database uses information and store in AWR with the help of
MMON process.we called it Memory monitor process.and all these information are kept upto 7 days(default) and after that it automatically purge.
we can generate a AWR report by
SQL> @?/rdbms/admin/awrrpt
Just like statspack report but its a advance and diff version of statspack,it provide more information of Database as well as OS.
it show report in Html and Text format.
we can also take manually snapshot for AWR by
BEGIN
DBMS_WORKLOAD_REPOSITORY.CREATE_SNAPSHOT ();
END;
**The STATISTICS_LEVEL initialization parameter must be set to the TYPICAL or ALL to enable the Automatic Workload Repository.
[oracle@RMSORA1 oracle]$ sqlplus / as sysdba
SQL*Plus: Release 10.1.0.2.0 - Production on Fri Mar 17 10:37:22 2006
Copyright (c) 1982, 2004, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.1.0.2.0 - Production
With the Partitioning, OLAP and Data Mining options
SQL> @?/rdbms/admin/awrrpt
Current Instance
~~~~~~~~~~~~~~~~
DB Id DB Name Inst Num Instance
4174002554 RMSORA 1 rmsora
Specify the Report Type
~~~~~~~~~~~~~~~~~~~~~~~
Would you like an HTML report, or a plain text report?
Enter 'html' for an HTML report, or 'text' for plain text
Defaults to 'html'
Enter value for report_type: text
Type Specified: text
Instances in this Workload Repository schema
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
DB Id Inst Num DB Name Instance Host
* 4174002554 1 RMSORA rmsora RMSORA1
Using 4174002554 for database Id
Using 1 for instance number
Specify the number of days of snapshots to choose from
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Entering the number of days (n) will result in the most recent
(n) days of snapshots being listed. Pressing <return> without
specifying a number lists all completed snapshots.
Listing the last 3 days of Completed Snapshots
Snap
Instance DB Name Snap Id Snap Started Level
rmsora RMSORA 16186 16 Mar 2006 17:33 1
16187 16 Mar 2006 18:00 1
16206 17 Mar 2006 03:30 1
16207 17 Mar 2006 04:00 1
16208 17 Mar 2006 04:30 1
16209 17 Mar 2006 05:00 1
16210 17 Mar 2006 05:31 1
16211 17 Mar 2006 06:00 1
16212 17 Mar 2006 06:30 1
16213 17 Mar 2006 07:00 1
16214 17 Mar 2006 07:30 1
16215 17 Mar 2006 08:01 1
16216 17 Mar 2006 08:30 1
16217 17 Mar 2006 09:00 1
Specify the Begin and End Snapshot Ids
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Enter value for begin_snap: 16216
Begin Snapshot Id specified: 16216
Enter value for end_snap: 16217
End Snapshot Id specified: 16217
Specify the Report Name
~~~~~~~~~~~~~~~~~~~~~~~
The default report file name is awrrpt_1_16216_16217.txt. To use this name,
press <return> to continue, otherwise enter an alternative.
Benefit:- Now DBA have more free time to play games.....................:-)
Advance version of statspack
more DB and OS information with self managing capabilty
New Automatic alert and database advisor with the help of AWR.
6.Active Session History:-
==========================
V$active_session_history is view that contain the recent session history.
the memory for ASH is comes from SGA and it can't more then 5% of Shared pool.
So we can get latest and active session report from v$active_session_history view and also get histortical data of
of session from DBA_HIST_ACTIVE_SESS_HISTORY.
v$active_session_history include some imp column like:-
~SQL identifier of SQL statement
~Object number, file number, and block number
~Wait event identifier and parameters
~Session identifier and session serial number
~Module and action name
~Client identifier of the session
7.Misc:-
========
Rename Tablespace:-
=================
in 10g,we can even rename a tablespace by
alter tablespace <tb_name> rename to <tb_name_new>;
This command will update the controlfile,data dictionary and datafile header,but dbf filename will be same.
**we can't rename system and sysaux tablespace.
Bigfile tablespace:-
====================
Bigfile tablespace contain only one datafile.
A bigfile tablespace with 8K blocks can contain a 32 terabyte datafile.
Bigfile tablespaces are supported only for locally managed tablespaces with automatic segment-space management.
we can take the advantage of bigfile tablespace when we are using ASM or other logical volume with RAID.
without ASM or RAID ,it gives poor response.
syntax:-
CREATE BIGFILE TABLESPACE bigtbs
Flushing Buffer Cache:-
======================
This option is same as flushing the shared pool,but only available with 10g.
but i don't know, whats the use of this command in prod database......
anyway we can check and try it on test server for tuning n testing some query etc....
SQL> alter system flush buffer_cache;
System altered.
++++++++++++++++++
8.Oracle Internal
++++++++++++++++++
Here is some stuff that is not related with 10g but have some intresting things.
a)undocumented parameter "_log_blocks_during_backup"
++++++++++++++++++++++++
as we know that oracle has generate more redo logs during hotbackup mode because
oracle has to maintain the a complete copy of block into redolog due to split block.
we can also change this behaviour by setting this parameter to False.
If Oracle block size equals the operating system block size.thus reducing the amount of redo generated
during a hot backup.
WITHOUT ORACLE SUPPORT DON'T SET IT ON PROD DATABASE.THIS DOCUMENT IS JUST FOR INFORMATIONAL PURPOSE.
b)some X$ views (X$messages)
++++++++++++++++
if you are intresting in oracle internal architecture then x$ view is right place for getting some intresting things.
X$messages :-it show all the actions that a background process do.
select * from x$messages;
like:-
lock memory at startup MMAN
Memory Management MMAN
Handle sga_target resize MMAN
Reset advisory pool when advisory turned ON MMAN
Complete deferred initialization of components MMAN
lock memory timeout action MMAN
tune undo retention MMNL
MMNL Periodic MQL Selector MMNL
ASH Sampler (KEWA) MMNL
MMON SWRF Raw Metrics Capture MMNL
reload failed KSPD callbacks MMON
SGA memory tuning MMON
background recovery area alert action MMON
Flashback Marker MMON
tablespace alert monitor MMON
Open/close flashback thread RVWR
RVWR IO's RVWR
kfcl instance recovery SMON
c)Internal Structure of Controlfile
++++++++++++++++++++++++++++++++++++
The contents of the current controlfile can be dumped in text form.
Dump Level Dump Contains
1 only the file header
2 just the file header, the database info record, and checkpoint progress records
3 all record types, but just the earliest and latest records for circular reuse record types
4 as above, but includes the 4 most recent records for circular reuse record types
5+ as above, but the number of circular reuse records included doubles with each level
the session must be connected AS SYSDBA
alter session set events 'immediate trace name controlf level 5';
This dump show lots of intresting information.
it also show rman recordes if we used this controlfile in rman backup.
Thanks
Kuljeet Pal SinghYou can find each doc in html and pdf format on the Documentation Library<br>
You can too download all the documentation in html format to have all on your own computer here (445.8MB)<br>
<br>
Nicolas. -
Error in Installing Oracle 10g Express Edition Universal on WIndows2003
While Installing Oracle 10g XE Universal On WIndows 2003 Server Standard Edition(Which is a standalone Machine). I got an following Error:
Error No: 0x80040707
Error Description: DLL Function Call Crashed: GetHostnameDll.getHostname.
Plz find some solution for the above problem.Hi
Here's the resolution that can work for you:
Disable the "Print Spooler" service before running the installer.
1.Open Control Panel: Start --> Settings --> Control Panel
2.Double-click "Services"
3.On the list of NT Services, right-click "Print Spooler"
4.Select "Stop"
5.Select "Properties"
6.Under Startup Type, select "manual" or "disabled"
7.Reboot your NT Server
8.After rebooting, verify that the Print Spooler is still "stopped".
9.Delete Program Files\Common Files\Installshield\Engine folder
10.Re-run the installer.
11.After installation, re-set the Print Spooler service to Startup type "Automatic" and start the service.
Also, have a look at the installshield page: http://consumer.installshield.com/kb.asp?id=Q108167
-Priya
Maybe you are looking for
-
SMALL ISSUE WITH ALV HIERARCHY
Hi Hi , I have small doubt in alv hierachail report , can anyone tell me how the header and the item level data match i have iheader and iitem internal tables. say i have matnr in iheader ,do i need to have the matnr field in iitem also so if expand
-
Regarding Background job vs Performance.
Hi all, I ran 2 similar programs in background through SE30 for comparing the performance.In SM37 the Duration(sec.) for the 2nd program is 3 times less than the first program after execution.But runtime analysis shows the performance of the first
-
IPhone 4 to iPhone 6 challenge
What are my best options in preparing, or becoming current (ideally economically) for/with the advance in technology? I now have an iPhone 6. I need to transfer everything from my iPhone 4. The problem: my Macbook maxed out with OS X 10.5.8 and disk
-
What is color depth of macbook and is it possible to change it? from 32 to 16bit. if so does it improve system performance?
-
Where to set payment method for automatic payment F110 ?
hello everyone I need some help. user want to use payment method M(manual check) to pay by automatic payment F110. but when use f110 no transaction for that vendor (that vendor using manual check). where to config payment method for automatic payment