Wednesday, February 13, 2008
ora 8i setup.exe fails to startup
[[BUG:1507768]] INSTALLER FAILS WHEN RUNNING ON NEW PENTIUM 4 (IV)PROCESSORS
- find and rename all [symcjit.dll] files in ora setup folder
- find and rename all [symcjit.dll] files in ora setup folder
Wednesday, January 23, 2008
multiple product versions using SourceSafe
main development line and branch maintenace line
Share, Pin, and Branch
- create a share and pin
- branch only the files that you would want in the maintenance
adv:
- new files will be created only after the branch - save db space
- with the pin, you can review the files that are modified during maintenance
disadv:
- you have to branch files one-at-atime
- you may accidently unpin instead branch - which would affect mainline and development line.
Share and Branch
- create share and check 'branch after share'
Share, Pin, and Branch
- create a share and pin
- branch only the files that you would want in the maintenance
adv:
- new files will be created only after the branch - save db space
- with the pin, you can review the files that are modified during maintenance
disadv:
- you have to branch files one-at-atime
- you may accidently unpin instead branch - which would affect mainline and development line.
Share and Branch
- create share and check 'branch after share'
Thursday, September 06, 2007
Scott Hanselman's 2007 Ultimate Tools
Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows
http://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx
http://www.hanselman.com/blog/ScottHanselmans2007UltimateDeveloperAndPowerUsersToolListForWindows.aspx
Labels: opensource
Wednesday, May 23, 2007
ora files
Oracle uses three files for it's network configurations-
Listener.ora
SQLNET.ORA
TNSNAMES.ORA
I will not go into listener.ora as that is used for server installations.
For a client installation or for connectivity issues, it is important to understand what the other two do. Simply put, SQLNET.ORA is the network configuration file and the TNSNAMES.ORA maps service names to connect descriptors. What does that mean ? Let's say I wish to connect to Oracle Service S which is running on Server A, Port P. I would use the TNSNAMES.ORA file to set it up, that is to say, when I call Service S, Oracle has to know which server and port it has to look for, right ? This "mapping" is defined in TNSNAMES.ORA.
The SQLNET.ORA file can be used to setup authentication, logging and tracing, lookups for resolving service names etc. For example, if you wish to setup the amount of time that the client tries to connect to a service before giving up, this would be the place to do it.
These files are generally in ORACLE_HOME\network\admin folder .
Secondly, when you are not able to connect to a service, a start point to check what is going on is to use TNSPING - a utility that you can use to check connectivity to the service (similar to PING).
Listener.ora
SQLNET.ORA
TNSNAMES.ORA
I will not go into listener.ora as that is used for server installations.
For a client installation or for connectivity issues, it is important to understand what the other two do. Simply put, SQLNET.ORA is the network configuration file and the TNSNAMES.ORA maps service names to connect descriptors. What does that mean ? Let's say I wish to connect to Oracle Service S which is running on Server A, Port P. I would use the TNSNAMES.ORA file to set it up, that is to say, when I call Service S, Oracle has to know which server and port it has to look for, right ? This "mapping" is defined in TNSNAMES.ORA.
The SQLNET.ORA file can be used to setup authentication, logging and tracing, lookups for resolving service names etc. For example, if you wish to setup the amount of time that the client tries to connect to a service before giving up, this would be the place to do it.
These files are generally in ORACLE_HOME\network\admin folder .
Secondly, when you are not able to connect to a service, a start point to check what is going on is to use TNSPING - a utility that you can use to check connectivity to the service (similar to PING).
Friday, April 27, 2007
cornerstones of a corporation
four cornerstones of a corporation's information technology structure.[2] All companies need to manage communications and information with their customers (CRM-Customer Relationship Management) and their suppliers (SCM-Supply Chain Management) and the resources within the enterprise (ERP-Enterprise Resource Planning). In addition, manufacturing engineering companies must also develop, describe, manage and communicate information about their products (PLM).
Product Lifecycle Management (PLM) is more to do with managing descriptions and properties of a product through its development and useful life, mainly from a business/engineering point of view; whereas Product life cycle management (PLC) is to do with the life of a product in the market with respect to business/commercial costs and sales measures.[
Product Lifecycle Management (PLM) is more to do with managing descriptions and properties of a product through its development and useful life, mainly from a business/engineering point of view; whereas Product life cycle management (PLC) is to do with the life of a product in the market with respect to business/commercial costs and sales measures.[
Monday, March 19, 2007
DMAIC - Six Sigma
Friday, March 09, 2007
Oracle -> Sqlserver Migration
step1: Used SSMA to generate DDL for Sqlserver
- modified DDL to remove rowid (column)
- removed cascade on delete
- introduced appropriate identity column
- ran DDL script on Sqlserver
step 2: exported data with INSERT statements using Toad
- inserted the data into Sqlserver
- to get around identity issue and foreign key constraint
o introduce the following statements
- set identity_insert CONFORMANCE_SET on and off
- ALTER TABLE xx NOCHECK CONSTRAINT ALL
ALTER TABLE xx CHECK CONSTRAINT ALL
o use this to generate ALTER statements:
SELECT 'ALTER TABLE ' +
+ name + ' NOCHECK CONSTRAINT ALL'
FROM sysobjects
WHERE type = 'U' AND
OBJECTPROPERTY(id,'ismsshipped') = 0
step 3: convert functions
- use SSMA to generate functions
- review each function and remove SSMA specific functions (as they are not required and it introduces complexity in the sqlserver)
- function (with output parameter) has to be converted to a procedure in sql
- remove REF CURSOR
- TO_DATE(a, 'mm/dd/yyyy') -> Convert(datetime, a, 101)
- TO_DATE(a, 'dd-mm-yyyy') -> convert(datetime, a, 105)
- outer joins using (+) -> LEFT OUTER JOIN ... ON
- sequence generator statements have to either removed along with identity column insertions
- if seq gen is a must, then create table and add seq gen as column in the table and introduce the following lines to get next value from the gen.
SELECT @v_next = seq_1 from ORA_SEQ
set @v_next = @v_next+ 1
UPDATE ORA_SEQ SET seq_1= @v_next
o introduce 1 row in the table (the column values are taken from ora seq generator's current value)
- @@ROWCOUNT and @@ERROR
- 2627 error (unique constraint) will be returned to the application program. there is no way to trap that error, remove 2627 check and introduce SELECT COUNT(*) for key-already exists validation.
step 4: convert stored proc
- use SSMA to generate stored proc
- to handle packaged stored proc add login user and create stored proc under the user.
A_PACKAGE.GETVALUE in Ora will work in Sql also, if A_PACKAGE is a user and GETVALUE is created under this user.
EXEC sp_addlogin 'A_PACKAGE'
EXEC sp_adduser 'VARIABLE_PACKAGE'
- remove REF CURSOR
- *same as step 3*
- understand the logic and convert ROWNUM usage with TOP
- TOP does not support variable, so dynamic sql is the way to go. so use:
EXEC sp_executesql @sql, N'@a float(53) output, @s float(53) output ',
@a=@p_mean output, @s=@p_std output
- set NOCOUNT ON (to avoid unnecessary message back to the caller)
- use CAST or Convert function during string concatenation
- convert number(20,3) -> float
- convert number(20,0) -> numeric(20,0)
- get stored proc def using:
exec sp_helptext 'SSMA.DB_ERROR_GET_EXCEPTION_INFO'
step 5: convert application programs (vb.net)
- OUTER JOINS
- TO_DATE
- in ADO, for adNumeric parameters (add Numeric Scale and Precision) or convert it into adInt
- { call procedure (?,?,? {ref curor}) } is not valid. remove {ref cursor} part
- { call GetVal() } is not valid remove empty ()
- modified DDL to remove rowid (column)
- removed cascade on delete
- introduced appropriate identity column
- ran DDL script on Sqlserver
step 2: exported data with INSERT statements using Toad
- inserted the data into Sqlserver
- to get around identity issue and foreign key constraint
o introduce the following statements
- set identity_insert CONFORMANCE_SET on and off
- ALTER TABLE xx NOCHECK CONSTRAINT ALL
ALTER TABLE xx CHECK CONSTRAINT ALL
o use this to generate ALTER statements:
SELECT 'ALTER TABLE ' +
+ name + ' NOCHECK CONSTRAINT ALL'
FROM sysobjects
WHERE type = 'U' AND
OBJECTPROPERTY(id,'ismsshipped') = 0
step 3: convert functions
- use SSMA to generate functions
- review each function and remove SSMA specific functions (as they are not required and it introduces complexity in the sqlserver)
- function (with output parameter) has to be converted to a procedure in sql
- remove REF CURSOR
- TO_DATE(a, 'mm/dd/yyyy') -> Convert(datetime, a, 101)
- TO_DATE(a, 'dd-mm-yyyy') -> convert(datetime, a, 105)
- outer joins using (+) -> LEFT OUTER JOIN ... ON
- sequence generator statements have to either removed along with identity column insertions
- if seq gen is a must, then create table and add seq gen as column in the table and introduce the following lines to get next value from the gen.
SELECT @v_next = seq_1 from ORA_SEQ
set @v_next = @v_next+ 1
UPDATE ORA_SEQ SET seq_1= @v_next
o introduce 1 row in the table (the column values are taken from ora seq generator's current value)
- @@ROWCOUNT and @@ERROR
- 2627 error (unique constraint) will be returned to the application program. there is no way to trap that error, remove 2627 check and introduce SELECT COUNT(*) for key-already exists validation.
step 4: convert stored proc
- use SSMA to generate stored proc
- to handle packaged stored proc add login user and create stored proc under the user.
A_PACKAGE.GETVALUE in Ora will work in Sql also, if A_PACKAGE is a user and GETVALUE is created under this user.
EXEC sp_addlogin 'A_PACKAGE'
EXEC sp_adduser 'VARIABLE_PACKAGE'
- remove REF CURSOR
- *same as step 3*
- understand the logic and convert ROWNUM usage with TOP
- TOP does not support variable, so dynamic sql is the way to go. so use:
EXEC sp_executesql @sql, N'@a float(53) output, @s float(53) output ',
@a=@p_mean output, @s=@p_std output
- set NOCOUNT ON (to avoid unnecessary message back to the caller)
- use CAST or Convert function during string concatenation
- convert number(20,3) -> float
- convert number(20,0) -> numeric(20,0)
- get stored proc def using:
exec sp_helptext 'SSMA.DB_ERROR_GET_EXCEPTION_INFO'
step 5: convert application programs (vb.net)
- OUTER JOINS
- TO_DATE
- in ADO, for adNumeric parameters (add Numeric Scale and Precision) or convert it into adInt
- { call procedure (?,?,? {ref curor}) } is not valid. remove {ref cursor} part
- { call GetVal() } is not valid remove empty ()
