It has been a while since I last posted, but here I go again.
I was recently installing Oracle Data Guard for a client that is running 126.96.36.199 on a Windows Servers 2008 system. After configuring Data Guard I started testing the switch overs. As per the instructions I was using for Data Guard, I tested. I was issuing a switchover to standby and then issuing a shutdown in the primary server. The shutdown caused Oracle to display an error ORA-01092 Oracle Instance Terminated. This was a bit disconcerting as without anything to go by it seemed that the instance had done an abort. Some research found in the alert log the following
Switchover: Primary controlfile converted to standby controlfile successfully. Switchover: Complete – Database shutdown required Completed: alter database commit to switchover to physical standby with session shutdown Fri Oct 21 10:21:15 2011 Performing implicit shutdown abort due to switchover to physical standby Shutting down instance (abort) License high water mark = 28 USER (ospid: 6244): terminating the instance Instance terminated by USER, pid = 6244 Fri Oct 21 10:21:18 2011 Instance shutdown complete ORA-1092 : opitsk aborting process
Now for me I don’t like when I issue a command and something entirely different happens, i get a little concerned. The SQLPlus session may have to be closed after this happens., as it is no longer connected to the instance.
In the absence of finding the knowledge from the documentation, it is there, I raised an SR and got a response explaining that this is in fact now the behaviour from 11.2 onwards as this allows the switchover to proceed faster. I would have liked either an error when I tried to issue the shutdown or the shutdown immediate however at this time this is not the case, I am not sure if there is any alternative with the SQLplus handling the abort
So don’t be concerned by this error if you are using Data Guard in 11.2 onwards as this is expected behaviour.
I hope this makes some else life a little easier
See ya round
I read a recent article about the way in which an table name supposedly could not have the same name as a the database name in SQL Server 2008, this was possibly valid at some time in a previous version. Now most are aware that objects in a different schema in an Oracle DB can have the same name, but can a table and a view, or a table and an index have the same names. So here is a few little tests and lets see what I found.
CREATE USER test1 IDENTIFIED BY test1 DEFAULT TABLESPACE test1;
GRANT CREATE TABLE TO test1;
GRANT CREATE TYPE TO test1;
GRANT CREATE VIEW TO test1;
GRANT CREATE SESSION to test1;
Log in as user TEST1
SQL> create table test1( 2 test1 varchar2(10), 3 test1 number(10,2)); test1 number(10,2)) * ERROR at line 3: ORA-00957: duplicate column name Ok thats fair enough
SQL> create table test1( 2 test1 char(10), 3 test2 varchar2(10), 4 test3 number(10,2));
SQL> create index test1 on test1(test1);
create view test1 as (select test1 from test1); create view test1 as (select test1 from test1) * ERROR at line 1: ORA-00955: name is already used by an existing object
And that one makes sense as well
So it really makes sense when you think about it if I want to select from an object in the context it is used eg select test1 from test1 is valid to I can have a column in the table test1 called test1 I can have an index the same name but I could not have a link in this schema as test1 as that would be confusing with this schema. I could not have a global link in the database as selecting from the test 1 schema or the Link would not differentiate, I can however have any number of the same object names across many schemas, many developers know this often having their own schema in the database for the code they are working on.
Juast a side note I saw in a Don Burleson article a mention that GRANT CREATE INDEX doesn’t work in some distributions, I found that to be true in my 11.2 distribution on Linux x64. It would appear that the GRANT CREATE TABLE provides the support for creating indexes.
I hope this might help in someone understanding of using object names in Oracle databases.
Oh what was the answer with SQL Server, well it was like Oracle a database and table name can be the same.
See ya round
I recently had to do some installations on a windows server running on a VM. This made me have a look at the VSS technology and at the end can to the conclusion that VSS has limited usefulness for most Oracle sites. Now someone might correct me and show what is missing in my understanding but without regular say hourly snapshots to another place its adds little value. Wouldn’t a daily rman backup and regular backups of archive logs provide a better alternative?
I understand some SANS can provide SAN mirroring with the use of VSS, but to do this the database still have to be quiesced. From what I looked at Data Guard is a much better solution for a recovery from many failure situations. Doing snapshots with VM technology leaves you with a potentially degraded database, some testing suggested in a slow system, that is one with a very low transaction rate it perhaps will be recoverable. Some testing I did left me with a question mark over what might happen in the event of a problem occurring.
I ran some tests and had it snapshotted whilst conducting a number of transactions using Jmeter to create some traffic on the database without using VSS to determine if a database was recoverable from a snapshot, in each case as the redo logs were ok the database recovered and started, I identified that this was only good luck as in different circumstances this could easily been in a situation whereby this database became unrecoverable, basically what had happened was all my redo logs were still at the same SCN number and as such the database simply recovered as when a shutdown abort occurs.
Oracle provides a fantastic tool in RMAN and Data Guard if you need fast recovery from some situations and using VM snapshots with VSS or without may not be your best option, check out thoroughly any recovery scenarios you may need to handle and especially your lost time window when you cannot apply logs before choosing one over the other. I am sure in many cases Oracle will provide you with better alternatives than external tools such as VM snapshots.
What has been your experiences and what paths have you chosen and why? I am interested to hear
See ya round
I have recently had to learn to use git as some of the code we work on occasionally is now in a git repository. Git I have found to be simple enough however there is definitely some learning to do. I have found some of the tools to be a bit simplistic at time and this is because unlike some other products you need to learn and understand about some best practices for using git. Someone said oh its pretty easy just clone a repository for the product you want to use and then you are fine. Firstly this is not so., don’t believe that for a minute. You need to get your head around a number of the concepts in git before you go much further than the clone or you will run into some issues that will make life less happy.
Firstly you need to understand that git is a distributed repository system and you have a few ways to manage your git, one is branch on your core server and then clone a branch, and never clone the master. Do this for each developer is one idea, the other is clone and then branch locally. I have a preference for this as it keeps my core repository cleaner as all branching is local for each developer, however there are some pros and cons for each idea and you may have to experiment to determine what is best for you organisation or project.
Never edit the master unless you are definitely the only one working there. merging in edits can get messy.
Always branch and then edit and merge the branch. There is a good instruction here so I wont repeat it
The info I have pointed you to along with this article should assist you in making a better day of your first uses of git
For the record it took me some time to sort out what I hashed when trying to merge in from the master after pulling from the main repository after editing a local file in the same master branch, it made a hash of it trying to merge the file.
I hope from these few tips you have a better time of it when you start with git.
See ya round
Well we all have had a love hate relationship with My Oracle Support/Metalink or Metablink as it was satirically known by some in its earlier days. More recently I along with some friends and colleagues have had issues with how the flash interface altered how we do some things and I have had a grievance with using the knowledge base in particular how to return to a prior location when I click through support notes. It has neither been intuitive nor has it really worked all that well. This would not be my only gripe but I did what I could at various times raising concerns with things that bothered me.
I raised a call about a problem I was encountering with the function to log in again when the session expired and had a surprising response, stick with my work around as the Flash interface is leaving us. Of course the usual Safe harbor statements where included, but joy oh joy it is going, one can only hope the usability of the next iteration is a whole lot better. The question I am now interested is will it be HTML5 and does that mean the next update of APEX is html5 compliant. I can see a lot of developers being very happy about that.
I gues teh other question everyone will now want to know is when?? OpenWorld or sooner, this is the big question, I guess when the next Apex release is out might be the time.
See ya round