1-1: Overview of Oracle DBA tasks
• Oracle as a flexible, complex & robust RDBMS
• The evolution of hardware and the relation to Oracle
• Different DBA job roles (VP of DBA, developer DBA, production DBA, database babysitter)
• The changing job role of the Oracle DBA
• Environment management (network, CPU, disk and RAM)
• Instance management (managing SGA regions)
• Oracle table and index management
1-2: Instance Architecture
• Instance vs. database
• Components of an instance
• Creating the OFA file structure ($DBA, bdump, udump, pfile)
1-3: Oracle Instance Internals
• SGA vs. PGA
• Background processes
• Interfaces with server and disk I/O subsystem
1-4: Using SQL*Plus for DBA management
• Connecting and executing SQL
• Using the “as sysdba” syntax
• Overview of SQL*Plus DBA commands (startup, etc.)
1-5: Control file, UNDO and REDO management
• Explaining the use of control files
• Listing the Contents of the control File
• File locations for control Files
• Obtaining Control File Information
• Listing control file contents
• Displaying and Creating Undo segments
• Altering Undo Segments
• Determining the Number and Size of Undo segments
• Understanding flashback technology
• Troubleshooting Undo – snapshot too old
• Redo log concepts for recovery
• Online redo log (log_buffer) online redo logs and archived redo logs
• Oracle ARCH and LGWR background processes
• Redo log dictionary queries
• Redo log switch frequency and performance
• Multiplexing the Online Redo Log Files
• Archiving the Oracle Redo Logs
• Recovery using the redo log files
1-6: User and privilege management
• The three security methods (VPD, Grant security/role-based security, grant execute)
• Creating New Database Users
• Using pre-spawned Oracle connections
• Auditing User activity
• Identifying System and Object Privileges
• Granting and Revoking Privileges
• Creating and Modifying Roles
• Displaying user security Information from the Data Dictionary
DAY 2 –Oracle database management
2-1: Overview of instance management
• Parameter files (init.ora, listener.ora, tnsnames.ora)
• Rules for sizing SGA components
• Automated Oracle memory management (AMM)
2-2: Initialization file management
• Creating the init.ora file
• Using spfile
• Displaying init.ora values with v$parameter
2-3: Oracle*Net configuration
• Creating the listener.ora file
• Creating the tnsnames.ora file
2-4: Data buffer configuration & sizing
• Inside the Oracle data buffers
• Using the KEEP pool
• Monitoring buffer effectiveness
• Using multiple blocksizes (multiple buffer pools)
2-5: Shared pool and PGA configuration & Sizing
• Shared pool concepts and components
• Understanding the library cache
• Relieving shared pool contention
• Overview of PGA for sorting and hash joins
• Using sort_area_size, hash_area_size and pga_aggregate_target
2-6: Troubleshooting network connectivity
• Verifying network connectivity with ping and tnsping
• Testing database links
Day 3 – Oracle object management
3-1: Oracle tables, views and materialized views
• Types of Oracle tables (regular, IOT, sorted hash clusters, nested tables)
• Oracle Views
• Oracle materialized views
3-2: Oracle indexes
• Types of Oracle indexes (b-tree, bitmap, bitmap join index)
• Creating B*-Tree, bitmap and function-based Indexes
• Function-based indexes
• Finding indexing opportunities
• Index maintenance
3-3: Oracle constraints
• Costs & benefits of constraints
• Types of Oracle indexes constraints (check, not null, unique, PK, FK)
• Cascading constraints
3-4: Schema, File & tablespace management
• Describing the relationship between data files, tablespaces and table
• Understanding Oracle segments
• Creating Tablespaces – using the autoextend option
• Changing the Size of Tablespaces – alter database datafile command
• Defining a TEMP tablespace
• Changing the default storage Settings for a tablespace
• Review of the storage parameters in DBA views (ASM, ASSM, pctfree, pctused and freelists).
• Monitoring Chained rows (fetch continued rows)
• Monitoring Insert and Update performance (pctused, APPEND)
3-5: Database Maintenance
• Reason for reorgs – chained rows, imbalanced freelists
• Reorganizing Tables using Export and Import
• Using CTAS to reorganize data
• Index rebuilding
• Backup & Recovery overview (hot & cold Backups, RMAN, block change tracking)
3-6: Oracle DBA Utilities
• Data pump (Imp and exp utilities)
• SQL*Loader
• LogMiner
• Flashback
• DataGuard
• Oracle DBA utilities – Oracle dbms packages (dbms_redefinition)
• Replication (Streams, multimaster, materialized views)
DAY 4 – Monitoring Oracle
This section explores the methods used for monitoring all active components of the Oracle database.
4-1: Dictionary and v$ views
• The dba_, all_ and user_ structures
• Querying the tables, indexes, and segments views
• Querying the AWR (STATSPACK) tables
4-2: Table & index monitoring
• Monitoring table extents and fragmentation
• Using the dba_tables and dba_segments views
• Monitoring table CBO statistics
• Monitoring table extents and fragmentation
• Locating chained rows
• Monitoring table & index growth
• Monitoring index usage
• Monitoring index fragmentation
• Locating un-used indexes
• Identifying IOT candidates
• Reorganizing Indexes with alter index rebuild
• Dropping Indexes
• Getting Index Information from the Data Dictionary
4-3: workload & trend monitoring
• Oracle automated workload tools
• Using v$bh to monitor buffer activity
• Using v$sql and v$sql_plan
4-4: Instance monitoring
• Monitoring with the AWR and STATSPACK
• Creating a time-series performance report
• Using www.statspackanalyzer.com
• Scripts for AWR and STATSPACK
• Plotting performance data (Ion, Excel)
• Finding performance trends and signatures
4-5: Oracle environment monitoring
• Displaying and managing Oracle sessions (v$session, v$process)
• Using AWR to monitor disk, network and CPU consumption
• Monitoring the alert log
• Oracle trace/dump files
4-6: STATSPACK and AWR performance management
• Installing STATSPACK
• Running STATSPACK reports
• Interpreting a STATSPACK report
• Getting time series reports with STATSPACK
• Finding performance signatures with STATSPACK
DAY 5 – Performance Management
This section explores the methods used for performance management in Oracle and shows tips and scripts for monitoring all components of any Oracle database. You will also learn the proper action to take when any area of Oracle becomes a bottleneck.
5-1: Bottleneck performance analysis
• Drill-down into AWR reports
• Top-5 timed events
• External Server Bottlenecks (Network, I/O, RAM, CPU)
• Network troubleshooting
5-2: Instance Tuning
• Changing init.ora optimizer parameters (index_optimizer_cost_adj, optimizer_mode)
• Managing region parameters (shared_pool_size, db_cache_size)
• Understanding instance contention (e.g. Buffer busy waits, library cache contention)
5-3: SQL and CBO behavior
• Introduction to cost-based optimization
• Changing the default optimizer modes
• Optimizer parameters
• Dynamic sampling
• Collecting table and index statistics (dbms_stats)
• Using column histograms and skewonly
5-4: Tracing SQL Execution
• Using EXPLAIN PLAN
• Using “set autotrace”
• Interpreting EXPLAIN PLAN Output
• Using TKPROF / SQL*Trace
5-5: SQL Execution Internals
• Review of Basic joining methods
• Merge join
• Hash Join
• Nested Loop join
• Advanced SQL operators
• Between operator
5-6: SQL Tuning
• Using hints to improve SQL performance
• Using parallel query to improve performance
• SQL reusability within the library cache
• Table high-water mark
• Table striping and table partitions
• Using indexes to improve performance
• Identifying full-table scans
• Re-writing SQL queries
• Tuning sub-queries
6-1: Oracle High Availability tools
• Continuous availability and disaster recovery
• Quantifying the cost of unplanned downtime
• Oracle multi-master replication
• DataGuard
• Oracle Streams
• Real Application Clusters
6-2: Backup & Recovery
• OS-level backups
• Hardware-level backup & recovery
• Block-level change tracking
• Disk mirroring
• Backup & recovery and RAID level
• Oracle-level backups (expdp & RMAN)
• Hot vs. Cold backups







