Oracle Physical schema password management
Hi:
After setting up an Oracle physical schema and attaching a data store, I did a lot of work reversing tables, views etc and using them in my integrations, procedures etc. I never had to look back at the physical schema until we went into production, and the IT have informed me that there is a password ageing restriction for production systems. I made provisions for other system passwords (Planning, Essbase etc) using variables. But I couldn't get my head around to doing it at the Phsyical schema level.
Given that this is a classic problem, has anyone run into this sort of issue before, and if yes, what's the best practice to deal with it?
Any help would be greatly appreciated
Thanks
Rajesh,
I see that you are using variables in Planning, essbase. On the same lines you can uses the variable as a password in the physical schema for database servers as well.
Not that this is the best practice.
But if your IT has a password ageing restriction - how tough is it for you to change it in the Topology Manager. That is the same as changing it in a database table and refreshing a variable from it but with less overhead.
Or you can change your system to use service accounts. Usage of service accounts is the best practice for things like these. Ask them - How do they run automated jobs on Unix ? Do they change the passwords for those accounts every now and then. I think the answer that you will get is "We use service accounts for that"
Are the database passwords stored in LDAP somewhere. Perhaps you can use JNDI to authenticate your database user/password from LDAP.
In the Dataserver connection properties, you will see the "JNDI Connection" checkbox. If you select it, it will change the next tab to let you add LDAP details.
Hope that helps
Similar Messages
-
Oracle user(schema) passwords !!
I have two questions about oracle user passwords for our security based policies:
1. How can we determine oracle user passwords?
2 How can we determine weak oracle user passwords?
Any help will be appreciated.
Regards.*1. How can we determine oracle user passwords?*
Refer to this link
http://forums.oracle.com/forums/thread.jspa?messageID=9607371�
*2 How can we determine weak oracle user passwords?*
Although the passwords in Oracle are encrypted, there is always possibilities that a user will choose a simple password like the same as his/her userid and here is doc about database security
http://www.pentest.co.uk/cgi-bin/vie...at=whitepapers -
How do you update the schema password from Oracle Enterprise Manager...
How do you update the schema password from Oracle Enterprise Manager...
Or do you mean, change the SYSMAN's password?
If this is the case, I suggest you to refer to this link --> EM HowTo Reset sysman Password
~ Madrid -
Username/Password for Oracle Portal Schema
hi,
I've found a way to change the complete layout of the portal pages (was my request yesterday) by using the Dreamweaver MX extension for building unstructured UI templates but in the configuration of the web service to use, I have to set some values, in brief the schema's username and password and it's written that I can read the Oracle AS documentation to know how to find out these 2 values but I'm reading it since yesterday and I can't find a way to get them.
Does anyone knows how I could?
Thanks.
D.D.
The value of the portal schema passwrod is stored in Oracle Internet Directory. You could use Oracle Directory Manager to query this or try this shell script for unix:
#!/bin/ksh
echo "\n================================"
echo "\n Get Schema Password From OID"
echo "\n================================"
echo "\nEnter the password of the cn=orcladmin user (usually the ias installation password): \c"
stty -echo
read OIDPW
stty echo
if [[ -z $OIDPW ]]; then
echo "OID Admin password required!"
else
echo "\nEnter the name of the Host on which OID is installed : \c"
read OIDHOST
if [[ -z $OIDHOST ]]; then
echo "No OID host specified!"
else
echo "\nEnter the OID Listen Port (default 3060): \c"
read OIDPORT
if [[ -z $OIDPORT ]]; then
echo " - No OID Port specified, using default"
OIDPORT=3060
fi
echo "\nEnter the desired Oracle schema name (default orasso): \c"
read DBUSERNAME
if [[ -z $DBUSERNAME ]]; then
echo " - No schema value entered, using default"
DBUSERNAME=orasso
fi
echo "\nLooking up the ${DBUSERNAME} schema password from $OIDHOST:$OIDPORT"
echo "\n>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>"
$ORACLE_HOME/bin/ldapsearch -h $OIDHOST -p $OIDPORT -D "cn=orcladmin" -w "$OIDPW" -b "cn=IAS Infrastructure Databases,cn=IAS,cn=Products,cn=OracleContext" "orclResourceName=$DBUSERNAME" orclpasswordattribute
echo "\n<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<"
fi
fi -
How to compare two oracle database schemas
hi all,
i want to compare and find out differences between two oracle databases. The comparison should be made on between table definition,table data,primary and foreign keys, packages and functions.
Is there any management console or tool embedded in the oracle enterprise manger?
it is really appreciate if anyone can point me towards wright direction asap.Hi ,
This script would help u a lot in comparing 2 schemas and generate a report on them.
Script:
This script will compare two Oracle schemas and generate a report of
discrepencies and this script has been used against Oracle 7.3.4, 8.0.5,
REM and 8.1.7 databases, but it should also work with other versions.
REM
REM Please note that the following schema object types and attributes are
REM not compared by this script at this time:
REM
REM cluster definitions
REM comments on tables and columns
REM nesting, partition, IOT, and temporary attributes of tables
REM snapshots/materialized views, logs, and refresh groups
REM foreign function libraries
REM object types
REM operators
REM indextypes
REM dimensions
REM auditing information
REM new schema attributes added for Oracle 9i
REM
REM Version 02-04-2002
REM
PROMPT
PROMPT Schema Comparison
PROMPT =================
PROMPT
PROMPT Run this script while connected to one Oracle schema. Enter the Oracle
PROMPT username, password, and SQL*Net / Net8 service name of a second schema.
PROMPT This script will compare the two schemas and generate a report of
PROMPT differences.
PROMPT
PROMPT A temporary database link and table will be created and dropped by
PROMPT this script.
PROMPT
ACCEPT schema CHAR PROMPT "Enter username for remote schema: "
ACCEPT passwd CHAR PROMPT "Enter password for remote schema: " HIDE
ACCEPT tnssvc CHAR PROMPT "Enter SQL*Net / Net8 service for remote schema: "
PROMPT
ACCEPT report CHAR PROMPT "Enter filename for report output: "
SET FEEDBACK OFF
SET VERIFY OFF
CREATE DATABASE LINK rem_schema CONNECT TO &schema IDENTIFIED BY &passwd
USING '&tnssvc';
SET TRIMSPOOL ON
SPOOL &report
SELECT SUBSTR (RPAD (TO_CHAR (SYSDATE, 'mm/dd/yyyy hh24:mi:ss'), 25), 1, 25)
"REPORT DATE AND TIME"
FROM SYS.dual;
COL local_schema FORMAT a35 TRUNC HEADING "LOCAL SCHEMA"
COL remote_schema FORMAT a35 TRUNC HEADING "REMOTE SCHEMA"
SELECT USER || '@' || C.global_name local_schema,
A.username || '@' || B.global_name remote_schema
FROM user_users@rem_schema A, global_name@rem_schema B, global_name C
WHERE ROWNUM = 1;
SET PAGESIZE 9999
SET LINESIZE 250
SET FEEDBACK 1
SET TERMOUT OFF
PROMPT
REM Object differences
REM ==================
COL object_name FORMAT a30
PROMPT SUMMARY OF OBJECTS MISSING FROM LOCAL SCHEMA
SELECT object_type, COUNT (*)
FROM
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name)
FROM user_objects@rem_schema
MINUS
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name)
FROM user_objects
GROUP BY object_type
ORDER BY object_type;
PROMPT SUMMARY OF EXTRANEOUS OBJECTS IN LOCAL SCHEMA
SELECT object_type, COUNT (*)
FROM
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name)
FROM user_objects
WHERE object_type != 'DATABASE LINK'
OR object_name NOT LIKE 'REM_SCHEMA.%'
MINUS
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name)
FROM user_objects@rem_schema
GROUP BY object_type
ORDER BY object_type;
PROMPT OBJECTS MISSING FROM LOCAL SCHEMA
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name) object_name
FROM user_objects@rem_schema
MINUS
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name) object_name
FROM user_objects
ORDER BY object_type, object_name;
PROMPT EXTRANEOUS OBJECTS IN LOCAL SCHEMA
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name) object_name
FROM user_objects
WHERE object_type != 'DATABASE LINK'
OR object_name NOT LIKE 'REM_SCHEMA.%'
MINUS
SELECT object_type,
DECODE (object_type,
'INDEX', DECODE (SUBSTR (object_name, 1, 5),
'SYS_C', 'SYS_C', object_name),
'LOB', DECODE (SUBSTR (object_name, 1, 7),
'SYS_LOB', 'SYS_LOB', object_name),
object_name) object_name
FROM user_objects@rem_schema
ORDER BY object_type, object_name;
PROMPT OBJECTS IN LOCAL SCHEMA THAT ARE NOT VALID
SELECT object_name, object_type, status
FROM user_objects
WHERE status != 'VALID'
ORDER BY object_name, object_type;
REM Table differences
REM =================
PROMPT TABLE COLUMNS MISSING FROM ONE SCHEMA
PROMPT (NOTE THAT THIS REPORT DOES NOT LIST DISCREPENCIES IN COLUMN ORDER)
SELECT table_name, column_name, 'Local' "MISSING IN SCHEMA"
FROM user_tab_columns@rem_schema
WHERE table_name IN
SELECT table_name
FROM user_tables
MINUS
SELECT table_name, column_name, 'Local' "MISSING IN SCHEMA"
FROM user_tab_columns
UNION ALL
SELECT table_name, column_name, 'Remote' "MISSING IN SCHEMA"
FROM user_tab_columns
WHERE table_name IN
SELECT table_name
FROM user_tables@rem_schema
MINUS
SELECT table_name, column_name, 'Remote' "MISSING IN SCHEMA"
FROM user_tab_columns@rem_schema
ORDER BY 1, 2;
COL schema FORMAT a15
COL nullable FORMAT a8
COL data_type FORMAT a9
COL data_length FORMAT 9999 HEADING LENGTH
COL data_precision FORMAT 9999 HEADING PRECISION
COL data_scale FORMAT 9999 HEADING SCALE
COL default_length FORMAT 9999 HEADING LENGTH_OF_DEFAULT_VALUE
PROMPT DATATYPE DISCREPENCIES FOR TABLE COLUMNS THAT EXIST IN BOTH SCHEMAS
SELECT table_name, column_name, 'Remote' schema,
nullable, data_type, data_length, data_precision, data_scale,
default_length
FROM user_tab_columns@rem_schema
WHERE (table_name, column_name) IN
SELECT table_name, column_name
FROM user_tab_columns
MINUS
SELECT table_name, column_name, 'Remote' schema,
nullable, data_type, data_length, data_precision, data_scale,
default_length
FROM user_tab_columns
UNION ALL
SELECT table_name, column_name, 'Local' schema,
nullable, data_type, data_length, data_precision, data_scale,
default_length
FROM user_tab_columns
WHERE (table_name, column_name) IN
SELECT table_name, column_name
FROM user_tab_columns@rem_schema
MINUS
SELECT table_name, column_name, 'Local' schema,
nullable, data_type, data_length, data_precision, data_scale,
default_length
FROM user_tab_columns@rem_schema
ORDER BY 1, 2, 3;
REM Index differences
REM =================
COL column_position FORMAT 999 HEADING ORDER
PROMPT INDEX DISCREPENCIES FOR INDEXES THAT EXIST IN BOTH SCHEMAS
SELECT A.index_name, 'Remote' schema, A.uniqueness, A.table_name,
B.column_name, B.column_position
FROM user_indexes@rem_schema A, user_ind_columns@rem_schema B
WHERE A.index_name IN
SELECT index_name
FROM user_indexes
AND B.index_name = A.index_name
AND B.table_name = A.table_name
MINUS
SELECT A.index_name, 'Remote' schema, A.uniqueness, A.table_name,
B.column_name, B.column_position
FROM user_indexes A, user_ind_columns B
WHERE B.index_name = A.index_name
AND B.table_name = A.table_name
UNION ALL
SELECT A.index_name, 'Local' schema, A.uniqueness, A.table_name,
B.column_name, B.column_position
FROM user_indexes A, user_ind_columns B
WHERE A.index_name IN
SELECT index_name
FROM user_indexes@rem_schema
AND B.index_name = A.index_name
AND B.table_name = A.table_name
MINUS
SELECT A.index_name, 'Local' schema, A.uniqueness, A.table_name,
B.column_name, B.column_position
FROM user_indexes@rem_schema A, user_ind_columns@rem_schema B
WHERE B.index_name = A.index_name
AND B.table_name = A.table_name
ORDER BY 1, 2, 6;
REM Constraint differences
REM ======================
PROMPT CONSTRAINT DISCREPENCIES FOR TABLES THAT EXIST IN BOTH SCHEMAS
SET FEEDBACK OFF
CREATE TABLE temp_schema_compare
database NUMBER(1),
object_name VARCHAR2(30),
object_text VARCHAR2(2000),
hash_value NUMBER
DECLARE
CURSOR c1 IS
SELECT constraint_name, search_condition
FROM user_constraints
WHERE search_condition IS NOT NULL;
CURSOR c2 IS
SELECT constraint_name, search_condition
FROM user_constraints@rem_schema
WHERE search_condition IS NOT NULL;
v_constraint_name VARCHAR2(30);
v_search_condition VARCHAR2(32767);
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_constraint_name, v_search_condition;
EXIT WHEN c1%NOTFOUND;
v_search_condition := SUBSTR (v_search_condition, 1, 2000);
INSERT INTO temp_schema_compare
database, object_name, object_text
VALUES
1, v_constraint_name, v_search_condition
END LOOP;
CLOSE c1;
OPEN c2;
LOOP
FETCH c2 INTO v_constraint_name, v_search_condition;
EXIT WHEN c2%NOTFOUND;
v_search_condition := SUBSTR (v_search_condition, 1, 2000);
INSERT INTO temp_schema_compare
database, object_name, object_text
VALUES
2, v_constraint_name, v_search_condition
END LOOP;
CLOSE c2;
COMMIT;
END;
SET FEEDBACK 1
SELECT REPLACE (TRANSLATE (A.constraint_name,'012345678','999999999'),
'9', NULL) constraint_name,
'Remote' schema, A.constraint_type, A.table_name,
A.r_constraint_name, A.delete_rule, A.status, B.object_text
FROM user_constraints@rem_schema A, temp_schema_compare B
WHERE A.table_name IN
SELECT table_name
FROM user_tables
AND B.database (+) = 2
AND B.object_name (+) = A.constraint_name
MINUS
SELECT REPLACE (TRANSLATE (A.constraint_name,'012345678','999999999'),
'9', NULL) constraint_name,
'Remote' schema, A.constraint_type, A.table_name,
A.r_constraint_name, A.delete_rule, A.status, B.object_text
FROM user_constraints A, temp_schema_compare B
WHERE B.database (+) = 1
AND B.object_name (+) = A.constraint_name
UNION ALL
SELECT REPLACE (TRANSLATE (A.constraint_name,'012345678','999999999'),
'9', NULL) constraint_name,
'Local' schema, A.constraint_type, A.table_name,
A.r_constraint_name, A.delete_rule, A.status, B.object_text
FROM user_constraints A, temp_schema_compare B
WHERE A.table_name IN
SELECT table_name
FROM user_tables@rem_schema
AND B.database (+) = 1
AND B.object_name (+) = A.constraint_name
MINUS
SELECT REPLACE (TRANSLATE (A.constraint_name,'012345678','999999999'),
'9', NULL) constraint_name,
'Local' schema, A.constraint_type, A.table_name,
A.r_constraint_name, A.delete_rule, A.status, B.object_text
FROM user_constraints@rem_schema A, temp_schema_compare B
WHERE B.database (+) = 2
AND B.object_name (+) = A.constraint_name
ORDER BY 1, 4, 2;
REM Database link differences
REM =========================
PROMPT DATABASE LINK DISCREPENCIES
COL db_link FORMAT a40
SELECT db_link, 'Remote' schema, username, host
FROM user_db_links@rem_schema
MINUS
SELECT db_link, 'Remote' schema, username, host
FROM user_db_links
UNION ALL
SELECT db_link, 'Local' schema, username, host
FROM user_db_links
WHERE db_link NOT LIKE 'REM_SCHEMA.%'
MINUS
SELECT db_link, 'Local' schema, username, host
FROM user_db_links@rem_schema
ORDER BY 1, 2;
REM Sequence differences
REM ====================
PROMPT SEQUENCE DISCREPENCIES
SELECT sequence_name, 'Remote' schema, min_value, max_value,
increment_by, cycle_flag, order_flag, cache_size
FROM user_sequences@rem_schema
MINUS
SELECT sequence_name, 'Remote' schema, min_value, max_value,
increment_by, cycle_flag, order_flag, cache_size
FROM user_sequences
UNION ALL
SELECT sequence_name, 'Local' schema, min_value, max_value,
increment_by, cycle_flag, order_flag, cache_size
FROM user_sequences
MINUS
SELECT sequence_name, 'Local' schema, min_value, max_value,
increment_by, cycle_flag, order_flag, cache_size
FROM user_sequences@rem_schema
ORDER BY 1, 2;
REM Private synonym differences
REM ===========================
PROMPT PRIVATE SYNONYM DISCREPENCIES
SELECT synonym_name, 'Remote' schema, table_owner, table_name, db_link
FROM user_synonyms@rem_schema
MINUS
SELECT synonym_name, 'Remote' schema, table_owner, table_name, db_link
FROM user_synonyms
UNION ALL
SELECT synonym_name, 'Local' schema, table_owner, table_name, db_link
FROM user_synonyms
MINUS
SELECT synonym_name, 'Local' schema, table_owner, table_name, db_link
FROM user_synonyms@rem_schema
ORDER BY 1, 2;
REM PL/SQL differences
REM ==================
PROMPT SOURCE CODE DISCREPENCIES FOR PACKAGES, PROCEDURES, AND FUNCTIONS
PROMPT THAT EXIST IN BOTH SCHEMAS
SELECT name, type, COUNT (*) discrepencies
FROM
SELECT name, type, line, text
FROM user_source@rem_schema
WHERE (name, type) IN
SELECT object_name, object_type
FROM user_objects
MINUS
SELECT name, type, line, text
FROM user_source
UNION ALL
SELECT name, type, line, text
FROM user_source
WHERE (name, type) IN
SELECT object_name, object_type
FROM user_objects@rem_schema
MINUS
SELECT name, type, line, text
FROM user_source@rem_schema
GROUP BY name, type
ORDER BY name, type;
PROMPT SOURCE CODE DISCREPENCIES FOR PACKAGES, PROCEDURES, AND FUNCTIONS
PROMPT THAT EXIST IN BOTH SCHEMAS (CASE INSENSITIVE COMPARISON)
SELECT name, type, COUNT (*) discrepencies
FROM
SELECT name, type, line, UPPER (text)
FROM user_source@rem_schema
WHERE (name, type) IN
SELECT object_name, object_type
FROM user_objects
MINUS
SELECT name, type, line, UPPER (text)
FROM user_source
UNION ALL
SELECT name, type, line, UPPER (text)
FROM user_source
WHERE (name, type) IN
SELECT object_name, object_type
FROM user_objects@rem_schema
MINUS
SELECT name, type, line, UPPER (text)
FROM user_source@rem_schema
GROUP BY name, type
ORDER BY name, type;
REM Trigger differences
REM ===================
PROMPT TRIGGER DISCREPENCIES
SET FEEDBACK OFF
TRUNCATE TABLE temp_schema_compare;
DECLARE
CURSOR c1 IS
SELECT trigger_name, trigger_body
FROM user_triggers;
CURSOR c2 IS
SELECT trigger_name, trigger_body
FROM user_triggers@rem_schema;
v_trigger_name VARCHAR2(30);
v_trigger_body VARCHAR2(32767);
v_hash_value NUMBER;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_trigger_name, v_trigger_body;
EXIT WHEN c1%NOTFOUND;
v_trigger_body := REPLACE (v_trigger_body, ' ', NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(9), NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(10), NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(13), NULL);
v_trigger_body := UPPER (v_trigger_body);
v_hash_value := dbms_utility.get_hash_value (v_trigger_body, 1, 65536);
INSERT INTO temp_schema_compare (database, object_name, hash_value)
VALUES (1, v_trigger_name, v_hash_value);
END LOOP;
CLOSE c1;
OPEN c2;
LOOP
FETCH c2 INTO v_trigger_name, v_trigger_body;
EXIT WHEN c2%NOTFOUND;
v_trigger_body := REPLACE (v_trigger_body, ' ', NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(9), NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(10), NULL);
v_trigger_body := REPLACE (v_trigger_body, CHR(13), NULL);
v_trigger_body := UPPER (v_trigger_body);
v_hash_value := dbms_utility.get_hash_value (v_trigger_body, 1, 65536);
INSERT INTO temp_schema_compare (database, object_name, hash_value)
VALUES (2, v_trigger_name, v_hash_value);
END LOOP;
CLOSE c2;
END;
SET FEEDBACK 1
SELECT A.trigger_name, 'Local' schema, A.trigger_type,
A.triggering_event, A.table_name, SUBSTR (A.referencing_names, 1, 30)
referencing_names, SUBSTR (A.when_clause, 1, 30) when_clause,
A.status, B.hash_value
FROM user_triggers A, temp_schema_compare B
WHERE B.object_name (+) = A.trigger_name
AND B.database (+) = 1
AND A.table_name IN
SELECT table_name
FROM user_tables@rem_schema
MINUS
SELECT A.trigger_name, 'Local' schema, A.trigger_type,
A.triggering_event, A.table_name, SUBSTR (A.referencing_names, 1, 30)
referencing_names, SUBSTR (A.when_clause, 1, 30) when_clause,
A.status, B.hash_value
FROM user_triggers@rem_schema A, temp_schema_compare B
WHERE B.object_name (+) = A.trigger_name
AND B.database (+) = 2
UNION ALL
SELECT A.trigger_name, 'Remote' schema, A.trigger_type,
A.triggering_event, A.table_name, SUBSTR (A.referencing_names, 1, 30)
referencing_names, SUBSTR (A.when_clause, 1, 30) when_clause,
A.status, B.hash_value
FROM user_triggers@rem_schema A, temp_schema_compare B
WHERE B.object_name (+) = A.trigger_name
AND B.database (+) = 2
AND A.table_name IN
SELECT table_name
FROM user_tables
MINUS
SELECT A.trigger_name, 'Remote' schema, A.trigger_type,
A.triggering_event, A.table_name, SUBSTR (A.referencing_names, 1, 30)
referencing_names, SUBSTR (A.when_clause, 1, 30) when_clause,
A.status, B.hash_value
FROM user_triggers A, temp_schema_compare B
WHERE B.object_name (+) = A.trigger_name
AND B.database (+) = 1
ORDER BY 1, 2, 5, 3;
REM View differences
REM ================
PROMPT VIEW DISCREPENCIES
SET FEEDBACK OFF
TRUNCATE TABLE temp_schema_compare;
DECLARE
CURSOR c1 IS
SELECT view_name, text
FROM user_views;
CURSOR c2 IS
SELECT view_name, text
FROM user_views@rem_schema;
v_view_name VARCHAR2(30);
v_text VARCHAR2(32767);
v_hash_value NUMBER;
BEGIN
OPEN c1;
LOOP
FETCH c1 INTO v_view_name, v_text;
EXIT WHEN c1%NOTFOUND;
v_text := REPLACE (v_text, ' ', NULL);
v_text := REPLACE (v_text, CHR(9), NULL);
v_text := REPLACE (v_text, CHR(10), NULL);
v_text := REPLACE (v_text, CHR(13), NULL);
v_text := UPPER (v_text);
v_hash_value := dbms_utility.get_hash_value (v_text, 1, 65536);
INSERT INTO temp_schema_compare (database, object_name, hash_value)
VALUES (1, v_view_name, v_hash_value);
END LOOP;
CLOSE c1;
OPEN c2;
LOOP
FETCH c2 INTO v_view_name, v_text;
EXIT WHEN c2%NOTFOUND;
v_text := REPLACE (v_text, ' ', NULL);
v_text := REPLACE (v_text, CHR(9), NULL);
v_text := REPLACE (v_text, CHR(10), NULL);
v_text := REPLACE (v_text, CHR(13), NULL);
v_text := UPPER (v_text);
v_hash_value := dbms_utility.get_hash_value (v_text, 1, 65536);
INSERT INTO temp_schema_compare (database, object_name, hash_value)
VALUES (2, v_view_name, v_hash_value);
END LOOP;
CLOSE c2;
END;
SET FEEDBACK 1
SELECT A.view_name, 'Local' schema, B.hash_value
FROM user_views A, temp_schema_compare B
WHERE B.object_name (+) = A.view_name
AND B.database (+) = 1
AND A.view_name IN
SELECT view_name
FROM user_views@rem_schema
MINUS
SELECT A.view_name, 'Local' schema, B.hash_value
FROM user_views@rem_schema A, temp_schema_compare B
WHERE B.object_name (+) = A.view_name
AND B.database (+) = 2
UNION ALL
SELECT A.view_name, 'Remote' schema, B.hash_value
FROM user_views@rem_schema A, temp_schema_compare B
WHERE B.object_name (+) = A.view_name
AND B.database (+) = 2
AND A.view_name IN
SELECT view_name
FROM user_views
MINUS
SELECT A.view_name, 'Remote' schema, B.hash_value
FROM user_views A, temp_schema_compare B
WHERE B.object_name (+) = A.view_name
AND B.database (+) = 1
ORDER BY 1, 2;
REM Job queue differences
REM =====================
COL what FORMAT a30
COL interval FORMAT a30
PROMPT JOB QUEUE DISCREPENCIES
SELECT what, interval, 'Remote' schema
FROM user_jobs@rem_schema
MINUS
SELECT what, interval, 'Remote' schema
FROM user_jobs
UNION ALL
SELECT what, interval, 'Local' schema
FROM user_jobs
MINUS
SELECT what, interval, 'Local' schema
FROM user_jobs@rem_schema
ORDER BY 1, 2, 3;
REM Privilege differences
REM =====================
PROMPT OBJECT-LEVEL GRANT DISCREPENCIES
SELECT owner, table_name, 'Remote' schema, grantee, privilege, grantable
FROM user_tab_privs@rem_schema
WHERE (owner, table_name) IN
SELECT owner, object_name
FROM all_objects
MINUS
SELECT owner, table_name, 'Remote' schema, grantee, privilege, grantable
FROM user_tab_privs
UNION ALL
SELECT owner, table_name, 'Local' schema, grantee, privilege, grantable
FROM user_tab_privs
WHERE (owner, table_name) IN
SELECT owner, object_name
FROM all_objects@rem_schema
MINUS
SELECT owner, table_name, 'Local' schema, grantee, privilege, grantable
FROM user_tab_privs@rem_schema
ORDER BY 1, 2, 3;
PROMPT SYSTEM PRIVILEGE DISCREPENCIES
SELECT privilege, 'Remote' schema, admin_option
FROM user_sys_privs@rem_schema
MINUS
SELECT privilege, 'Remote' schema, admin_option
FROM user_sys_privs
UNION ALL
SELECT privilege, 'Local' schema, admin_option
FROM user_sys_privs
MINUS
SELECT privilege, 'Local' schema, admin_option
FROM user_sys_privs@rem_schema
ORDER BY 1, 2;
PROMPT ROLE PRIVILEGE DISCREPENCIES
SELECT granted_role, 'Remote' schema, admin_option, default_role, os_granted
FROM user_role_privs@rem_schema
MINUS
SELECT granted_role, 'Remote' schema, admin_option, default_role, os_granted
FROM user_role_privs
UNION ALL
SELECT granted_role, 'Local' schema, admin_option, default_role, os_granted
FROM user_role_privs
MINUS
SELECT granted_role, 'Local' schema, admin_option, default_role, os_granted
FROM user_role_privs@rem_schema
ORDER BY 1, 2;
SPOOL OFF
SET TERMOUT ON
PROMPT
PROMPT Report output written to &report
SET FEEDBACK OFF
DROP TABLE temp_schema_compare;
DROP DATABASE LINK rem_schema;
SET FEEDBACK 6
SET PAGESIZE 20
SET LINESIZE 80 -
Variables in physical schema of File data server
I want to avoid hard coding of folder name where source files used to kept as it could be vary from environment to environment like dev to production
Can you please suggest best way to implement it?
How we can store it into parameter table ans how it could fetched on production enviormnet.
Please advice.
Thanks in advance.
Regards,
Dinesh.Hi Dinesh,
I believe you can substitute a variable in physical schema aswell..But you cannot test it by clicking the test button there.
This will work only when you have defined a variable in package at the beginning of the step.That phycal path will be resolved during run time.
Hope you got it now.
Same thing will work for the password field in any oracle dataserevr as well.
Thanks.
http://bhabaniranjan.com/ -
Oracle 10g analysis workspace manager
I'm looking for a weblink to install Oracle 10g analysis workspace manager.
I'm not sure whether it's available for free download.
Can someone help me?..
Thanks,
BhagatHey;
Thanks again for the response. I tried dropping the repository and got a whole bunch of errors. While attempting to enable the sysman account, I realized that my password contained some characters that have special meaning for oracle and I think that's what was throwing it. The errors with the repository convinced me to try one more reinstall. Bit overkill, perhaps, but that's the whole point of a practice box. Once the database was up and running, teh enterprise manager is fully functional.
Now that I think about it, I wonder if that password could be responsible for my other schema issue as well...
Thanks again; I appreciate your time and patience.
Doug O'Leary -
Portal database schema password
Hi All,
I had installed Oracle 9ias 2 successfully, i am able to login to oracle portal user, but i am not able to connect to portal user in dtatabase.
Can anyone help me knowing the Portal schema password at database.
rgdsHere's the solution!
Load up Oracle Directory Manager (ODM). In Windows it is in your start menu under infrastructure_home --> Integrated Management Tools. The first time in you will need to add a server entry for your SERVER and OID Port (look in your port list but is it typically 4032).
In ODM navigate down the menu tree as follows:
-> You should be able to see the OID console
+ Oracle Internet Directory Servers
+ cn=orcladmin@OID_hostname:OID_port
+ Entry Management
+ cn=OracleContext
+ cn=Products
+ cn=IAS
+ cn=IAS Infrastructure Databases
+ orclReferenceName=iasdb.<infrastructure_machine>
+ OrclResourceName=PORTAL
-> Click on the Properties tab for PORTAL, in the 'orclpasswordattribute' field you
can see the Portal user's database password.
Cheers,
John -
What is that Schema password?
Hi.
What do you guys mean with schema password? Where do i find that?
I can't connect to iFS, the error message is "invalid username/password; logon denied".
But i have the right username/password, could the reason be that the webserver/servlet container is running on a different machine than the oracle db?
Thx.Thx. I figured it out now. But i have another problem: I get the exception:
IFS-10176: Unable to get credential manager version.
java.sql.SQLException: ORA-06550: line 1, column 13:
PLS-00103: Encountered the symbol "." when expecting one of the following:
( - + mod not null <an identifier>
<a double-quoted delimited-identifier> <a bind variable> avg
count current exists max min prior sql stddev sum variance
execute forall time timestamp interval date
<a string literal with character set specification>
<a number> <a single-quoted SQL string>
The symbol "<an identifier>" was substituted for "." to continue.
I switched on the jdbc tracing and i think the problem is the following sql-statement:
DRVR DBG1 Output SQL: "BEGIN :1 := .IfsCredentialManagerPackage.getVersionString; END;"
It seems to me that there should be a schema name or a db name in formt of the dot.
Does anybody of you has an idea?
Thx, Daniel. -
After setting my ifs schema password with ifsconfig and try to run ifssetup, this is what I get:
Enter password for ifs schema names IFSSYS:<password>
ERROR
ORA-01034: Oracle not available (but DB is running)
Invalid password specified or Oracle 8i database is not running. Some control files need to be updated with the ifs schema password to bring up the ifs Java Web Server. Please erun ifsjwssetup with the correct ifs schema password to use JWS.
I have tried different passwords with different schema names other than IFSSYS and I get the same result. Any ideas? Thanks.
nullYou have a problem with TNSNAMES or something similar. First get SQLPLUS working so you can connect at system/manager to your target instace. Then check that you can connect as ifssys using sql plus
null -
How do you update the schema password from OEM
How do you update the schema password from Oracle Enterprise Manager...
There is a metalink article on changing the SYSMAN password, assuming that's what you're referring to. See Metalink Note 270516.1
-
Significance of DEFAULT check in Physical Schema
Hi guys! Can you tell me the significance of Default check in physical schema(in topology manager)?
When I remove this check from my current physical schema and run any Interface based on the same. I get errors like Delete previous checksome error
And If i create two or more than two physical schema and everytime when I want to Excecute interfaces based on these different schemas all I need to go to that particular schema and make it my default Schema; Otherwise excecuting Interface gives checksome error if that interface doesnot belong to our default physical schema.
Can you please comment on this.
Thankyou.Hi Diwakar,
Adding my comment on this is,
The below is coded in document,
"If this box is checked, then the physical schema will be the data server default schema, when no schema has been specified. Only one physical schema can be marked by default."
The bottom line is for one data server even though it has one/more physical schemas ,atleast one should be default schema.
So every time if you are using different schema you have to make it as default to took that connection.
P.S: Experts comments are welcome !!!
Thanks,
Guru -
Context,Physical schema and Logical schema
Hi,
How the context,physical schema,logical schema and agent are interrelated.
Please explain
Thanks
JackHi Jack,
Context:
A context is a set of resources allowing the operation or simulation of one or more data processing applications. Contexts allow the same jobs (Reverse, Data Quality Control, Package, etc) to be executed on different databases and/or schemas.
Its used to run the object(process) in different database.
Physical Schema:
The physical schema is a decomposition of the data server, allowing the Datastores (tables, files, etc) to be classified. Objects stored in data servers with this mode of classification can be accessed by specifying the name of the schema attached to the object name.
Ex
Oracle classifies its tables by "schema" (or User). Each table is linked to a schema, thus SCOTT.EMP represents the table EMP in the schema SCOTT.
Logical schema:
A logical schema is an alias that allows a unique name to be given to all the physical schemas containing the same datastore structures.
->The aim of the logical schema is to ensure the portability of the procedures and models on the different physical schemas. In this way, all developments in ODI Designer are carried out exclusively on logical schemas.
Thanks
Madha -
Help with Password Management!!!
I am having a problem configuring my OID password management options... the Admin guide says that I can do it through Directory Manager by selecting the server in the left hand pane and editing the data on the password management tab... problem is I have no password management tab... it's not there!
So I notice that I can also use the command line tools to modidy the entry "cn=pwdpolicyentry,cn=oracle internet" directory. I assume that "cn=oracle internet directory" is the top level of my tree... doing a search for anything cn=* from the top level results in three things as follows... none of them are the entry I want:
cn=configset1,cn=metadird,cn=configsets,cn=oracle internet Directory
cn=odipgroup,cn=odi,cn=oracle internet directory
cn=odisgroup,cn=odi,cn=oracle internet directory
OK... so in desperation I attempt to add the entry "cn=pwdpolicyentry,cn=oracle internet directory" and the server says it already exists.
Seems to me there is something messed up with my Directoty Information Tree but I don't know why that would be (I just installed and the install gave me no errors) or how to fix it. Can someone please help???
Thanks
ChrisQuerying the password policy entry can be a little bit tricky unless you are very familiar with LDAP. Here's the command that does the trick:
ldapsearch -s base -b "cn=pwdpolicyentry,cn=oracle internet directory" "(objectclass=*)"cn=pwdpolicyentry,cn=oracle internet directory
objectclass=top
objectclass=pwdpolicy
cn=pwdpolicyentry
pwdmaxage=0
pwdlockout=0
pwdlockoutduration=0
pwdmaxfailure=0
pwdfailurecountinterval=0
pwdexpirewarning=0
Kind regards, Wilfried -
Can we create logical/ physical schema by running any script (unix/window)?
I wish to create logical/ physical schema in oracle data integrator
by running any windows or preferably unix script.
is there any method or scripts provided in ODI?I think you could insert info into Matser Respository tables:
Connect info: snp_connect
Logical Schemas : snp_lschema
Physical Schemas: snp_pschema
Or you may write some sql to do this.
Maybe you are looking for
-
How many users can you have on time capsule
How do I configure Time capsule so that I can use 2 macbook to safty copy (Time machine). Hans
-
Does IPC require an SAP CRM system ?
Hello, we need to install the SAP Internet Pricing and Configurator (IPC). Does this IPC require a CRM landscape ? As we have ERP usage type... Many thanks!
-
Hello all, On my UCCX system I have the German language installed. In the DOC repository unde de_DE I have a directory called IT. I have placed an XML file here. When my script runs it should look here and read this file. However a reactive debug te
-
The problem is, changing location, but keeping my language. I moved from UK to Spain. I only speak english, and only have a Spanish bank account. Joining Iphone, or, trying to, everything comes through in spanish, hoy do I get over the language probl
-
Tabs don't reload after firefox 4 is shut down
When I restart Firefox 4, the tabs that I had opened don't reload. Nor does Firefox 4 ask me if I want to shut down and save the tabs, as the various versions of Firefox 3 had done.