Database mirroring(Without Baan net)
Trying out database mirror, without using Baan net (remote user files)..
Baan Version : Baan IV c4
Database : Oracle 8.0.5
DEC Alpha True64
Complete Baan installation.
able to logon to baan and the Baan is operational.
Able to connect to remote database using sqlplus.
created roles, users and tablespaces.. (same as system 1)
Login to Baan... Run session "create tables"
Created table "tccom000" for company 300 .
I am able to see table created in both system1 and system 2 at oracle level.
But when I try to open the session "Maintain companies" or go to GTM and try to read table "tccom000". Not able to read the table.
GTM throws error message. "File does not exists, allocate?"
I say yes.
I get BW error message
Error 507 (Table already exists) on tccom000300 in create_table
Cannot continue in ttaad4100
Thanks in advance
interesting! I haven't tried this myself, but the following might give you some ideas for troubleshooting:
When you access a table in GTM, then this is done in Oracle with the oracle user defined for your baan user in the ora_users file.
When you create a table in GTM, then this is done by the oracle user defined in the ora_groups file.
So it looks to me, the tables are created properly with the groups user, but the single oracle user does not see the table. Sounds like the role r_baan, which give the oracle user access to the table is not quite correct on one of the servers.
Checj the r_baan role to see, wether it conatains all needed priveleges on both servers and check, wether the user is assigned that role on both servers.
P.S.: Just out of curiosity: How do you expect transactions to work in this szenario?
Baan sends an update to both databases and then a commit to the first one. After this the second database crashes. What now?
Sure there are ways to handle this (X-phase commit protocolls and so on), but do you expect Baan to do this correctly?
Thansk for your suggestion.
Indeed it was problem with permissions. I found that the romote oracle database permissions were not correct. Gave DBA prmission to the database user and it started working.
Now about the Global commit issue.
This is big concern. Does anybody have any suggestions on how the global commit can be implemented (Any tools or somethig like that).
BTW Does Baan net implement Global commit? I did not find much written about the transaction handling in Baan Documentation.
Suggestions are welcome....
Strange isn't it? Normally the user doesn't need DBA permissions, does it?
To The global commit: I think Baan is claiming it does, but I just do not trust it.
i think Baan does not handle the global commit.
I think also, you had no problems, if all tables of one company are in one database.
But if you had the scenario, some tables of one company are in one database and some tables are in an other database, the only way to solve this problem is a database with distributed option, so the database handles the transactions.
I am trying out the mirroring, to have fail safe arrangement.
Let me explain the scenario,
I have a UNIX server with Baan IV and Oracle, and a Windows Server with Baan IV and Oracle.
The purpose of mirroring is to update the tables of same company simultaneously on both servers. In the event if one of the servers fail, the other server can continue to provide Baan services. (Though clients have to change the host name and bse path in BW).
If this works or made to work, provides a very cost effective solution high availability of Baan.
Has anybody tried using Baan method of mirring or any problems faced.
I am concerned about the global commit.
Did some preliminary test on deletion of records in table, keeping the oracle on the remote server down. Baan does not allow update in any of the system. This is very preliminary test and needs testing which is much more comples than this.
Can anybody suggest the test scenario or provide a script for testing?
Thanks in advance.
As I said I wouldn't trust Baan, when it comes to this subject. And I guess, your unix server standing still, when your windows server is down, is certainly not, what you consider high availibility.
I also doubt, that you will be able to keep the Windows server consistent with the Unix Server in regards to printer queues, interfaces etc. In the end your users will have current data, but will not be able to login, because of different passwords and will not be able to print, because of missing printers.
How about this alternative:
Buy a small Unix server (If you use HP an A-Class will do). You can clone your OS completely with Ignite including all printers/Users etc. Then you arrange for an Oracle Standby database. Finished.
I configured something similar at a client the other day. In this case we decided not to use the Oracle built in automatic mode for an standby database, because in this case Oracle will keep the databases in sync up to the last minute.
Instead we are transfering the archivelogs script based and apply them with a 1 hour delay. Advantages:
a) If somebody delete something on the life system, we have the origional still on the standby unchanged (at least for one hour)
b) The primary instance is completely untouched. So if the standby goes down, nothing happens.
c) We can put the standby in readonly mode and even run reports on it!
Unfortunately I do not think, you can apply archivelogs from a Unix server to an windows oracle database.
What do you think?
Archive log technique is good...(Never thought of this).
Buying a windows server is much cheaper then to go for another UNIX box. (I am thinking from customers point of view).
Printing is not a issue as printers can be configured as windows printers.
About autentication of users... I have an Idea.
I am going to test PAM_SMB authentication services. By using PAM_SMB services (available in SAMBA), UNIX users can be authenticated by windows domain...(I have not persoanlly tested it. SAMBA users claim that, "PAM_SMB" can be used to authenticate r* service users. )
Hence you can have all user maintained at Windows domain. Baan UNIX and Baan Windows users will get authenticated by domain controller.
Suggestions are welcome...
you are right. it is not possible to setup the oracle standby database on a differnt OS-level.
I tested the Samba authentication ages ago.It seemed to work. Even though it depends on your PAM implementation of your Unix.
But up to now, I couldn't convince aby of my Unix clients to rely with authentication on their windows server. Purely emotinal decision, I guess.
Interesting to see, what you end up with.
how abt table and domain changes
Hi Markus ,
With standby option how the table reconfig and domain changes works on the stand by. What happens if new dictionaries are not present in standby when the archieve logs are being applied . Is there mechanisam to re-apply failed archieve log easily.
How do syncronize changes to programs , reports etc on standby server.
If the standby is implemented with Oracle mechanisms, then Baan DD changes are automatically propagated, when Baan is creating the new tables in the primary database. A missing DD in that sense can not happen.
But there are other reasons, why the application of the archivelogs might fail, mainly structural changes in the database, like adding a tablespace or datafile to the origional, but not to the secondary database.
In this case the standby will refuse to apply the archivelog until the error is removed. After that all missing archivelogs can be applied normally.
|All times are GMT +2. The time now is 01:01.|
©2001-2018 - Baanboard.com - Baanforums.com