路虽弥,不行不至;事虽少,不做不成。
分类: Oracle
2007-06-14 09:02:15
Reporting
Q: Are there database views of information contained in the Repository? If so, can I use these Repository views to generate custom reports?
Yes. The Enterprise Manger Configuration Assistant creates repository views whenever a new repository is created. These views are created on top of the repository tables. They enable users to view information from the repository without the danger of manipulating data the wrong way. Release 9i repository views are documented in an Appendix of the Enterprise Manager Administrator's Guide.
Q: I've heard people talk of some new reporting capabilities in Enterprise Manager 9i. What's that all about?
Enterprise Manager 9i offers comprehensive reporting capabilities by providing a rich set of pre-defined reports out-of-the-box for enabling users to quickly view and analyze information about their managed systems. Pre-defined reports, such as Availability by Service and Outstanding Alerts, identify the current status of the environment. Other pre-defined reports, such as Events in Library and Database Instance Configuration, detail the setup and configuration of the environment. These reports are accessible from a single location in the Console or from a central reporting website. In addition, with a Diagnostics Pack license, administrators also have access to Application Health Assessment reports, which show performance in real time, performance history, and project trends into the future. These additional reports are generated from Diagnostics Pack applications, which post reports directly to the Enterprise Manager Reporting Web Site.
Furthermore, Enterprise Manager release 9i provides a consistent user interface and the underlying "framework" for customizing, scheduling, and publishing reports to the Enterprise Manager Reporting Web Site. This new functionality - central to all Enterprise Manager applications - allows Administrators to create user-defined reports to satisfy unique business needs; publish reports to a central web site for general viewing, and to specify whether published reports should be generated on demand for constant access to up-to-date information or on a specific schedule to run time-consuming and/or CPU-intensive reports during non-peak hours.
Q: In the Console's Navigator tree, I see something called Report Definitions. What is a report definition?
A key concept to understand is that all reports are generated from report definitions. An administrator creates a report definition that generates the desired report. A report definition defines what type of report is generated, its content and appearance, or whether it is published on the reporting website. It also includes various attributes such as an optional schedule. A report is uniquely identified by its definition name. Specifically, a report definition allows you to define the following attributes:
By default, Enterprise Manager supplies a wide array of predefined report definitions, allowing you to generate reports without having to create new report definitions.
Q: Can I create my own custom reports?
Yes. You can create a user-defined report by selecting ‘Create Report…’ from the Object main menu. From the Create Report dialog, you can:
For details on how to create user-defined reports, refer to the Oracle Enterprise Manager Administrators Guide.
Q: As I create a custom report, I must specify report elements. What is a report element?
Report elements are the building blocks of any report definition, and by extension, the generated report itself. By selecting and ordering report elements, you construct the format and content of your report. Enterprise Manager provides three general categories of report elements:
The actual elements that are listed depend on both the report type selected and the element category.
Q: As I create a custom report, I must choose between 'Creating individual reports for all targets of a selected type' and 'Creating a single report for preselected targets'. What is the difference between these two?
Reports generated using the former method (i.e. creating individual reports for all targets of a selected type) do not require that you choose specific targets before publishing or saving the report. In this situation, the administrator who views the report chooses the target(s). For example, a super administrator wants to publish a report listing the number of active jobs submitted against a target. They would like this report to be used by other administrators as a helpful utility to allow them to determine the job loads for targets they are managing. Since there are over 560 targets in their managed environment, it is not practical to generate a report for all 560 targets. Instead, the super administrator specifies in the report definition that an individual report be created for all targets of a selected type and then publishes the report to the Enterprise Manager reporting website. A regular administrator goes to the reporting website to find out how many jobs are active for the five targets they are managing. They click on the hyperlink to generate a report. They are then prompted by the system to specify the exact targets they wish to run the report against. They choose the targets and the report is generated for those targets only.
Reports generated using the latter method (i.e. creating a single report for preselected targets) allows the report owner to select specific targets in the report definition before generating the report. Hence, the administrator who clicks on that report's hyperlink in the reporting website will see a report for all targets chosen by the owner of the report definition.
Q: When should I publish a report generated on demand (i.e. whenever a web page is viewed) versus scheduled at a predefined interval?
You should choose to publish a report on demand if it is critical that the reporting website always contains up-to-date information. This on demand capability allows end users, via the reporting website, to generate reports real-time. With on demand reports, users know that they are viewing current information on their monitored enterprise. You should choose to publish a report on a scheduled basis if it isn’t critical that the reporting website remain up-to-date. In addition, scheduling a report to run on a regular or repeated schedule allows administrators to run time- and/or CPU-expensive reports during non-business hours.
Q: How do I configure the Enterprise Manager Reporting Web Site?
When you install the Management Server, a preconfigured Oracle HTTP Server is automatically installed and started for you, and this HTTP Server will serve as the reporting web server (this is the same web server as is used for browser-based Enterprise Manager). In addition, reporting functionality is also automatically installed. However, there are additional, manual steps you must perform in order to access the Enterprise Manager Reporting Web site.
Steps to perform from the Console:
1) Change the default password of oem_temp for EM administrator REPORTS_USER.
2) If you want to see database reports from the central Enterprise Manager Reporting Web Site, then you need to set preferred credentials for REPORTS_USER. Any future database reports that other EM administrators create will also have to set their own database preferred credentials.
3) If you want to see worthwhile info in the Service Level Reports, then you need to register target up/down events for the corresponding targets you want valuable SLRs against.
4) If you want to see a Trending tab with trending information on the Reporting Web Site, you will need to have collections and affiliated analyses available from Capacity Planner. If you don't have these, the Trending tab won't appear.
Steps to perform from OMS/HTTP Server machine:
1) Ensure OMS process is started.
2) If the machine is UNIX:
a) Execute the xhost +
b) If the machine is UNIX, specify the DISPLAY environment variable with the X Window machine name on the host where the reporting web server is running. For example, if your reporting web server is running on host servlet1 and the X Window is running on host xserv1, then execute the following command on servlet1:
if the command shell is C Shell: setenv DISPLAY xserv1:0.0
if the command shell is B or K Shell: DISPLAY=xwerv1:0.0; export DISPLAY
c) Verify that the X Window environment has been configured properly. For example, execute the xclock command. If you see the xclock window on your X Server (i.e. reporting web server), your X Window environment has been configured properly.
3) Stop and restart the Oracle HTTP Server via the command apachectl stop and apachectl start.
4) Review the oem.conf file located in $ORACLE_HOME/oem_webstage/ directory, and note the ServerName directive value.
5) From the OMS/HTTP Server $ORACLE_HOME/bin directory, run oemctl configure rws. You will be prompted to supply the following:
Access Reporting Web Site URL:
1) Enter the URL host name>:3339
2) Click on Access Reports button
Q: What is the URL to access the Enterprise Manager Reporting Web Site?
After configuring the Reporting Web Site, you can access its home page directly via the URL host name>:3339/em/OEMNavigationServlet. You can also access the Reporting Web Site Home Page through the home page or index page of browser-based Enterprise Manager (i.e. emwebsite.html) via the URL http//
Q: Can I run the Enterprise Manager Reporting Web Site on a port other than the default 3339?
Yes. You must perform the following manual configuration steps for this to work:
1) Open $OH/oem_webstage/oem.conf and replace all 3339 with whatever port you would like to use.
2) Run “oemctl configure rws” again and enter the new port number when prompted.
3) Stop and start the Oracle HTTP Server and Oracle Management Server.
Q: What should I do if when accessing Enterprise Manager reports from a web browser, I see a blank page or the following error: "Internal Server Error: The server encountered an internal error or misconfiguration and was unable to complete your request. Please contact the server administrator, you@your.address and inform them of the time the error occurred, and anything you might have done that may have caused the error. More information about this error may be available in the server error log."?
You should review the Oracle HTTP Server error.log file for the following exception: "Xlib: Client is not authorized to connect to Server java.lang.NoClassDefFoundError: sun/awt/motif/MToolkit". The Oracle HTTP Server log file is located in the $ORACLE_HOME/Apache/Apache/logs/ directory. If this exception occurred, perform the following steps to fix the problem:
(1) Execute the xhost +
(2) Specify the DISPLAY environment variable with the X Window machine name on the host where the reporting web server is running. For example, if your reporting web server is running on host servlet1 and the X Window is running on host xserv1, then execute the following command on servlet1:
if the command shell is C Shell: setenv DISPLAY xserv1:0.0
if the command shell is B or K Shell: DISPLAY=xwerv1:0.0; export DISPLAY
(3) Verify that the X Window environment has been configured properly. For example, execute the xclock command. If you see the xclock window on your X Server (i.e. reporting web server), your X Window environment has been configured properly.
(4) Restart the Oracle HTTP Server via the command apachectl restart.
If the exception indicated above doesn't occur in the log file, then make sure there is no other Oracle HTTP Server and JServ process running which may be reserving the default ports. If there is an Oracle HTTP Server and JServ already running, you will have to use a different port for the current Oracle HTTP Server and JServ configuration. See the next Q&A to see how you can configure JServ to run on a port other than the default. To modify the default Oracle HTTP Server port, edit the “port” attribute in $OH/Apache/Apache/conf/httpd.conf.
Q: Can non-default port number be used for JServ for Enterprise Manager Reporting?
Yes. You must perform the following manual configuration steps for this to work:
(1) Modify the jserv.properties file located in $ORACLE_HOME/Apache/JServ/etc/ directory by changing the port property.
(2) Modify the jserv.conf file located in $ORACLE_HOME/Apache/JServ/etc/ directory by changing the ApJServDefaultPort property.
(3) Modify the oem.conf file located in $OH/oem_webstage/ directory to reflect the new port by changing the line
"ApJServMount /em /oemreporting"
to
"ApJServMount /em apjv12://localhost:
where
Q: I see a cryptic error - something about the Management Server is using a different webserver for reporting services - when accessing the Enterprise Manager Reporting Web Site . What do I do?
If after installing the Oracle HTTP Server you manually edit the ServerName property in its oem.conf file and then access the Enterprise Manager Reporting Web Site, you may encounter the following error:
"The management server
To fix this problem, edit the oem.conf file located in the $ORACLE_HOME/oem_webstage/ directory by setting the ServerName property to the hostname of the machine running the Oracle HTTP Server for the Enterprise Manager Reporting Web Site. For example, if you've supplied node1.us.oracle.com as the OMS and webserver name for oemctl configure rws, then you need to set ServerName property to node1.us.oracle.com in oem.conf.
Q: Why must xhost be executed for reporting to function properly?
The problem is the servlet requires that xhost+ has been activated on the machine (its a java restriction when generating graphics). For more information, go to
Q: I see garbled, non-legible text in the Enterprise Manager Reporting Web Site in a non-English environment from Microsoft Internet Explorer release 5.0. How can I fix this?
This is bug 1773959. To workaround this problem, view the reports from Microsoft Internet Explorer release 5.5 or from Netscape Navigator release 4.7.
Q: I see garbled, non-legible characters in the Enterprise Manager Reporting Web Site in a Japanese or Simplified Chinese environment. What do I do?
This is bug 1701315. To fix this problem, perform the following steps:
(1) Add the following lines to the jserv.properties file located in the $ORACLE_HOME/Apache/Jserv/etc/ directory:
# An environment name with value copied from caller to Java Virtual Machine
# Syntax: wrapper.env.copy=[name] (String)
# Default: NONE
wrapper.env.copy=NLS_LANG
wrapper.env.copy=LANG
(2) Define the environment variables NLS_LANG and LANG with proper values. For example, if you are using a Japanese environment, specify Japanese_Japan.JA16EUC for NLS_LANG and ja for LANG.
(3) Restart the Oracle HTTP Server via the command apachectl restart.
Q: I see the following exception in $OH/Apache/Apache/logs/error_log file: "Probably the process is hanging and can not respond. In most cases, the JVM is either heavily loaded or doing GC. Please increase the JVM timeout value or decrease the JVM heap size to reduce the time of doing GC. The process is about to be restarted." What do I do?
This is bug 2260896. Try doing the following:
1) Increase the time out value by updating the following line in $OH/Apache/Jserv/etc/jserv.conf :
ApJServVMTimeout timeoutvalue
This directive is used to set the timeout for pinging, startup, etc. You could try setting this value to be something around 30 or 35.
2) Set the java heap size by adding/updating the following lines in jserv.properties :
wrapper.bin.parameters=-Xms64m
wrapper.bin.parameters=-Xmx128m
3) Restart Oracle HTTP Server.
Q: When I try to schedule the generation of a report, the 'trigger report generation' job fails with the following error: " can't find package http". How can I fix this?
Most likely, you are trying to schedule the job against a non supported version of the Intelligent Agent. To schedule a report job, you must use a 9i Agent.
Q: When accessing an Enterprise Manager Reporting Web Site from URL through a firewall, all the image gifs in the Reporting Home Page are missing. How do I fix this?
This is bug 2246104. To fix the problem, perform the following steps:
1) In $OH/oem_webstage/oem.conf, modify directive “ServerName” such that it has the domain name along with it. For example “ServerName xxx.us.oracle.com“ rather than just “ServerName xxx“
2) Stop and restart Oracle HTTP Server.
Q: I'm not able to access any Trending reports on my Enterprise Manager Reporting Web Site. Why not?
The problem is usually that there is no historical data available for the reports (charts) that they are selecting. If they initiate collection of the appropriate data the report will work. They can verify this by trying to bring up the same chart from within Capacity Planner. If they can view the chart from Capacity Planner, they should be able to view it from the Reporting Web Site.
Q: Can I publish user-defined charts from Performance Manager to the central Reporting Web Site?
No. This is not currently supported. However, system-defined charts are automatically published to the Reporting Web Site.
Q: Can I use a different web server other than the default Apache web server that gets installed for running the Enterprise Manager Reporting Web Site?
No.
Q: I have a separate repository in which to store my collections. Will this be a problem for Enterprise Manager Reporting Release 9.2?
No. Beginning with Release 9.2, you can configure reporting such that it is aware of the historical database repository. You do so by running the emctl configure rws script on the machine where the Management Server and reporting web server are installed. This script will prompt if you use a separate repository for your data collections, and if so what the connection details are for that database.
This capability was not available in release 9.0.1.
Q: Is there away to customize the headers/logos of reports to some corporate identity?
Yes. You just need to replace the oem.gif file located in the $ORACLE_HOME/oem_webstage/sysman/reporting/gif/ directory on the reporting webserver machine. Because all reports look for oem.gif file, you will have to keep the same file name (oem.gif,) but just use your own corporate logo or whatever instead. Of course, the reporting website may look a bit strange if the corporate logo isn't the same size as the original Enterprise Manager logo....may be too much white space or something. Remember to clean the browser's cache in order to see the new image since the oem.gif image is cached.
Q: I don't really see any useful information in the Service Level Reports available out-of-the-box. Why not?
You need to have up/down events registered against the targets for which you want Service Level Reports.
Note: The node up/down event is not used in calculating availability for the Service Level Reports for targets other than nodes.
Q: My node was down for a day last week, but the Service Level Report didn't indicate this. Why not?
Service Level Reports will not indicate downtime for a node. If a node is down, the Intelligent Agent cannot be contacted; therefore, the node's status is unknown.
Note: If you have a group which includes a node, database, listener, and all three are detected as down then the Overall Availability for the group would be down because downtime takes higher precedence then unknown.
Q: I have several targets with command-line blackouts specified. Are blackouts represented in the Service Level Reports?
No. Downtime does not take into account command line blackouts at the Intelligent Agent side because they are not stored in the repository.
Q: Can I create a single chart in Capacity Planner that shows metrics across a number of systems, and then publish that to the Reporting Web Site?
Yes. You can create a single chart in Capacity Planner that shows a metric (or metrics) across a number of systems, and they would not necessarily have to be the same target type either, e.g. you can mix hosts and databases. If you go into Capacity Planner and create a chart by selecting a metric for one target, and then selecting a metric for a different target, you can use the "Add to Chart" button. The new charts will be automatically published.
Note: You can't however, create a custom report of this type for realtime data through Performance Manager.
Q: How can I restrict access to the Enterprise Manager Reporting Web Site?
By default, anyone who knows the URL to the Reporting Web Site can access it and see all reports published to the Web Site. However, should you need to restrict access, you should be able to do so via basic authentication in the Oracle HTTP Server; however, no such testing has been performed by the development/QA teams, but there should be no technical reason for why basic authentication in Oracle HTTP Server shouldn't work. We would recommend to take backups of $OH/oem_webstage/oem.conf and other HTTP Server configuration files before making such changes.
To restrict access to the Reporting Web Site Homepage, perform the following:
1) CD $ORACLE_HOME/Apache/Apache/bin
2) Enter the command: htpasswd -c users.pw
3) Enter the password for this user when prompted
4) Edit $ORACLE_HOME/oem_webstage/oem.conf by adding the following text above
AuthName "the reporting framework"
AuthType Basic
AuthUserFile "/usr/orasoft/product/9.0.1/Apache/Apache/bin/users.pw"
Require valid-user
5) Stop and restart Oracle HTTP Server
Now when you access the Reporting Web Site Homepage, you will be prompted for a username and password.
Q: I don't want users to be able to refresh the Performance reports every 30 seconds. Is there a way to remove this capability?
No. The Performance reports have the refresh capability by default and there is no way to remove the refresh links within the reports. However, users can choose the 'None' option so that the report doesn't automatically refresh.
Q: How can I enable HTTPS with the Enterprise Manager Reporting Web Site (using port 3339)?
1) Edit the oem.conf file located in the $ORACLE_HOME/oem_webstage/ directory by adding the following lines between the
SSLCertificateFile ...
SSLCertificateKey ...
2) Edit the httpd.conf file located in the $ORACLE_HOME/Apache/Apache/conf/ directory by commenting out the
3) Restart using apachectl startssl
Q: I get the following exception in Jserv.log and reporting hangs on my UNIX machine. What should I do?
OEMDirectoryServlet/java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName0(Compiled Code)
at java.lang.Class.forName(Compiled Code)
at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:63)
at oracle.cabo.style.util.GraphicsUtils$GraphicsLoader.run(Unknown Source)
at java.lang.Thread.run(Compiled Code)
This is a problem with your Xserver configuration. Follow these steps:
a) Execute the xhost +
b) If the machine is UNIX, specify the DISPLAY environment variable with the X Window machine name on the host where the reporting web server is running. For example, if your reporting web server is running on host servlet1 and the X Window is running on host xserv1, then execute the following command on servlet1:
if the command shell is C Shell: setenv DISPLAY xserv1:0.0
if the command shell is B or K Shell: DISPLAY=xwerv1:0.0; export DISPLAY
c) Verify that the X Window environment has been configured properly. For example, execute the xclock command. If you see the xclock window on your X Server (i.e. reporting web server), your X Window environment has been configured properly.
d) Stop and restart the Oracle HTTP Server via the command apachectl stop and apachectl start.
Q: I get the following exception in the error_log file and reporting does not seem to work on my UNIX machine. What should I do?
[CRIT] (125)ADDRESS ALREADY IN USE: MAKE_SOCK: COULD NOT BIND TO PORT 3339
[NOTICE] ORACLE HTTP SERVER POWERED BY APACHE/1.3.12 (UNIX) APACHEJSERV/1.1 MOD_PERL/1.24 CONFIGURED --> RESUMING NORMAL OPERATIONS
There may be another Apache running on the box, so ports may already be in use. There are two important ports: JServ port (default 8007) and the Enterprise Manager listen port (default 3339). If there is another Apache running on the machine then it probably means that JServ is already listening on port 8007 and Enterprise Manager listening on port 3339. So starting another Apache gives this type of error. So you may have to tweak one or more of these ports to get both Apaches up and running.
To change the JServ port number, you must perform the following manual configuration steps:
(1) Modify the jserv.properties file located in $ORACLE_HOME/Apache/JServ/etc/ directory by changing the port property.
(2) Modify the jserv.conf file located in $ORACLE_HOME/Apache/JServ/etc/ directory by changing the ApJServDefaultPort property.
(3) Modify the oem.conf file located in $OH/oem_webstage/ directory to reflect the new port by changing the line
"ApJServMount /em /oemreporting"
to
"ApJServMount /em ajpv12://localhost:
where
To change the Enterprise Manager port number, you must perform the following manual configuration steps:
1) Open $OH/oem_webstage/oem.conf and replace all 3339 with whatever port you would like to use.
2) Run “oemctl configure rws” again and enter the new port number when prompted.
3) Stop and start the Oracle HTTP Server and Oracle Management Server.
Q: When a node experiences an outage, the Service Availability reports show the outage as "unknown time", not downtime. Why is this?
This is consistent with the node's state that you will see in the EM Console or Reporting Home Page. This is due to the fact that node availability is determined by pinging the Agent, not the node. When the Agent is unreachable the node is in an unknown state. There may be a network latency or outage or the node may be down.
Q: What determines the value of the timezone that is displayed on reports?
The Oracle HTTP Server running on the middle tier. If you want to change the timezone used, modify the jserv.properties file located in the $ORACLE_HOME/Apache/Jserv/etc/ directory. Specify the following:
wrapper.bin.parameters=-Duser.timezone=
For example, wrapper.bin.parameters=-Duser.timezone=GMT
In some cases, this does not solve the issue and the following is needed
.1.Set a TZ environment variable to the proper time. For example:.
TZ = PDT+9
See Note:131207.1 - How to Set Unix Environment Variables
2.Add the following in the jserv.properties file in the $ORACLE_HOME/Apache/Jserv/etc directory:
wrapper.env.copy=TZ In the jserv.properties file, there is already a similar DISPLAY line. Just add the TZ line directly afterwards. For example: wrapper.env.copy=DISPLAY wrapper.env.copy=TZ wrapper.bin.parameters=-Duser.timezone=GMT
Q: I read this FAQ on reporting, and am still not able to get the Enterprise Manager Reporting Web Site to work. What should I do?
Send the log files to customer support. Here is what you need to do:
1) Stop the Oracle HTTP Server.
2) Stop the Oracle Management Server.
3) Enable tracing on reporting by adding the following 3 lines in the $OH/sysman/config/reporting.properties file. Note: The values for TRACING.ENABLED and LOGGING.ENABLED are case sensitive and must be lowercase.
TRACING.ENABLED=true
TRACING.LEVEL=2
LOGGING.ENABLED=true
4) Remove the following log files:
$OH/Apache/Apache/logs/*log*
$OH/Apache/Jserv/logs/*log*
$OH/sysman/log/*log*
5) Start the Oracle Management Server.
6) Start the Oracle HTTP Server.
7) Reproduce the problems you are experiencing.
8) Stop the Oracle HTTP Server.
9) Stop the Oracle Management Server.
10) Send the following five log files to support:
$OH/Apache/Jserv/logs/Jserv.log
$OH/Apache/Apache/logs/error_log
$OH/Apache/Apache/logs/access_log
$OH/sysman/log/reporting.log
$OH/sysman/log/oms.log