The NAC replacement procedure
Hi Experts,
Our 3315 NAC does not work because of a hardware failure. So let's replace that. Therefore kindly confirm the steps to take the backup and the procedure to install it?
Thank you
Kind regards
Vijay.
Since there seems to be no method to perform a backup of the CLI on the appliance 3315, we go the route of the workaround. This may seem a little out there, but the only way I can see a backup being created without using the WebGUI interface.
First of all, you have IP access to the device of the ANC?
If this isn't the case, quit reading and contact TAC.
If you have backups of configuration in the past, they are stored in the/guest/bakcups directory and can be transferred via FTP, SFTP, etc...
If not, then download a upgrade file that is newer than the version you are running (if you are running the latest version, download the upgrade file for this version). In this case, v2.1. Transfer the file to your repository and run the upgrade on the comment of the NAC server.
Note Before the 2.1 update, a snapshot backup of the existing 1.x or 2.0.x database is automatically created and stored in the guest.bak directory. In the case of an upgrade failure, Cisco recommends to make a local backup of this directory.
http://www.Cisco.com/en/us/docs/security/NAC/guestserver/Release_notes/21/gsrn21.html#wp111257
Otherwise, I am at a loss on this issue.
Please rate useful messages and mark this question as answered if, in fact, does that answer your question. Otherwise, feel free to post additional questions.
Charles Moreton
Tags: Cisco Security
Similar Questions
-
Dear,
Can what version of the NAC I install VMware?
Can anyone help please with the above query.
Thank you
NAC is not supported on Vmware. Yet people have managed to install NAC4.1 on Vmware, but newer version do not work.
There is a new product called Cisco ISE, which will eventually replace the NAC. Cisco ISE can be installed on Vmware.
-
The Stub of the NAC for 4.7 Agent options
Hello
Does anyone know if Cisco provides an option of replacement for the role of the NAC Agent of the Stub in version 4.7?
Thank you.
Dennis,
The service is installed as part of installing the agent. Now the agent installation requires administrator rights.
HTH,
Faisal
-
Basic of the NAC deployment question
Hello
Do I have reason to assume that at least 2 devices - a server and Manager must consist of a NAC deployment? or is the manager, an application running on a Windows Server? the Manager can run on the same machine as the server?
My second question concerns Cisco Trust Agent and clean access Agent. CTA has actually managed by CAA? from what I see, CTA was part of the old framework of the NAC until they start using devices.
Many thanks in advance,
DOM
Manager and the server can run on both PC or Cisco devices, which are in fact HP ProLiant DL140 G3 or HP ProLiant DL360 G5 PCs ;) You will need two devices in all cases.
Second question - no one knows what will happen with all technology in the future. Is it completely replaced by MS NAP? The framework of the NAC is cancelled? Two Cisco solutions are not perfect. What customers actually need, is to have all the features of the NAC appliance to operate directly on the routers and Cisco switches. No clean access server no need in this case, only managing! And the OOB mode which is difficult to set up, support and troubleshoot will disappeared. The NAC framework is executed directly on Cisco devices, but it's not feature-REACH as NAC Appliance.
-
Re: "insufficient privileges" error when you run the Java stored procedure in another schema
I get an "insufficient privileges" error when you run the Java stored procedure in another schema, see details below. I don't know what are missing privileges (I already granted the EXECUTE privilege), suggestions? -Thank you.
Define a simple java class and deploy it as a Java stored procedure to test:
Schema: User1
test of the package;
public class HelloWorld {}
public HelloWorld() {
Super();
}
public static String Hello () {}
Return "HELLO";
}
}
CREATE or REPLACE FUNCTION HELLO RETURN VARCHAR2 AUTHID CURRENT_USER AS LANGUAGE JAVA NAME ' test. HelloWorld.hello () return java.lang.String';
Grant execute on USER2 HELLO
Test the Java stored procedure through the PL/SQL function call (in the same schema):
Schema: User1
SET SERVEROUTPUT ON
DECLARE
v_Return VARCHAR2 (200);
BEGIN
v_Return: = User1. HELLO;
DBMS_OUTPUT. Put_line ('v_Return =' | v_Return);
END;
anonymous block filled
v_Return = HELLO
Test the Java stored procedure through the PL/SQL function call in a different pattern:
Schema: USER2
SET SERVEROUTPUT ON
DECLARE
v_Return VARCHAR2 (200);
BEGIN
v_Return: = User1. HELLO;
DBMS_OUTPUT. Put_line ('v_Return =' | v_Return);
END;
Error report-
ORA-01031: insufficient privileges
ORA-06512: at "User1." HELLO', line 1
ORA-06512: at line 4 level
01031 00000 - "insufficient privileges".
* Cause: An attempt was made to change the user name or password
without the privilege appropriate. This error also occurs if
trying to install a database without the need for employment
access privileges.
When Trusted Oracle is configure in DBMS MAC, this error may occur
If the user has been granted the privilege necessary for a higher label
that the connection is active.
* Action: Ask the database to perform the operation or grant administrator
the required privileges.
For users Trusted Oracle get this error, well that granted the
the privilege that is suitable for the top label, ask the database
administrator to grant the privilege to the appropriate label.
You have created the function with AUTHID CURRENT_USER, which means that the function is executed with the rights of the applicant (but not with the rights of the author). This means that the applicant must have grants (directly or through roles) on all used/accessible objects in the service. In your case the user USER2 has not granted with EXECUTE on the class/source Java test. Class HelloWorld, causing the ORA-01031 exception. You create service without AUTHID CURRENT_USER (i.e. with AUTHID DEFINE, which is by default, if you do not have a specific reason to use AUTHID CURRENT_USER) or grant EXECUTE on JAVA test SOURCE. Class HelloWorld to User2.
Dimitar
-
How to move the functions and procedures of packages in a schema?
Hello
I have less than the needs for a work at home and my question is if anyone can point me in the right direction to find documentation that can help me solve below. Any information will be appreciated. Thank you.
Write procedures and functions (included or not in packets) as .txt or .sql scripts. Once they have been launched in Developer SQL they should, in addition, the functions and procedures of packages in the current schema. If the current schema contains only 2 packages, pac1 (p11, p12 procedures and functions f11, f12, f13) and pac2 (contains the p21 following procedures, p22, p23 and f21 and functions f21 (case of overload), running the scripts produce the following effects:)
- Procedures p11, p12, p21, p22, p23, and f11, f12 and f13 functions will be created in the current schema.
- PAC2 will contain 2 instances of the function of overload-f21; they will be kept in the package, without be created in the current schema. If all overloaded procedures/functions will be kept in their original packaging
- If pac1 contains variables, cursors, and public types, keep us only the details of the package (and remove the body); usually if the packages contain no overloaded functions or procedures the body will be removed and if no variable, cursors, types of public then we will remove the header.
- If in the triggers, procedures and functions we will call procedures/functions packages (procedures and functions moved into the current schema) they reference will need to be updated (via editing the body or recompilation) for example if pa1.p12 will be replaced with p12.
- Scripts must have numbers in the next series (01... n) and the characters that explain the content.
My only advice would be to remember that these are public forums and if YOU can find them, therefore cannot your instructors.
In addition, those are horrible procedure names and function
This mission seems to be around to overload the pl/sql objects and... prioritize a research on Oracle documentation around overhead and legacy
http://docs.Oracle.com/CD/B28359_01/AppDev.111/b28371/adobjplsql.htm#i21148 -
USING THE parameters in procedures
Hello Experts;
Hello all;
I am trying to run a program by using the parameter of the procedure (IN and OUT IN).
I have an emp table I want to update the details of the column perk.
> > Here is coding > >
1 create or replace procedure emp_salary
2 (id IN emp.eid%type, salary IN OUT emp.esalary%type) IS
number of tmp_sal 3.
4 BEGIN
5. Select esalary in the tmp_sal of the emp where eid = id;
6 If tmp_sal between 10000 and 20000 THEN
7 salary_inout: = tmp_sal * 1.2;
8 tmp_sal between 20001 and 29999 ElseIf THEN
9 salary_inout: = tmp_sal * 1.8;
10 if ELS tmp_sal > 30000 then
11 salary_inout: = tmp_sal * 2.0;
12 * END;
SQL > /.
CAUTION: Procedure created with compilation errors.
SQL > show errors;
PROCEDURAL EMP_SALARY errors:
LINE/COL ERROR
-------- -----------------------------------------------------------------
10/5 PLS-00103: encountered the symbol "IF" when awaits an of the
Next: =. ( @ % ; The symbol ';' was replaced by 'IF' continue.
12/4 PLS-00103: encountered the symbol ";" when expecting one of the
Suite: If
MY version of DB is: 10.2.0.1
Details of the EMP:
SQL > select * from emp;
| EID | ENAME | EQUAL | ESALARY | ECITY | EPERK |
1 sona | MBA | 10000 | ******** | |
Maya 2 | MCA | 15000 | **********| |
3 sony | MSC | 20000 | **** | |
4 King | Magnin | 22000 | **********| |
5 ford | Magnin | 40000 | **********| |
Thanks in advance;
Hello
Sorry, I'm not sure to understand any issue.
8f953842-815B-4D8C-833d-f2a3dd51e602 wrote:
Hello Frank klush.
> Argument datatype >
EID NUMBER
ESALARY VARCHAR2 (15)
Question 1: if I declare esalary is varchar2, how will this affect my argument?
As I have already said, the pay argument is not used. As long as it is not used, it doesn't matter what type of data it has, but you must call the procedure with an argument of this type of data.
Because you named the "wages" argument, I suppose that it is supposed to contain a value that could come from the emp table esalary column. If that's what you plan to use it for, then you stated correctly in the procedure, such as emp.esalary%TYPE. If you change the defifinitin = table one to be esalart (for example) a certain NUMBER (which seems to be a good idea), then you will not have to change the code anything in the procedure, simply recompile the procedure.
Question 2: Ok. Emp_salary procedure requires 2 arguments, if, therefore, here only one argument is passed for example salary only.
What makes sense here?
DECLARE
- s emp.esalary%TYPE;
- BEGIN
- emp_salary (123, s);
- END;
- /
Thanks in advance, really I put t know this logic. Please explain a little more.
because I learn pl/sql.
Thank you.
Where is that a single argument?
In your original code, zero arguments were passed.
In the anonymous block above, two arguments are passed:
(1) the literal NUMBER 123. The 1st formal argument, id, has the data type of emp.eid%TYPE, and emp.eid said a NUMBER, so 123 is a value to pass as the argument IN perfectly well.
(2) the variable s. The 2nd formal argument, salaries, is defined as emp.esalary%TYPE, and that's exactly how s is defined, so s is a perfectly fine variable pass as argument IN OUT.
-
Hi all
11.2.0.1
Can you help me to debug what is that pl/sql code error? Thank you
SQL> create or replace procedure sp_Validate3(p_acr_no IN varchar2 2 ,p_recordset OUT sys_refcursor 3 ) as 4 begin 5 open p_recordset for 6 select am.acr_no as acr_no 7 ,'TEST' as lastname 8 ,nvl(a.or_no,'0') as ecc_orno 9 ,nvl(b.or_no,'0') as rp_orno 10 ,nvl(c.or_no,'0') as ar_orno 11 from tab t 12 join acr_master am on (trim(acr_no) = p_acr_no) 13 left outer join payment_master a on (payment_type = 'ECC' and trim(acr_no) = p_acr_no) 14 left outer join payment_master b on (payment_type = 'RP' and trim(acr_no) = p_acr_no) 15 left outer join payment_master c on (payment_type = 'AR' and trim(acr_no) = p_acr_no); 16 end; 17 / Warning: Procedure created with compilation errors. SQL> show error Errors for PROCEDURE SP_VALIDATE3: LINE/COL ERROR -------- ----------------------------------------------------------------- 6/5 PL/SQL: SQL Statement ignored 13/80 PL/SQL: ORA-00918: column ambiguously defined SQL>
create table acr_master(acr_no varchar2(10)) drop table payment_master create table payment_master(or_no varchar2(10),acr_no varchar2(10),payment_type varchar2(10)) /* Formatted on 06/06/2013 6:06:58 PM (QP5 v5.126.903.23003) */ CREATE OR REPLACE PROCEDURE sp_Validate3 (p_acr_no IN VARCHAR2, p_recordset OUT sys_refcursor) AS BEGIN OPEN p_recordset FOR SELECT am.acr_no AS acr_no, 'TEST' AS lastname, NVL (a.or_no, '0') AS ecc_orno, NVL (b.or_no, '0') AS rp_orno, NVL (c.or_no, '0') AS ar_orno FROM tab t JOIN acr_master am ON (TRIM (acr_no) = p_acr_no) LEFT OUTER JOIN payment_master a ON (payment_type = 'ECC' AND TRIM (acr_no) = p_acr_no) LEFT OUTER JOIN payment_master b ON (payment_type = 'RP' AND TRIM (acr_no) = p_acr_no) LEFT OUTER JOIN payment_master c ON (payment_type = 'AR' AND TRIM (acr_no) = p_acr_no); END; / SQL> show error Errors for PROCEDURE SP_VALIDATE3: LINE/COL ERROR -------- ----------------------------------------------------------------- 6/5 PL/SQL: SQL Statement ignored 13/80 PL/SQL: ORA-00918: column ambiguously defined SQL> --In the below code after keeping alias names of the tables, the procedure compiled successfully /* Formatted on 06/06/2013 6:06:58 PM (QP5 v5.126.903.23003) */ CREATE OR REPLACE PROCEDURE sp_Validate3 (p_acr_no IN VARCHAR2, p_recordset OUT sys_refcursor) AS BEGIN OPEN p_recordset FOR SELECT am.acr_no AS acr_no, 'TEST' AS lastname, NVL (a.or_no, '0') AS ecc_orno, NVL (b.or_no, '0') AS rp_orno, NVL (c.or_no, '0') AS ar_orno FROM tab t JOIN acr_master am ON (TRIM (acr_no) = p_acr_no) LEFT OUTER JOIN payment_master a ON (a.payment_type = 'ECC' AND TRIM (a.acr_no) = p_acr_no) LEFT OUTER JOIN payment_master b ON (b.payment_type = 'RP' AND TRIM (b.acr_no) = p_acr_no) LEFT OUTER JOIN payment_master c ON (c.payment_type = 'AR' AND TRIM (c.acr_no) = p_acr_no); END; /
-
Why thr r 2 options is/during the creation of procedure or function
why there are 2 options avialable IS/AS creating procedure or function?
As
create or replace procedure (NUMBER p_nbr) AS
create or replace procedure (NUMBER p_nbr) IS
tried both options has observed the same result...
Thr is a differnce between IS and YOUSShubhangi wrote:
why there are 2 options avialable IS/AS creating procedure or function?As
create or replace procedure (NUMBER p_nbr) AS
create or replace procedure (NUMBER p_nbr) IS
tried both options has observed the same result...
Thr is a differnce between IS and YOU
On the technical side... There is no difference.
With respect to the English language, it would depend on what you describe...[do something] As follows...
[this item] IS defined as...So in terms of programming language, we could say that:
create or replace procedure test (p_nbr NUMBER) AS...
reads most naturally as
create or replace procedure test (p_nbr NUMBER) IS...
It's 'action' to create or replace something.
Whereas, for example, a procedure in a package...
procedure test (p_nbr NUMBER) IS...
is clearer than
procedure test (p_nbr NUMBER) AS...
because it's stating what IS the procedure, rather than the Act of creation. (the packaging itself be "would create package... AS")
Regarding Oracle's good, he doesn't care, they are interchangeable. For me personally, I like to use the one that makes it easy to read.
-
Caveats in the PL/SQL procedure
Could Hi you help me with this procedure?
Errors:CREATE OR REPLACE PROCEDURE last_analyzed_idx( own1 IN VARCHAR, part IN VARCHAR) AS j NUMBER; f UTL_FILE.FILE_TYPE; str VARCHAR(120); CURSOR analyzed_cur IS SELECT t.table_name table_name, i.INDEX_NAME INDEX_NAME, i.INDEX_TYPE INDEX_TYPE, i.num_rows idx_rows, t.num_rows tab_rows, t.last_analyzed tab_last, i.last_analyzed idx_last, i.LEAF_BLOCKS LEAF_BLOCKS, i.DISTINCT_KEYS DISTINCT_KEYS, SUM(s.bytes)/1024/1024 S_MB, SUM(s.blocks) S_BLK FROM dba_tables t, dba_indexes i, dba_segments s WHERE t.table_name = i.table_name AND t.owner = i.TABLE_OWNER AND t.owner = own1 AND t.PARTITIONED ='NO' AND s.segment_name = i.index_name AND s.partition_name IS NULL GROUP BY t.table_name, i.INDEX_NAME, i.INDEX_TYPE, i.num_rows, t.num_rows, t.last_analyzed, i.last_analyzed, i.LEAF_BLOCKS, i.DISTINCT_KEYS; CURSOR analyzed_cur1 IS SELECT t.table_name table_name, i.INDEX_NAME index_name, i.partition_name part_name, i.num_rows index_rows, t.num_rows table_rows, t.last_analyzed tab_last, i.last_analyzed idx_last, i.LEAF_BLOCKS leaf_blocks, i.DISTINCT_KEYS distinct_keys, SUM(s.bytes)/1024/1024 S_MB , SUM(s.blocks) S_BLK FROM dba_tab_partitions t, dba_ind_partitions i, dba_segments spartition_name WHERE t.table_name IN (SELECT table_name FROM dba_indexes WHERE index_name = i.index_name ) AND t.PARTITION_POSITION = i.PARTITION_POSITION AND t.table_owner = i.index_OWNER AND t.table_owner = own1 AND s.segment_name = i.index_name AND s.partition_name = i.partition_name GROUP BY t.table_name, i.INDEX_NAME, i.partition_name, i.num_rows, t.num_rows, t.last_analyzed, i.last_analyzed, i.LEAF_BLOCKS, i.DISTINCT_KEYS; BEGIN IF part='YES' THEN f := UTL_FILE.FOPEN('DIR','last_analyzed_indexes_'||own1||'_'||part,'W',1000); FOR j IN analyzed_cur1 LOOP str:=j.table_name||','||j.INDEX_NAME||','||j.part_name||','||j.index_rows||','||j.table_rows||','|| j.tab_last||','||j.idx_last||','||j.LEAF_BLOCKS||','||j.DISTINCT_KEYS||','|| j.S_MB||','|| j.S_BLK; UTL_FILE.PUT_LINE(f,str); END LOOP; UTL_FILE.FCLOSE(f); ELSE f := UTL_FILE.FOPEN('DIR','last_analyzed_indexes_'||own1,'W',1000); FOR j IN analyzed_cur LOOP str:=j.table_name||','||j.INDEX_NAME||','||j.index_type||','||j.idx_rows||','||j.tab_rows||','|| j.tab_last||','||j.idx_last||','||j.LEAF_BLOCKS||','||j.DISTINCT_KEYS||','|| j.S_MB||','|| j.S_BLK; UTL_FILE.PUT_LINE(f,str); END LOOP; UTL_FILE.FCLOSE(f); END IF; END last_analyzed_idx;
Thank youNAME TYPE LINE POSITION TEXT LAST_ANALYZED_IDX PROCEDURE 62 7 PL/SQL: ORA-00904: "S"."PARTITION_NAME": invalid identifier ERROR 0 LAST_ANALYZED_IDX PROCEDURE 41 5 PL/SQL: SQL Statement ignored ERROR 0 LAST_ANALYZED_IDX PROCEDURE 78 12 PLS-00364: loop index variable 'J' use is invalid ERROR 364 LAST_ANALYZED_IDX PROCEDURE 78 7 PL/SQL: Statement ignored ERROR 0
FROM dba_tab_partitions t,.
dba_ind_partitions I,.
dba_segments spartition_name"BOLD" is the source of the problem.
-
Optimization of the insert/update procedure
My requirement is to insert into the TEST table using the select query.
If the new record found then insert into the table
Otherwise update the table with the procedure in the p_dt and p_bno parameters.
I've written as below. It works fine,
But you want to optimize the code.
Could you help me in this.
Could you help me in this.create table test (o_id number,rt_cd varchar2(11),fator varchar2(11),l_ind varchar2(11), up_dt date,bc_no number) create or replace procedure proc_test ( P_dt DATE ,P_bno NUMBER) IS cursor c_nm is select distinct a.id vo_id,b.r_cd vrt_cd,null vfator, 'C' vl_ind,p_dt up_dt,p_bno bc_no from test1 a,test2 b where a.id =b.id BEGIN BEGIN insert into test ( o_id,rt_cd,fator,l_ind,up_dt,bc_no) select * from (select distinct a.id vo_id,b.r_cd vrt_cd,null vfator, 'C' vl_ind,p_dt up_dt,p_bno bc_no from test1 a,test2 b where a.id =b.id) T where not exists (select 1 from test t1 where T.o_id = t1.o_id and T.r_cd = t1.r_cd ); commit; Exception when others then DBMS_OUTPUT.PUT_LINE(' In Error'|||| SQLCODE|| '-'|| SQLERRM); for i in c_cur loop update test set o_id =i.vo_id ,rt_cd =i.vrt_cd,fator =i.vfator ,l_ind =i.vl_ind,up_dt=p_dt ,bc_no =p_bno where o_id=i.vo_id and rt_cd =i.vrt_cd ; end loop; commit; exception when others then DBMS_OUTPUT.PUT_LINE(' Main Error'|||| SQLCODE|| '-'|| SQLERRM); end;
-
Access to the views dba procedure
Hi all
Using Oracle 10.2.0.5 on 64-bit RedHat, I meet a strange thing while trying to do a procedure: I can access dba_tablespace from sqlplus, but I can't leave a procedure...
This one works very well: Select tablespace_name dba_tablespaces;
But it gives me the error:
CREATE OR REPLACE PROCEDURE show_ts IS
BEGIN
FOR rec IN (SELECT FROM dba_tablespaces) *.
LOOP
NULL;
END LOOP;
END show_ts;
* 4/14 PL/SQL: statement ignored SQL *.
* 4/28 PL/SQL: ORA-00942: table or view does not exist *.
My user has DBA privileges and session_privs, I see those:
SELECT ANY DICTIONARY
SELECT ANY TABLE
dba_tablespaces seems to be part of the SYS schema, but change my request from dba_tablespaces to sys.dba_tablespaces gives me the same error...
I also have the same error with dba_users, but again, this works very well the procedure...
Does anyone know why?
Thank you!Hello
PL/SQL disables roles. In order to access a table inside PL/SQL code you need to grant SELECT directly on the table.
Best regards
Nikolai -
Accept user entries in the pl/sql procedure
Someone would want to explain to me how can I accept user entries in the following stored procedure
The above program works very well, but if I want to keep a condition WHERE No. 12 online which is WHERE deptno: = & deptno... My logic does not work with just like that. So, can anyone tell me what can I do to accept a number of the user Department.CREATE OR REPLACE PROCEDURE calsal IS CURSOR maxsal IS SELECT * FROM emp; max_sal emp.sal%TYPE; BEGIN SELECT MAX (sal) INTO max_sal FROM emp; FOR i IN maxsal LOOP IF i.sal = max_sal THEN DBMS_OUTPUT.put_line ( ' Maximum salary plus bonus of ' || i.empno || ' is ' || (i.sal + i.sal * 0.5) ); END IF; END LOOP; END;
Thanks in advance!And what happens if there are several employees who earn max or min. I'll assume that all get award-winning correspondent. I will also assume that if all employees of the Department get the same salary (so they are min and max), they will get. 5% bonus:
CREATE OR REPLACE PROCEDURE calsal(p_deptno number) IS CURSOR maxsal IS SELECT empno, CASE WHEN cnt = 1 THEN SAL * 1.005 WHEN rank_max = 1 THEN SAL * 1.005 WHEN rank_min = 1 THEN SAL * 1.1 END sal_and_bonus FROM ( SELECT empno, COUNT(DISTINCT SAL) OVER() cnt, RANK() OVER(ORDER BY SAL DESC) rank_max, RANK() OVER(ORDER BY SAL) rank_min, sal FROM emp WHERE deptno = p_deptno ) WHERE rank_max = 1 OR rank_min = 1; BEGIN FOR v_rec IN maxsal LOOP DBMS_OUTPUT.put_line ( ' Salary plus bonus of ' || v_rec.empno || ' is ' || v_rec.sal_and_bonus ); END LOOP; END; /
SY.
Published by: Solomon Yakobson August 1, 2011 13:50
-
Call the PL/SQL procedure with different parameters?
I use PL/SQL for web development. I have a page of PL/SQL which collects information and returns the user off site with one return url (another PL/SQL procedure).
I have the return procedure with every documented return variable (default null) in order to always take the return. However, there are (reported... cannot reproduce because of the nature of the business) cases where a 404 error is returned because of the incompatibility of parameter.
Is it possible to proceed regardless of the parameters? Someone at - it suggestions?
Thank you!user2960509 wrote:
My problem is that they sometimes send back of settings that do not match what I expect.
Use the interface "+ flexible +" mod_plsql - see the Oracle® HTTP Server mod_plsql user's Guide for the documented details.
The signature of the procedure parameter is as follows (it is called by mod_plsql using tables of name value pairs):
create or replace procedure Scott.MyWebProc( name_array owa.vc_arr, value_array owa.vc_arr) is ...
In your code, you just browse the berries to get the name values passed query string. You can even filled an associative array in your code (a table indexed by string and no number, where the index string represents the name of param)-this approach can make it pretty easy for the code make reference to a parameter, with little effort on your part to provide an interface to query by name for code to get the value of a parameter name.
To enable the flexible (aka parameter 2) call interface, precede the call to web with an exclamation character. For example
http://my-webserbver.my-domain.com/pls/dad/!scott.mywebproc?name-1=val-1&name-2=val-2..,name-n=val=n
-
Ampersand substitution in create or replace procedure statement
Hi guys,.
I wonder why my replacement ampersand works in a create or replace statement of the stored procedure.
CREATE OR REPLACE PROCEDURE UPDATE_DIM_SALES AS
Cancel the DEFINITION DimSales;
Cancel the DEFINITION FactTable;
SET DimSales = 'TESTTAB;
SET FactTable = myfact;
BEGIN
*...*
Error (5,20): PLS-00103: encountered the symbol "=" when expected as follows: =. (@ %; not null default range character)
If I assign the value with: = I get the error "invalid table" thereafter for the statemnt of INSERTION:
CREATE OR REPLACE PROCEDURE UPDATE_DIM_SALES AS
Cancel the DEFINITION DimSales;
Cancel the DEFINITION FactTable;
SET DimSales: = ' x 2';
SET FactTable: = ' x 1';
BEGIN
INSERT INTO & DimSales (column1, column2,...)
Why not the ampersand substitution work in a stored procedure?No problem with the carpet. Display. But you don't need to create and drop them again. Simply create a time and refresh just before departure if necessary. I expect the creation and updating of points of view is fast comparibly. Also access to the seller_id should be indexed.
Your original pl/sql block is slow due to several reasons. One might be that you agree to each line. Engage is an extremely slow process. He avoid as much as possible. Another part might be that you make all the changes of context of pl/sql. The obvious way to avoid this would be to BULK operations (bulk-select + Forall). It is not so difficult. The size of the collection must be limited to a lower amount.
Best way would be to measure the performance of pl/sql parts using a tool such as DBMS_PROFILER. Then you can decide what part is slow and must be granted.
A simple insert could be faster. Did you test that?
example not tested
INSERT /*+append */ INTO &DimSales (K_Sales,REG,BVL,DS, VS,RS,GS,VK) (SELECT trim(leading '0' from RS||GS) ,REG, BVL,DS, VS,RS,GS,VK from &FactTable f join &testsales s on f.SellerNo =s.Seller_No; commit;
You can run the other issues, but this is generally the fastest approach. Try to avoid the separate if possible. This requires a sort and will slow down the insert of a lot.
Published by: Sven w. on November 30, 2010 17:10
Maybe you are looking for
-
Ports USB Hi-Speed on Satellite P200-140
I use a P200-140 and it was announced as having USB 2.0 ports, but whenever I have something to connect to USB ports, the message appears: this device can perform faster if plug you it into a USB Port of speed Hi. This laptop is supposed to have 4 hi
-
Buy Microsoft Office home and Student 2007
I bought the Microsoft Office Home and Student 2007 for my laptop to buy full license. I received the confirmation email. The money has been debited to my credit card. I was able to download the program on the internet from Microsoft. Everything work
-
Intermittent problem "USB not detected" Genius Traveler Laser 315 mouse.
Original title: the USB mouse not detected ------------------------------------------------------------------------------------------------------------------------------------------------- My problem is this: I have a Genius Traveler Laser 315 mouse
-
Preparation of files for Server BES (to be pushed to employees)
Hello What are the exact steps I must follow to gte my application on Server BES of the customer so that they can push their employees? I know how to do OTA from our server, but have never tried on a person BES. Is it just the COD and ALX files, I ne
-
Organize your desktop automatically by DATE Photos
HelloI have a small concert photo editing that come to me (by email), all day, like a daily assignment. It can be of 3 photos, it may be 50. But they all get made and sent this day there. I have... 2 computers. We are old and for my photography only