GVKun编程网logo

Oracle 11g AWR 系列五:如何生成 AWR 报告?(oracle怎么生成awr报告)

1

对于想了解Oracle11gAWR系列五:如何生成AWR报告?的读者,本文将提供新的信息,我们将详细介绍oracle怎么生成awr报告,并且为您提供关于(PLSQL+Oracle11g64bit+32

对于想了解Oracle 11g AWR 系列五:如何生成 AWR 报告?的读者,本文将提供新的信息,我们将详细介绍oracle怎么生成awr报告,并且为您提供关于(PLSQL + Oracle 11g 64bit + 32位oci.dll文件) 访问Oracle 11g、AWR oracle、iOS开发技巧(系列五-再谈TextField的一些内容)、JBoss 系列五:JBoss 7/WildFly 中配置使用 Oracle 数据库的有价值信息。

本文目录一览:

Oracle 11g AWR 系列五:如何生成 AWR 报告?(oracle怎么生成awr报告)

Oracle 11g AWR 系列五:如何生成 AWR 报告?(oracle怎么生成awr报告)

1.生成单实例 AWR 报告: @$ORACLE_HOME/rdbms/admin/awrrpt.sql 2.生成 Oracle RAC AWR 报告: @$ORACLE_HOME/rdbms/admin/awrgrpt.sql 3.生成 RAC 环境中特定数据库实例的 AWR 报告: @$ORACLE_HOME/rdbms/admin/awrrpti.sql 4.生成 Oracle RAC 环境中多个数

1.生成单实例 AWR 报告:


@$ORACLE_HOME/rdbms/admin/awrrpt.sql


2.生成 Oracle RAC AWR 报告:


@$ORACLE_HOME/rdbms/admin/awrgrpt.sql


3.生成 RAC 环境中特定数据库实例的 AWR 报告:


@$ORACLE_HOME/rdbms/admin/awrrpti.sql


4.生成 Oracle RAC 环境中多个数据库实例的 AWR 报告的方法:


@$ORACLE_HOME/rdbms/admin/awrgrpti.sql


5.生成 SQL 语句的 AWR 报告:


@$ORACLE_HOME/rdbms/admin/awrsqrpt.sql


6.生成特定数据库实例上某个 SQL 语句的 AWR 报告:


@$ORACLE_HOME/rdbms/admin/awrsqrpi.sql


--生成 AWR 时段对比报告


7.生成单实例 AWR 时段对比报告


@$ORACLE_HOME/rdbms/admin/awrddrpt.sql


9.生成 Oracle RAC AWR 时段对比报告


@$ORACLE_HOME/rdbms/admin/awrgdrpt.sql


10.生成特定数据库实例的 AWR 时段对比报告


@$ORACLE_HOME/rdbms/admin/awrddrpi.sql


11.生成 Oracle RAC 环境下特定(多个)数据库实例的 AWR 时段对比报告


@$oracle_home/rdbms/admin/awrgdrpi.sql




http://blog.csdn.net/xiangsir/article/details/8661181














(PLSQL + Oracle 11g 64bit + 32位oci.dll文件) 访问Oracle 11g

(PLSQL + Oracle 11g 64bit + 32位oci.dll文件) 访问Oracle 11g

(PLsql Developer + Oracle 11g 64位客户端 + 32位oci.dll文件) 访问Oracle 11g 数据库服务器的方法及说明:

PLsql Developer 连接 64位Oracle 数据库需要找到两个东东:

1、32位的 oci.dll 文件
因为PLsql Developer 为32位软件,故在访问 Oracle 11g 64位数据库时,需首先经过32位的oci.dll这个中间人再与64位oracle 数据库通信。故在PLsql Developer访问 64位oracle 数据库时,必须要能能找到 32位的 oci.dll文件位置。
2、ORACLE_HOME 目录(即 Oracle主目录)
找 ORACLE_HOME 是为了找到 tnsnames.ora .tnsnames.ora存储数据库连接信息。tnsnames.ora可通过”Net Configuration Assistant”配置,或直接从别的计算机上复制一个该文件放置到 Oracle客户端主目录\network\admin 中即可
解决方法多种多样,但要实现的目标也就上面两个。

具体操作步骤:

安装完 Oracle 64位客户端后,进行以下两步设置:
1 环境变量
新增: ORACLE_HOME,指定值为Oracle 64位客户端主目录,如 D:\app\database\product\11.2.0\client_1
使环境变量生效:注销计算机或在CMD命令中执行:C:> set ORACLE_HOME=D:\app\database\product\11.2.0\client_1

2 打开 PLsql Developer,选择“Cancel(或取消)”进入主界面。
选择 tool(工具)-> options(首选项)-> Oracle:指定以下两项
Oracle 主目录:(注:此处不设置ORACLE_HOME,环境变量中已设定)
Oci库:选择 32位oci.dll文件所在目录及文件名,如 :d:\app\oraclient\oci.dll

说明: 1、测试不在Windows 环境变量中指定ORACLE_HOME,而是直接在 PLsql Developer 中指定 “Oracle 主目录”与 “OCI库文件”,连接不成功。 2、32位 oci.dll的获取有两种方式,一是再安装一个32位Oracle 11g 客户端;二是直接从网络下载一个包含32位 oci.dll 的简易安装包。

AWR oracle

AWR oracle

SELECT dbid, baseline_name, baseline_type, moving_window_size from dba_hist_baseline; 
      DBID BASELINE_NAME    BASELINE_TYPE MOVING_WINDOW_SIZE
---------- ---------------------------------------------------------------- ------------- ------------------
 536511065 SYstem_MOVING_WINDOW     MOVING_WINDOW   8
begin
dbms_workload_repository.modify_snapshot_settings(interval=>60,retention=>90*24*60);
end;
col RETENTION for a20
select * from dba_hist_wr_control;
      DBID SNAP_INTERVAL       RETENTION    TOPNsql
---------- --------------------------------------------------------------------------- -------------------- ----------
 536511065 +00000 01:00:00.0       +00090 00:00:00.0    DEFAULT
 
select snap_id,
       to_char(begin_interval_time, ''YYYY-MM-DD''),
       to_char(end_interval_time, ''YYYY-MM-DD'')
  from dba_hist_snapshot
 order by snap_id;

手动生成AWR:

exec dbms_workload_repository.create_snapshot();
AWR数据存在sysaux表空间中
sql> select OCCUPANT_NAME,OCCUPANT_DESC,SCHEMA_NAME,SPACE_USAGE_KBYTES/1024 "MB" from V$SYSAUX_OCCUPANTS WHERE OCCUPANT_NAME LIKE ''%AWR%'';
OCCUPANT_NAME     OCCUPANT_DESC  SCHEMA_NAME  MB
-------------------- ------------------------------------------------------------ --------------- ----------
SM/AWR     Server Manageability - Automatic Workload Repository  SYS    216.81
sql> select TABLE_NAME,PARTITION_NAME,TABLESPACE_NAME from dba_tab_partitions where table_name like ''WR%'' and rownum <5;
TABLE_NAME       PARTITION_NAME      TABLESPACE_NAME
------------------------------ ------------------------------ ------------------------------
WRH$_ACTIVE_SESSION_HISTORY    WRH$_ACTIVE_536511065_0      SYSAUX
WRH$_ACTIVE_SESSION_HISTORY    WRH$_ACTIVE_SES_MXDB_MXSN      SYSAUX
WRH$_DB_CACHE_ADVICE       WRH$_DB_CACHE_AD_MXDB_MXSN     SYSAUX
WRH$_DB_CACHE_ADVICE       WRH$_DB_CAC_536511065_0      SYSAUX

awrddrpt.sql可以得到不同时间段的对比数据:

spawrrac.sql可以得到RAC 不同节点的数据对比分析

awrinfo.sql awr使用信息报告

iOS开发技巧(系列五-再谈TextField的一些内容)

iOS开发技巧(系列五-再谈TextField的一些内容)

之前一篇博客UITextField的一些技巧总结,已经总结过UITextField使用的一些情况,后来又遇到一些新的需求,所以在此重写一篇,记录UITextField的新的使用需求和技巧。

1、一次性删除TextField文字内容

在登录注册界面,我们在TextField输入框中重新输入用户名的时候,需要删除之前的用户名,这时候就要按住删除按键,逐个删除。TextField可以设置一次性删除输入框中的内容,以xib拖动一个UITextField为例,在其属性设置中选择clear Button的模式,如下图

上面我选择的模式Appears while editing表示,只要是在编辑状态下就可以一次性删除,也就是说只要该TextField处于键盘的第一响应者(firstResponder)时候。当TextField处于编辑状态时候,该输入框后面有一个浅灰色的叉叉按钮,点击按钮就可以删除输入框中的内容。

当然代码也可以实现,

myUITextField.clearButtonMode = UITextFieldViewModeWhileEditing;

2、限制用户输入文字内容的长度

之前做了一个功能,就是要求限制用户在密码输入框中输入12位长度以内的密码,如果超出,则不显示,也就是不能再输入了。当时在往上面找了很多的实现方式,发现都不能实现我想要的效果,因为如果是英文状态下,那很好判断;但是如果键盘模式是中文状态,那么就会出现问题,比如你输入“天气真好啊”,然后按return按键,这时候直接把对应的拼音给输入到了输入框中,超过了12个长度限制,这时候又会发现新的bug,就是超过了长度之后,也不能删除输入框中的内容。这样的代码放到项目中肯定要被老板和客户给骂死了,后来在一片中文博客中找到了解决方案,原文链接在此,主要代码如下,

在viewDidLoad中注册一个监听TextField输入框改变的监听事件,

- (void)viewDidLoad

{

    [super viewDidLoad];

   [[NSNotificationCenter defaultCenter]addObserver:self selector:@selector(textFiledEditChanged:)

                                                name:UITextFieldTextDidChangeNotification

                                              object:userClientTF];

}

实现监听的方法,

-(void)textFiledEditChanged:(NSNotification *)obj{

    UITextField *textField = (UITextField *)obj.object;

    

    NSString *toBeString = textField.text;

    NSString *lang = [[UITextInputMode currentInputMode] primaryLanguage]; // 键盘输入模式

    if ([lang isEqualToString:@"zh-Hans"]) { // 简体中文输入,包括简体拼音,健体五笔,简体手写

        UITextRange *selectedRange = [textField markedTextRange];

        //获取高亮部分

        UITextPosition *position = [textField positionFromPosition:selectedRange.start offset:0];

        // 没有高亮选择的字,则对已输入的文字进行字数统计和限制

        if (!position) {

            if (toBeString.length > kMaxLength) {

                textField.text = [toBeString substringToIndex:kMaxLength];

            }

        }

        // 有高亮选择的字符串,则暂不对文字进行统计和限制

        else{

            

        }

    }

    // 中文输入法以外的直接对其统计限制即可,不考虑其他语种情况

    else{

        if (toBeString.length > kMaxLength) {

            textField.text = [toBeString substringToIndex:kMaxLength];

        }

    }

}

在dealloc中注销监听事件,

- (void)dealloc {

    [[NSNotificationCenter defaultCenter]removeObserver:self

                                                   name:UITextFieldTextDidChangeNotification

                                                 object:userClientTF];

    [super dealloc];

}

这样的代码层次结构看起来很简单,主要就是其中的算法逻辑,有兴趣的朋友可以好好研究下,我只是把别人的代码拷贝过来直接使用了,应该还可以更加优化。这里只是抛砖引玉。

本人建了一个ios交流群188647173,有兴趣的可以加群进来相互交流。

JBoss 系列五:JBoss 7/WildFly 中配置使用 Oracle 数据库

JBoss 系列五:JBoss 7/WildFly 中配置使用 Oracle 数据库

内容概要

JBoss 系列五主要目的是演示如何在 JBoss 7/WildFly 中配置使用 Oracle 数据库,主要分两大部分 Oracle 数据库相关的配置,一个使用 Oracle 数据库的 HelloWorld 小程序。如下为一简单示意图:

Hello World App 部署于 JBoss 上,Hello World App 通过 JPA/Hibernate 操作数据库,数据库连接是通过 JCA/Datasource 维护。

我们需要下载,编译生成 Hello World App,具体根据系列一中相关步骤,下载,编译:

git clone git@github.com:kylinsoong/csdn.git 
cd csdn/5
mvn clean install

如上执行完成会生成 jpa-helloworld.war,位于 target 目录下,我们需要将它部署到 JBoss。

Oracle 数据库相关的配置

本部分我们分三块:JBoss 端配置,Oracle 数据库端的配置,应用端配置

JBoss 端配置

1. 添加 Oracle 数据库驱动模块到 JBoss

在 JBOSS_HOME/modules/ 目录下创建 com/oracle/main 目录,将 Oracle 驱动 jari(ojdbc6.jar)拷贝到此目录下,并同在此目录下创建 module.xml 文件,添加内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="com.oracle">
    <resources>
        <resource-root path="ojdbc6.jar"/>
    </resources>
    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>
</module>

2 添加驱动配置到 JBoss 服务器配置文件

编辑 JBOSS_HOME/standalone/configuration/standalone.xml 文件,在 < subsystem xmlns="urn:jboss:domain:datasources 处 datasources,drivers 中添加如下内容:

<driver name="oracle" module="com.oracle">
    <xa-datasource-class>oracle.jdbc.xa.client.OracleXADataSource</xa-datasource-class>
</driver>

Oracle 数据库端的配置

使用 DBA 用户连接到 Oracle 数据库控制台,创建 demo_user/soong,并分配相应的权限,如下:

sqlplus / as sysdba
create tablespace TESTSPACE datafile ''/oracle/oradata/TESTSPACE.DBF'' size 100M
create user demo_user identified by soong default tablespace TESTSPACE;
grant connect,resource,dba to demo_user;

应用端配置

1. 配置 datasource

编辑 csdn/5/src/main/resources/JPADemo-ds.xml,修改 datasource 内容如下所示:

<datasource jndi-name="java:jboss/datasources/JPADemoDS" pool-name="JPADemoPool">
      <connection-url>jdbc:oracle:thin:@10.66.192.144:1521:JBOSS</connection-url>
      <driver>oracle</driver>
      <security>
         <user-name>demo_user</user-name>
         <password>soong</password>
      </security>
</datasource>

注意:我们也可以将此配置添加到 JBOSS_HOME/standalone/configuration/standalone.xml,具体添加到 <subsystem xmlns="urn:jboss:domain:datasources:1.1"> 的 < datasources > 属性中。

2. 配置 persistence-unit

编辑 csdn/5/src/main/resources/META-INF/persistence.xml,添加 persistence-unit 内容如下所示:

<persistence-unit name="primary">
      <jta-data-source>java:jboss/datasources/JPADemoDS</jta-data-source>
      <shared-cache-mode>ALL</shared-cache-mode>
      <properties>
         <property name="hibernate.hbm2ddl.auto" value="create-drop" />
         <property name="hibernate.show_sql" value="true" />
         <property name="hibernate.cache.use_second_level_cache" value="true" />
         <property name="hibernate.cache.use_query_cache" value="true" />
      </properties>
</persistence-unit>

运行 HelloWorld 程序

1. 部署 jpa-helloworld.war 到 JBoss(参照使用 4 种方式部署应用到 JBoss7/WildFly)。

2. 启动 JBoss

[kylin@localhost bin]$ ./standalone.sh

3. 使用 http://localhost:8080/jpa-helloworld/ 访问,会有如下界面

点击 Submit 会执行数据库查询。

点击 Add a new user 会执行插入数据库操作。

点击 List All Users 会列出数据库中所有用户。

4. 结果分析

依次执行上述操作,JBoss 后台日志会有如下 SQL 语句:

12:01:14,482 INFO  [stdout] (http-/127.0.0.1:8080-1) Hibernate: select user0_.id as id0_, user0_.firstName as firstName0_, user0_.lastName as lastName0_, user0_.username as username0_ from USERS user0_ where user0_.username=? limit ?
12:01:31,284 INFO  [stdout] (http-/127.0.0.1:8080-1) Hibernate: call next value for hibernate_sequence
12:01:31,295 INFO  [stdout] (http-/127.0.0.1:8080-1) Hibernate: insert into USERS (firstName, lastName, username, id) values (?, ?, ?, ?)
12:01:45,775 INFO  [stdout] (http-/127.0.0.1:8080-1) Hibernate: select user0_.id as id0_, user0_.firstName as firstName0_, user0_.lastName as lastName0_, user0_.username as username0_ from USERS user0_


我们今天的关于Oracle 11g AWR 系列五:如何生成 AWR 报告?oracle怎么生成awr报告的分享已经告一段落,感谢您的关注,如果您想了解更多关于(PLSQL + Oracle 11g 64bit + 32位oci.dll文件) 访问Oracle 11g、AWR oracle、iOS开发技巧(系列五-再谈TextField的一些内容)、JBoss 系列五:JBoss 7/WildFly 中配置使用 Oracle 数据库的相关信息,请在本站查询。

本文标签: