一、初始化测试环境 二、导出数据 2.1 vsql命令说明帮助 2.2 导出全表数据 2.3 导出符合指定条件的表数据 三、验证 一、初始化测试环境 业务用户test下创建t_jingyu测试表,并初始化一些数据 二、导出数据 2.1 vsql命令说明帮助 ``` [dbadmin@vertica1 ~]$ vsql --help This is vsql, the Vertica Analytic Database Usage: vsql [OPTIONS]... (for vsql commands) from within vsql, or consult the vsql section in the Vertica Analytic Database documentation. 2.2 导出全表数据 根据vsql参数说明,确定本次导出表数据的命令: vsql -Utest -wtestpwd -At -F'|' -c "select * from
表函数 DISPLAY_CURSOR 需要在以下固定视图上有 SELECT 或 READ 权限:VSQL_PLAN, VSESSION 和 V DISPLAY_AWR 功能需要用户拥有 SELECT 或 说的比较明确了,DISPLAY_CURSOR 需要有 VSQL_PLAN, VSESSION 和 VSQL_PLAN_STATISTICS_ALL 和 VSQL 四个视图的查询权限。 只需要单独授予 VSQL_PLAN, VSESSION 和 VSQL_PLAN_STATISTICS_ALL 和 VSQL 这四个视图的查询权限即可。
> 0 AND u.username = 'OPT_WMS_USER' --注意 用户名大写 ORDER BY 平均执行时间 DESC) WHERE rownum <= 50 说明:为什么不从vsql 当然,出于严谨的考虑,也可以不分组统计,把vsqlarea替换成vsql就好了。 LEFT JOIN all_users u ON u.user_id = s.parsing_user_id) T WHERE executions_rank <= 100; 注意:之所以从vsql 通常在查询执行结束时更新VSQL中展示的统计信息,然而针对长耗时查询,每5秒更新一次。 VSQLAREA和VSQL两个视图的不同之处在于,VSQL中为每一条SQL保留一个条目,而V V$SESSION V$SESSION 显示当前会话的会话信息,常见视图字段及字段描述说明如下: 列 描述
增加一个数据存储的目录 操作语法为: ADD_LOCATION ( 'path' , [ 'node' , 'usage', 'location_label' ] ) 各节点添加目录,并赋予正确的权限 vsql [root@vertica1 ~]# 2. vsql命令行下添加对应的目录 查询节点名称: `select node_name from nodes;` 在节点1执行下面的添加目录命令即可。 vertica/','v_testdb_node0003','DATA'); ``` 实操过程记录: [root@vertica1 ~]# su - dbadmin [dbadmin@vertica1 ~]$ vsql Password: Welcome to vsql, the Vertica Analytic Database interactive terminal. for help with vsql commands \g or terminate with semicolon to execute query \q to quit
``` --说明节点1访问正常: [dbadmin@vertica1 ~]$ vsql Password: --说明节点3访问正常: [dbadmin@vertica3 ~]$ vsql Password : 从节点2访问,会报错: [dbadmin@vertica2 ~]$ vsql vsql: could not connect to server: 拒绝连接 Is the server running
rs=pstmt.executeQuery(); rs.next(); int id=rs.getInt(1); rs.close(); pstmt.close(); vsql ); pstmt.executeUpdate(); pstmt.close(); vsql="select seq_t1.currval as id from dual"; pstmt =(PreparedStatement)conn.prepareStatement(vsql); ResultSet rs=pstmt.executeQuery(); rs.next(); int insertDataReturnKeyByPlsql() throws Exception { Connection conn = getConnection(); String vsql 注:对Oracle数据库这里不能像其它数据库那样用prepareStatement(vsql,Statement.RETURN_GENERATED_KEYS)方法,这种语法是用来取自增类型的数据。
CREATE USER test IDENTIFIED BY 'testpwd'; CREATE SCHEMA test AUTHORIZATION test; ``` 创建测试表t_jingyu ``` vsql /bin/bash loading data vsql -U test -w testpwd <<-EOF 2>&1 \timing set role all; set session resource_pool
control_management_pack_access string DIAGNOSTIC+TUNING (2) 确定要监控的SQL ID 其实就是确定什么样的SQL会记录到vsql_monitor 视图中,这里我们采用hint,让SQL进入vsql_monitor, SQL> select /*+ monitor */ type, count(*) from v$lock group by type XR 1 RT 1 AE 7 TS 2 RS 1 TO 3 MR 14 可从vsql 或者vsql_monitor找到这条SQL的ID, SQL> select sql_id,sql_text from v$sql_monitor where sql_text like '%v$lock
一、获取SQL语句执行计划的方式 使用explain plan 将执行计划加载到表plan_table,然后查询该表来获取预估的执行计划 查询动态性能视图vsql_plan,vsql_plan_statistics
快答: 我们知道,当sql语句中有绑定变量的时候,如果需要回看传入的绑定变量值,可以通过 vsql_bind_capture 视图。但是,vsql_bind_capture 视图是有限制的。
数据集 ASWBLM.Include.UnionInfo_Provider _uip = new ASWBLM.Include.UnionInfo_Provider(); string vSQL = ""; vSQL = GetSQLCommond(vSQL,startID,endID); ds = _uip.ShowAllUnionInfo(vSQL);//取得全部数据的数据集
默认情况,每隔15分钟,会自动采集一次变量值,显示在这个vsql_bind_capture,这是受隐藏参数_cursor_bind_capture_interval的控制,默认取值900秒=15分钟,dba_hist_sqlbind 则是从vsql_bind_capture采集的,可以检索历史绑定变量的信息, 另外从《v和v_的一些玄机》和《同名的同义词和视图解惑》我们知道在Oracle中数据字典定义的名称,还是存在玄机的,vsql_bind_capture
1. vsql使用dbadmin用户登录,查询当前的licence信息。
8.新建用户、方案、授权、初始化表 CREATE USER test identified by 'testpwd'; CREATE SCHEMA test AUTHORIZATION test; vsql /bin/bash # loading data vsql -Udbadmin -wadmin<<-EOF 2>&1 \timing copy test.t_jingyu( col1, col2, col3
假设test用户下创建的t_jingyu表 vsql -Utest -wtestpwd create table t_jingyu( col1 int, col2 varchar, col3 timestamp -08-30'::date)); SELECT DROP_PARTITION('test.t_jingyu', EXTRACT('doy' FROM '2014-08-31'::date)); $vsql
我们此时换一下绑定变量值,发现vsql_bind_capture信息未变,dbsnake的书中曾说过当SQL执行硬解析时绑定变量值被捕获,并可从视图v$sql_bind_capture中查询。 总结: 绑定变量值可以使用很多方法获取,这里只是列举了三种最常见的方法,我从网上看到有朋友还有用wrhsqlstat、v_sqlstat、vsql等视图查询的例子,没有深究,我觉得碰见问题时,可以快速使用一些常用的方法解决问题就可以了
-1问题分析和处理过程在业务报 YAS-04003 异常时,使用如下语句查询当前 YashanDB 的 open cusor:select b.sql_text from vopencursora,vsql
max-open-prepared-statements = -1 表示不缓存排查手段可以通过以下语句查看当前打开的游标内容:select b.sql_textfrom vopencursora a, vsql
那么如何查看ORACLE数据库某个SQL的执行频率/次数,潇湘隐者同学整理如下,借花献佛了 :) 方法1: 通过查询VSQLAREA或VSQL的EXECUTIONS来查看SQL的执行次数; 方法2:通过 通过查询VSQLAREA或VSQL的EXECUTIONS来查看SQL的执行次数 (1). 缺点 但是这个值的有效性需要结合FIRST_LOAD_TIME来判断,因为VSQLAREA或VSQL中不保存历史数据, 具有一定的时效性,所以如果要查询很久以前的某个SQL执行次数是办不到的。
12.2.0.1来解决,按照他所描述的,"CREATE or ALTER table commands became truncated to 20 bytes when viewed in some Vsql.sql_fulltext