Source : Linkedin Discussion from the group : Software Testing & Quality Assurance
Bhava Sikandar • You have few options
1. Escalate this or bring awareness to your senior management.
2. If you do not have access to senior management, the other option is to ensure you use the right tool i mean good defect tracking tool can help you to report all your defects finding in the product testing, i dont think lead can change the "Found by" in the defect tracking tool. Write a good test cases which can find the defects at the early stage.
3. If he is just showing up the metrics and getting the credit ensure you automate his job so that management can think of his job as redundant..
CurtisUnfollow
Curtis Stuehrenberg • Ethically this is an interesting question and one I've had to frequently face myself. I don't think there is a standard answer applicable to all situations, unfortunately. The only thing you cannot do is change their behavior for them.
Since you cannot change their behavior, let me ask you a quick question. Why do you care? You know you are doing the work. You know you are building out your skills and experience. Even if your lead is taking credit for your work, so what? Eventually he or she will say something ridiculous or commit to something impossible and they will be found out. Until then all you can do is perform with dignity and professionalism. If you do so no matter what happens you can feel morally, ethically, and professionally justified. Even if this lead decides to blame everything on you and you are fired (worst case scenario), you can walk into the interview for a new job with the confidence and assurance that comes from correct and moral actions. Your lead, on the other hand, will have to explain why their own work has suddenly stopped.
However if you feel enough frustration and indignation at your lead where you feel like you cannot conduct yourself as a professional ... then quit. Find a position with a lead and a management team more in alignment with your justifiably high commitment to personal accountability and honesty. It is infinitely easier to simply find a new job than navigating the mine field of office politics and official action on your part would immediately trigger. People who do this sort of thing and become leads or managers are ALWAYS consummate office politicians. The fact they cannot do the work and yet are expected to be a lead for others should tell you they are either very good at lying and confusing upper management with their webs or they are somehow connected to a high-ranking person in an inappropriate manner. Neither of these possibilities grant you much chance or winning in the battle soon to follow if you take official action and complain up the company ladder.
So my advice is to find a new job and then quit. If you do not want to quit, then approach your lead and tell them directly you do not appreciate what they are doing and find it ethically reprehensible. Then quietly sit still while they continue to steal your work.
2Follow Earl
Earl Willis • That's cold Bhava! Automating his job? I find being in a technical leadership position, your best bet and best approach is to have actual STRONG technical knowledge that puts you in a position to lead from the front and not from behind.
It seems the Test Lead is leading from behind w/out actual knowledge. Due to this person's lack of knowledge they are probably fearful of taking risks, overly concerned with their reputations, making tough decisions, etc., the list goes on. This will eventually set the tone for the group. Upper management will eventually find out as this tone usually invariably filters it's way through the entire team making effective action impossible.
I'd say stick to your guns, keep producing Quality work, don't sacrifice your integrity, and document tasks that you have been doing successfully. When the above-mentioned happens, you will have a stronger case with senior management. You may also have the support of your other team members, as they are probably going through the same.
On the other hand, from what Curtis said, this may be a losing battle if they are well-trained in 'confusing upper management with their webs' or connected to a high-ranking person. In that case, I'd try to find another job.
CurtisUnfollow
Curtis Stuehrenberg • It's also possible they don't know they're doing something wrong and might need to be told their actions are not welcomed. If the lead is very inexperienced they might think what they're doing is standard or at least not that big of a deal. If you don't tell them, they won't know and be able to correct it.
Follow Freddy
Freddy Vega • @Diva, please do not quit your job! :)
Someone on this thread said "The fact they cannot do the work and yet are expected to be a lead for others should tell you they are either very good at lying and confusing upper management with their webs or they are somehow connected to a high-ranking person in an inappropriate manner."
Those are not the ONLY two things this lead can be. It can also mean that he is required to present the work that others perform (this is a normal process in any lead's job). It can also mean that, while he does not have experience in test, he may be a company or industry veteran that truly understands the business and was placed in the position, with trusted QA folks below him, to run a tight ship.
The best way to deal with this situation IMO, is communication, communication, communication. Be it via suggesting new processes, tools, etc or talking, emailing the lead directly. Just do not quit your job and do not automate his job!!! :)
If you can't beat them, join them. Become his ally and watch yourself rise to the top! ;)
CurtisUnfollow
Curtis Stuehrenberg • @Freddy - So you think that if she finds the situation completely unbearable and cannot conduct herself as a professional then she should just suck it up and keep working, perhaps even align herself with this person in order to further her own career? I ask because that's the situation I outlined when I suggested quitting as an extreme reaction.
If Diva truly finds the situation too horrible to bear, then she should find a new job a quit. If however she is simply looking to vent a little pressure, she has other options. You should NEVER approach some one with an accusation like this without full realization of where it might lead. If her lead is a reasonable person and truly does not know his or her behavior is professionally unethical, then communication is truly the most beneficial option. However if her lead is fully aware of the situation and either does not care or sees no other option for personal advancement, then confronting him or her about it will only cause problems. The truth of the situation probably lies somewhere in between these two extremes but it does not remove them completely. You should never gamble with money you cannot afford to lose. You should also never stand up for principles you are not willing to sacrifice other things to maintain.
Follow Freddy
Freddy Vega • @Curtis, NO, I do not think she should "suck it up and keep working"
I am suggesting that she should "align herself" with this Lead. Once they are both going in the same direction; sparks will fly!
You do this, with COMMUNICATION! and that, Curtis, is what I am suggesting.
Follow Freddy
Freddy Vega • And yes, once they (Diva and Lead) are aligned, they will both be at the relative* top (from a work/career perspective).
*relative: meaning from the current situation (i.e. bad, stealing work, etc).
Follow William "Bill"
William "Bill" Malik, CISA • The risk with aligning your career with a fraud is that when they go down, you will too. Why take that risk? If I see my boss stealing anything from anyone, I'll report it to the appropriate leader. If the organization's culture is to accept the malfeasance, then best to get out of there. Do you want to have Enron on your resume?
The point is that eventually bad behavior comes to light. Maybe not soon enough, maybe not fully enough, but it will. In the meantime, as Kurt Vonnegut said, "Your are who you pretend to be, so be careful about who you pretend to be." If you choose to stand with a known crook, then the premise that you don't like crooked behavior is rendered meaningless. Actions > words, and words > ideas.
Follow Freddy
Freddy Vega • @William, that is assuming the work is being "stolen". This is all a perception thing. We cannot assume the worst without more information first. This is why COMMUNICATION is the right answer.
Follow Freddy
Freddy Vega • Oh and William... I concur... "Actions speak louder than words" ;)
DivaUnfollow
Diva Samanta • Hmm.... it is interesting to read so many different views on the subject.
Let me give you all some specifics:
1. The first thing this person did is become best frineds with the QA manager.... getting into the personal life, calling, chatting.... in one word 'buttering' is an everyday thing.
2. The communication skill is world famous, I mean, office famous.... horrible English and sentence construction.... hard to figure out the meanings of the emails sent.
3. This person would ask the testers to create documents or pull excel reports from Quality Center for the Sign Offs or other related documents he/she is supposed to create. If these documents are sent to him/her and the manager is copied in the email, this person will call the tester and RAISE HELL.
4. Since the communication skill is not good enough, this person would forward the same email to the manager that the tester had sent, changing the name at the bottom of the email. The way we discovered this is via Live Meeting when his/her desktop was shared by many.
These are just a few examples....
BTW, I like the quitting option.... does any of you have a position open for me ? ;)
Follow Freddy
Freddy Vega • Well, all I can say is that there are two sides to every coin ;)
Diva, I'm not saying that you are wrong. I'm just saying that all of the issues you raise can be fixed with COMMUNICATION.
CurtisUnfollow
Curtis Stuehrenberg • @Diva - It sounds like you have a good sense of humor about this, so I would just let it go. You and the rest of the team should conduct yourselves as professionals and let this person slowly dig their own grave. Personal relationships are great and can help you advance your career in ways you'd never quite suspect, but they do not pay bills. At the end of the day it is the person who can do the work that will be in high demand, not the person with whom it is fun to hang around.
If your management team is not aware they are simply signing their names to documents and communications produced by several people, then your upper management are fools. However I suspect they know and simply don't care ... so long as the work is being done. Sooner rather than later this person will run into a problem they cannot steal or flatter their way out of. Their inexperience, lack of communication, and tendency to take credit for other people's ideas and work will then NOT be ignored.
1Follow Earl
Earl Willis • @Diva,
Changing names raises a red flag in my book. Sounds to me like this person knows exactly what they are doing. The more I read of your circumstances, the more I have to agree with Curtis's first comment when he says 'It is infinitely easier to simply find a new job than navigating the mine field of office politics and official action on your part would immediately trigger'. Especially one in which the team you are going to shares the same beliefs about integrity as you.
Of course, this is easier said than done but you are in a better position as you can look for another opportunity while you have a job which allows you to feel everything out before making a commitment just for the sake of leaving your current situation.
The more you explore alternative opportunities the more empowerment you will feel over your situation, and this will also give you an idea of what you will lose if you leave, and what you can lose if you don't leave.
Follow William "Bill"
William "Bill" Malik, CISA • @Freddy
The only reason I said that something was stolen was that Diva said something was being stolen. It would be great to see an example of the specific communication - what would be said, and to whom, that would resolve all of these issues.
Here are a couple of parameters: 1) Let's assume that D has a professional reputation and a level of personal integrity that she does not want to sacrifice. 2) Let's assume that D doesn't want to be bullied at work. 3) Let's assume that L is devious.
So D goes to L and asks for something to change, and L responds by making life more difficult for D.
Or, D goes to QA Mgr to report L's behavior. QA Mgr and L make life more difficult for D.
Or, D goes to VP/CIO to report L and QA Mgr's harassment. VP investigates and makes life more difficult for D.
So, what's your plan?
Follow Freddy
Freddy Vega • @Diva, note that a lot of folks are encouraging you to quit your job rather than face the issues, communicate, and come out the other end, in the least, a bigger person.
Working through problems is any engineers dream! Work through IT! Communicate! Take action, all positive and constructive. Even if it means looking at yourself critically. :)
Follow Freddy
Freddy Vega • But @William,
My plan is not to assume or guess. Its just to communicate and take appropriate action as the "unknown" becomes "known".
DivaUnfollow
Diva Samanta • @ Curtis, @ Earl, @ William.... I agree with you ....
I have decided to give it my best shot and see how far I can go with my skills and how far this person can go with deceit. There is a saying "Winners never quit. Quitters never win". I have faith in my capabilities. At the end of the day, I am not the one who asks for help to get things done. For the time being, I am just being a silent observer and a team player.
@ Freddy, how do you communicate with a fraud?
1Follow Freddy
Freddy Vega • @Diva, I realize what I am telling you may not be what you want to hear (like Curtis, Earl, William, etc). I also realize that the advice I am giving you is much harder to execute (easier said than done, right?) but you said it yourself "Winners never quit. Quitters never win".
So if you follow that quote it is saying exactly what I am recommending you do ;)
How do you communicate with a Fraud? The same way you communicate with anybody.
However, the first thing I would do is get the word "fraud" or "steal" or anything that sounds negative or destructive out of my vocabulary when I either reference or talk to this individual. I know, I know, easier said than done. But IT CAN be done...