Hi Guys,
I reinstalled Cognos and I faced a couple of issue so below is their resolution.Hope you find them handy and you will save time.
Oracle Install
If you are planning to use oracle as content store.I will tell you this will be the most difficult part of cognos install .80% of issue faced in your install will be related to Oracle.Atleast that has been my experience .But it will take your knowledge about Oracle to Next level .So dont Give up Easily.
Important Note .
I dont know how to uninstall Oracle Server if install goes wrong .Like u might set up wrong Character set .BEWARE.
Please create a System restore point in your Machine and Set the Memory size of your System restore to 3 GB so that it wont get over writen in a month by a New system restore point which gets created automatically by Windows everytime a new update to any software like flash or java is made by windows .or even a simple windows update.
1) RIGHT CLICK ON MY COMPUTER
2) GO TO PROPERTIES
3)SYSTEM PROTECTION
4) CREATE SYSTEM RESTORE POINT.
if you are fun loving person like me and want to edit your window registries to get rid of oracle dont do this .there is fun in learning this tooo :-P.
Some points to remember .
1)Oracle is by default installed on E drive in Apps folder
2)Oracle does not have a default unistall option so if you messed it up its difficult to remove from your system without proper formating . or registry clean up.So have a system restore point handy
3)You need to install server type database and not desktop type database
4)There is a step called database identifiers where you have to specify the dataset as UTF8 .Remember that.If you miss this,you will have to uninstall Oracle(Painfull .....)
5)Below are the steps for some FOOLS :-P
If you have not created a system restore like me and dont have patience to unistall oracle using commands as there is no direct unistaller .Delete oracle folder and clean up your registry using below method .I would not recommend it .But sometime you might have to resort to it when time is short.
------------------------------------------------------------------------
Start Regedit.exe and navigate to the following branch:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services
6) You will need to free up temp space once you do this.Otherwise it wont allow you to install Oracle again.Better to create System restore
use disk clean up utility to free up space on your windows 7 .this space might have been used due to bad oracle install.go to start and click on disk clean up to free up space.go to environment variables and remove oracle path also when deleting oracle
7)The oracle ojdc14 file can be in diff folder also .Just search for it files get moved to diff folder depending on version of oracle .so no worries
Ojdbc14 is for Oracle 10g .If you are using Oracle 11g then Ojdbc5
8)Once Oracle is installed succesfully.You will need to create a user called cognos for content store
Below are commands
-------create user cognos identified by cognos
you need to provide all the permission to this user otherwise you will get errors
--------grant all privileges to cognos
9) Please understand what is a Listener and What is tnsnames file .Visit below link in case you get any errors due to Listener .You will be 100% able to solve it .with below link.Not by me
edstevensdba-Explanation on Listener and Tnsnames
10) Some errors that I faced
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
Preety self explainatory . Listener does not know of service .
Solution
1)Go to command prompt.Type tnsping ABC (where ABC is your tnsalias.)
Example Below
ABC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ADMIN-PC)(PORT = 1521))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME =orcl)
)
)
when you do this check what is the service name and what is its status .Is it showing as ready??
unknown status means because you have made entry in listener.ora file its showing that service.it does not have idea if that database instance is running or not.once you make a request then listener will try to find that out. so use only those services which have their status as ready in your cognos connection string for database you will definately make a connection.
Below is how it looks
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.7)(PORT=1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
So this was the issue that i had .The listener did not know if the instance was there or not and whether the instance was ready.
I followed below steps to resolve the issue
Loging to system as sysdba and do
-----select * from v$instance
.this will give you the instace name of oracle running.
Please put the same host name , service name shown in this command in both listener.ora and tnsnames.ora . In my files it was differnet and that cost me 2 days to search for the error.If ADMIN-PC IS THERE be sure to put ADMIN-PC as host name in listener and tnsnames.ora file.
11) Try Creating a ODBC connection to content store it will help you check if there is any issue from oracle side or from cognos side.If you able to connect using ODBC the issue of connectivity is from cognos side.
Below are my tnsnames and listner files .Notice the difference in service name .Whatever name you give in listener that service will be shown as unknow because of reason i have explained above.
Below is tnsnames.ora file
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ADMIN-PC)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =orcl.168.2.7)
)
)
-------------------------------------------------------------------------------
Below is listener.ora file
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = E:\app1\ADMIN\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app1\ADMIN\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
12)Below command might be helpful
netstat -ao
It will give you which pid is using which port .
so first you need to go to task manager and get teh pid of a service and then you need to go to netstat -ao and the port number that service is using to check if oracle listener is actually using 1521 as a port.
ORA-12520 -TNS:listener could not find available handler for requested type of server
Below is my listener configuration.Notice that when i do lsnrctl status i get status for instance orcl.168.2.7 as unknown ,because its manually hardcoded into my listener file
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl.168.2.7)
(ORACLE_HOME = E:\app1\ADMIN\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app1\ADMIN\product
\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------
I reinstalled Cognos and I faced a couple of issue so below is their resolution.Hope you find them handy and you will save time.
Oracle Install
If you are planning to use oracle as content store.I will tell you this will be the most difficult part of cognos install .80% of issue faced in your install will be related to Oracle.Atleast that has been my experience .But it will take your knowledge about Oracle to Next level .So dont Give up Easily.
Important Note .
I dont know how to uninstall Oracle Server if install goes wrong .Like u might set up wrong Character set .BEWARE.
Please create a System restore point in your Machine and Set the Memory size of your System restore to 3 GB so that it wont get over writen in a month by a New system restore point which gets created automatically by Windows everytime a new update to any software like flash or java is made by windows .or even a simple windows update.
1) RIGHT CLICK ON MY COMPUTER
2) GO TO PROPERTIES
3)SYSTEM PROTECTION
4) CREATE SYSTEM RESTORE POINT.
if you are fun loving person like me and want to edit your window registries to get rid of oracle dont do this .there is fun in learning this tooo :-P.
Some points to remember .
1)Oracle is by default installed on E drive in Apps folder
2)Oracle does not have a default unistall option so if you messed it up its difficult to remove from your system without proper formating . or registry clean up.So have a system restore point handy
3)You need to install server type database and not desktop type database
4)There is a step called database identifiers where you have to specify the dataset as UTF8 .Remember that.If you miss this,you will have to uninstall Oracle(Painfull .....)
5)Below are the steps for some FOOLS :-P
If you have not created a system restore like me and dont have patience to unistall oracle using commands as there is no direct unistaller .Delete oracle folder and clean up your registry using below method .I would not recommend it .But sometime you might have to resort to it when time is short.
------------------------------------------------------------------------
Start Regedit.exe and navigate to the following branch:
HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services
6) You will need to free up temp space once you do this.Otherwise it wont allow you to install Oracle again.Better to create System restore
use disk clean up utility to free up space on your windows 7 .this space might have been used due to bad oracle install.go to start and click on disk clean up to free up space.go to environment variables and remove oracle path also when deleting oracle
7)The oracle ojdc14 file can be in diff folder also .Just search for it files get moved to diff folder depending on version of oracle .so no worries
Ojdbc14 is for Oracle 10g .If you are using Oracle 11g then Ojdbc5
8)Once Oracle is installed succesfully.You will need to create a user called cognos for content store
Below are commands
-------create user cognos identified by cognos
you need to provide all the permission to this user otherwise you will get errors
--------grant all privileges to cognos
9) Please understand what is a Listener and What is tnsnames file .Visit below link in case you get any errors due to Listener .You will be 100% able to solve it .with below link.Not by me
edstevensdba-Explanation on Listener and Tnsnames
10) Some errors that I faced
ORA-12514, TNS:listener does not currently know of service requested in connect descriptor
Preety self explainatory . Listener does not know of service .
Solution
1)Go to command prompt.Type tnsping ABC (where ABC is your tnsalias.)
Example Below
ABC =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ADMIN-PC)(PORT = 1521))
(CONNECT_DATA =
(SERVER = SHARED)
(SERVICE_NAME =orcl)
)
)
Note -tnsping only tells you that the listener is listening on the host and port .It does not tell you anything about the service .It does not even tell you that the service exists .service in above example is orcl.so you need to do below command in command prompt.
lsnrctl status .
when you do this check what is the service name and what is its status .Is it showing as ready??
unknown status means because you have made entry in listener.ora file its showing that service.it does not have idea if that database instance is running or not.once you make a request then listener will try to find that out. so use only those services which have their status as ready in your cognos connection string for database you will definately make a connection.
Below is how it looks
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(PIPENAME=\\.\pipe\EXTPROC1521ipc)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.2.7)(PORT=1521)))
Services Summary...
Service "ORCL" has 1 instance(s).
Instance "ORCL", status UNKNOWN, has 1 handler(s) for this service...
So this was the issue that i had .The listener did not know if the instance was there or not and whether the instance was ready.
I followed below steps to resolve the issue
Loging to system as sysdba and do
-----select * from v$instance
.this will give you the instace name of oracle running.
Please put the same host name , service name shown in this command in both listener.ora and tnsnames.ora . In my files it was differnet and that cost me 2 days to search for the error.If ADMIN-PC IS THERE be sure to put ADMIN-PC as host name in listener and tnsnames.ora file.
11) Try Creating a ODBC connection to content store it will help you check if there is any issue from oracle side or from cognos side.If you able to connect using ODBC the issue of connectivity is from cognos side.
Below are my tnsnames and listner files .Notice the difference in service name .Whatever name you give in listener that service will be shown as unknow because of reason i have explained above.
Below is tnsnames.ora file
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ADMIN-PC)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME =orcl.168.2.7)
)
)
-------------------------------------------------------------------------------
Below is listener.ora file
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl)
(ORACLE_HOME = E:\app1\ADMIN\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app1\ADMIN\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
12)Below command might be helpful
netstat -ao
It will give you which pid is using which port .
so first you need to go to task manager and get teh pid of a service and then you need to go to netstat -ao and the port number that service is using to check if oracle listener is actually using 1521 as a port.
ORA-12520 -TNS:listener could not find available handler for requested type of server
Below is my listener configuration.Notice that when i do lsnrctl status i get status for instance orcl.168.2.7 as unknown ,because its manually hardcoded into my listener file
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = orcl.168.2.7)
(ORACLE_HOME = E:\app1\ADMIN\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:E:\app1\ADMIN\product
\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
------------------------------------------------------------------------------------------------------------
Java Run time Environment (JRE)
You need java 1.5 or java 1.6 for cognos install .If you are having a new laptop these things might not be there . so please install them first .
Please download JRE -- Java run time environment.You do not need JDK.that is java development kit.
Right Click on My computer .Go to Properties .then click on Advanced . Set environment Variable path to.
C:\Program Files\Java\jre6\bin
------------------------------------------------------------------------------------------------------------
Installing Apache Web Server
Do not get confused with apache and apache tomcat . both are different .We need Apache and not apache tomcat .
please download apache zip file with .msi extension for windows .most apache that are availabel will be for unix . so cant run it on windows . windows will have a single install file available to install apache.
Go to config folder , in http.conf file .Copy paste the below
ScriptAlias /cognos10/cgi-bin "C:\Program Files\Cognos_Server\ibm\cognos\c10\cgi-bin"
<Directory "C:\Program Files\Cognos_Server\ibm\cognos\c10\cgi-bin">
Options FollowSymLinks
AllowOverride FileInfo
Order Allow,Deny
Allow from All
</Directory>
Alias /cognos10 "C:\Program Files\Cognos_Server\ibm\cognos\c10\webcontent"
<Directory "C:\Program Files\Cognos_Server\ibm\cognos\c10\webcontent">
Options FollowSymLinks
AllowOverride FileInfo
Order Allow,Deny
Allow from All
</Directory>
------------------------------------------------------------------------------------------------------------
Firewall setting .
Please have a look ,Just in case it was not automatically set up during Cognos server install.
No comments:
Post a Comment