infor.com
concierge
infor u
developer portal
Home
Groups
Lawson - Technology Customer Community [READ ONLY]
lawson 9 to 10 upgrade separate environment/server
mbozenik
The source product line is on server1 and the target product line is on server2. It appears this is supported given the instructions in the upgrade installation and path guide 9.0.x - 10.0. and the setup tasks required for users going between two environments. However I cannot get the last step work. I've copied the product line dictionary file and ORACLE file from the source server1 onto the target server2 in the locations documented. Created the dbdef entry for the source product line and UG system code. Then in step 8 is says to use laua (security administration) to assign a security class with the source product line to the user running the utilities. Not sure why it says laua since laua isn't available in 10, but I used the Security administrator to create a security class and role with the source product line/data area and assigned it to the user running the utility. That all seemed ok. Now on the last step it asks that you run verifyxxxx sourcepl ugzlog. When I run this verifyora11 SRCPL ugzlog I get:
verifyora11 failed with DBConfig.Init() failed
CLawConfiguration::Init() GetDict() failed
Am I missing something? Don't tell me the source product line has to be on the same server as the target product line. I feel like there is a step or two missing. Any help is appreciated.
Find more posts tagged with
Infor Lawson Technology Group - Discussion
Comments
mbozenik
I stopped the test envrionment which I'm using for my source environment and re-copied the files as directed in the documentation.
Since the product line dictionary I was copying had multiple data areas it didn't load them during the dbdef. At least that's what I'm assuming.
So I created a database space and data area on the targer server for the source product line. And tried the verifyora11 command again.
I'm past the original message:
verifyora11 failed with DBConfig.Init() failed
CLawConfiguration::Init() GetDict() failed
And now depending upon the values I'm using for the ORACLE file I get new errors
$ verifyora11 test901 ugzlog
verifyora11 failed with DBConnect.Connect() failed
Dictionary: 'test901' Program: 'verifyora11' DBServer: 'lawappstest'
COraDBConnection::Connect: Received Error while connecting to server 'lawappstest'
COraSqlStatement::Connect(1): Got OCI_MISC_CODE
ORA-12504: TNS:listener was not given the SERVICE_NAME in CONNECT_DATA
------I've tried almost every combination of the below ORACLE parameters. Again with mixed results
LAWGATENAME=oradb11
#DBSERVER=test
DBSERVER=lawappstest
LOGINNAME=vhtest901
PASSWORD=xxxxxxxx
#ORACLE_SID=test
#TNS_ADMIN=/oracle/admin/lawprod/network
TNS_ADMIN=/oracle/app/oracle/product/11.2.0/network/admin
TWO_TASK=test
#DBSERVER=test --no systemcode ugzlo on data area test901
----
I can query the source DB from the target server using sqlplus vhtest901/xxxxx@test
just fine. No issues. So I feel pretty good about the listener.ora and tnsnames.ora values.
Any ideas on the ORACLE file? Again I've tried just about every combination
mbozenik
This ORACLE combination works the best, but it still doesn't look right. It requires the system code and that's not normal and when it does return the results it doesn't return the proper counts because the ugzlog table exists in the test901 product line.
LAWGATENAME=oradb11
DBSERVER=test
LOGINNAME=vhtest901
PASSWORD=xxxxxx
ORACLE_SID=test
TNS_ADMIN=/oracle/admin/lawprod/network
TWO_TASK=test
Here are the results of verifyora11 with and without the system code
$ verifyora11 test901 ugzlog
No SystemCode UGZLO on Data Area TEST901
verifyora11 failed with No SystemCode UGZLO on Data Area TEST901
$ verifyora11 test901 ug ugzlog
Verifying objects for selected Tables in the TEST901 Data Area:
Total files found in the Productline : 0
Total views unchecked : 0
Total files in Empty DB space : 0
Foreign files found In the Productline : 0
Total Files unchecked/unable to open : 0
Total Number of SQL tables checked : 0
Number of SQL tables with no errors : 0
Number of SQL tables missing : 0
SQL tables with incorrect definitions : 0
Number of SQL tables with warnings : 0
Number of DB Indexes checked : 0
Number of DB Indexes with no errors : 0
Number of DB indexes missing : 0
DB indexes with Incorrect definitions : 0
serafino
Looks like the either the client configuration is wrong or the listener on the database is not configured correctly. Your $LAWDIR/pl/ORACLE file looks fine.
On the database client, verify the service 'lawapptest' exists and points to the correct server, port, and service on your database server. On the database server, run netca (as the oracle user) and make sure you have a listener enabled with the name 'lawapptest'. You will have to reload or refresh the listener service on the database if you make any changes.
mbozenik
I actaully had the dbserver wrong. It should have been test. That's what I had in the tnsnames.ora file. I can query the db via sqlplus and using the tns name test from the target server: sqlplus count(*) from vhtest901/xxxx@test -- This connects fine and returns the results. But now the verifyora11 still isn't working correctly. --See below:
Here are the results of verifyora11 with and without the system code
$ verifyora11 test901 ugzlog
No SystemCode UGZLO on Data Area TEST901
verifyora11 failed with No SystemCode UGZLO on Data Area TEST901
$ verifyora11 test901 ug ugzlog
Verifying objects for selected Tables in the TEST901 Data Area:
Total files found in the Productline : 0
Total views unchecked : 0
Total files in Empty DB space : 0
Foreign files found In the Productline : 0
Total Files unchecked/unable to open : 0
Total Number of SQL tables checked : 0
Number of SQL tables with no errors : 0
Number of SQL tables missing : 0
SQL tables with incorrect definitions : 0
Number of SQL tables with warnings : 0
Number of DB Indexes checked : 0
Number of DB Indexes with no errors : 0
Number of DB indexes missing : 0
DB indexes with Incorrect definitions : 0
serafino
Verifyora11 is going to check if the table exists and if it is defined correctly. Your output shows UGZLOG is not defined in the database. Run 'count test901' to see if you have ANY data.
My three best guesses:
1- You are pointing to the wrong database.
2- You did not build the dictionary.
3- You did not import or copy your data to the correct schema.
mbozenik
I'm pretty confident oracle tns is setup properly. sqlplus vhtest901/xxxx@test works fine from the target
I'm afraid I'm missing something in dbdef. The blddbdict looks good. verifyora11 is recognizing changes to the ORACLE file.
I set debug=true in the ORACLE files for source and target on the target server and compard the verifyora11 ugzlog to the verifyora11 ugzlog and both get down to Returning OK from CDBProgram: Startup().
Source:
$ verifyora12 vhtest9 ugzlog
No SystemCode UGZLO on Data Area VHTEST9
verifyora12 failed with No SystemCode UGZLO on Data Area VHTEST9
--In the trace file It simply stops at: Returning OK from CDBProgram::StartUp()
Target:
$ verifyora12 lawprod ugzlog
Verifying objects for selected Tables in the LAWPROD Data Area:
Checking Table LAWPROD.UGZLOG
Total files found in the Productline : 1
..-Continues on as expected
--The trace file continues on after Returning OK from CDBProgram::StartUp() with the execution of CSqlViewMaker
Returning OK from CDBProgram::StartUp()
Entering CSqlViewMaker::MakeView(), FileNum 2438, VersionInfo -2
Entering ConfigForTable()...
select
tablespace_name,
ini_trans,--etc
mbozenik
Thanks for the replay Sal. See my notes below. Can you provide a little more detail?
Verifyora11 is going to check if the table exists and if it is defined correctly. Your output shows UGZLOG is not defined in the database. Run 'count test901' to see if you have ANY data. -- If I specify the system code in the verifyora11 command line it finds UGZLOG table an returns output that verifyora11 always returns but it has all zereos. If I run the same command on the source server w/o the system code it has a count of 1 for UGZLOG
My three best guesses:
1- You are pointing to the wrong database. -- DBSERVER=test in the ORACLE file is pointing at the TNS entry in tnsnames.ora. sqlplus vhtest901/xxx@test works fine. So I feel pretty good about this.
2- You did not build the dictionary. --You might have something here because I'm not sure this is correct. In the install guide is simply states at the source product line with the UG system code. I did this and also ended up having to define the database space and data areas as I had them defined in the source dbdef--That's when the ORACLE file entries started being recognized. blddbdict was clean
3- You did not import or copy your data to the correct schema. --I'm not sure what you mean here. I assume you're talking about the product line dict file copied from the source server? If so I'm pretty sure I got the correct one. It was TEST901. Again I'm using my test environment which is a clone of the production environment as the source.
mbozenik
Additional Notes:
I believe the issue is with the product line copy and more specifically the dbdef instructions.
The SRCPL is about 45K on the source server. It's 45K after the copy to the target server.
After adding it via dbdef as instructed:
"Open the dbdef (database definition) utility. In the Product Line field, type 90xPROD, where
90xPROD is the name of the source product line. In the Launt or Unix field, select Yes. Tab to
the system code field and type UG. Press enter to save the new product line and escape out of
dbdef."
After performing the dbdef steps the SRCPL dictionary file becomes 208 bytes. I can't imagine this is correct.
Even after adding the database space and data areas and running blddbdict which runs cleanly it's still 208 bytes.
$ verifyora11 test901 ugzlog
No SystemCode UGZLO on Data Area TEST901
verifyora11 failed with No SystemCode UGZLO on Data Area TEST901
This is telling me that ugzlog doesn't exist. If you run verifyora on a production system it will return a similar message.
If you supply the system code it will generate a normal verifyora report with all zoroes. No error but the counts are 0. This tells me that dbdef of the source product line doesn't recognize the table. It's acting to me like the dbdef flushed everything out. By the way I checked the dictionary sizes and ran the verifyora just after running dbdef and also after running blddbdict which I'm not sure was necessary.
I know sqlnet net is working because if the run this command on the source server and the target server I can see in the listener logs on the source server with both entries making it through.
So this confirms the ORACLE file is good and Oracle sql net is good.
There has to be a missing step in dbdef.
Has anyone else done a separate server environment upgrade from 901 to 10? If so what steps did you have for linking in the source product line to the target product line on the target server?
mbozenik
Ok. I think I see what might be the problem.
I'm using my test product line which is a clone of the production product line as my source. Which should be fine.
The problem might be with the muliple data areas defined in the test product line.
When I copy the dictionary over and add the product line in dbdef it doesn't have a data area. Or it doesn't know which one to use. It's when I try to add the database space and data area that the dictionary size shrinks to 208 bytes.
If I don't add the database space and data area the verifyora11 fails:
$ verifyora11 test901 ugzlog
verifyora11 failed with DBConfig.Init() failed
CLawConfiguration::Init() GetDict() failed
My guess is I have to reduce the TEST901 product line down to one data area and then copy. Or create a whole new source product line and data area.
Cloud_Upgrade_Program_MuC_2022.pdf
serafino
You have two different ORACLE files posted. In one, you set DBSERVER=test and TWO_TASK=test, but in the other you have DBSERVER=lawapptest and TWO_TASK=test. These names don't match. And you can't have data for two productlines in the same Oracle instance with the same username, which is what this looks like to me (unless you have posted "versions" of the ORACLE file).
My comments were to suggest you verify the settings in the ORACLE file and to verify your database has the correct service name configured in the listener. I also suggest you verify the tnsnames.ora file is correct on the client.
If all the DB names, services, and listeners are correct, then there is a problem with your dicitonary. The 'count' and 'verifyora11' utilities can only work on files that are defined in the current dictionary. If you built a new dictionary after adding the UG system but did not apply it with dbreorg, you will not see new files even if they exist in the database after a data import.
mbozenik
Thank you Sal.
The ORACLE file is using DBSERVER=test which is what I have defined in sqlnet. I'm confident that is fine.
The issue is the dictionary. The copy of the source to target and link to target doesn't appear to work if the source dictionary has more than one data area. That's my assumption.
So I'm trying to create a new source with only one data area and see if that resolves the issue.
mbozenik
The solution was to create a product line with one data area.
Quick Links
All Categories
Recent Posts
Activity
Unanswered
Groups
Help
Popular Tags
Infor Lawson Human Resources Group - Discussion
Infor Lawson Technology Group - Discussion
General Discussions
VISUAL - Enterprise General Discussions
Infor Lawson Supply Chain Management - Discussion
Process Automation (IPA) - General Discussions
Pegasus - Partner General Discussions
Infor Lawson Supply Chain Group - Discussion
Infor Lawson Financials Group - Discussion
Infor EPM Discussions