altibase常用语句
2015-11-26 10:57
204 查看
1. 给某个字段设置默认值
alter table 表名 alter column (字段名 set default '01');
2. 查看altibase各表使用空间,分配空间及使用率
SELECT C.USER_NAME,B.TABLE_NAME TABLE_NAME,
A.MEM_SLOT_SIZE SLOT_SIZE,
trunc((( FIXED_ALLOC_MEM+VAR_ALLOC_MEM) / 1024/1024),2) ALLOC_BYTE,
trunc((( FIXED_USED_MEM+VAR_USED_MEM) / 1024/1024),2) USED_SIZE ,
ROUND( (FIXED_USED_MEM+VAR_USED_MEM)/(FIXED_ALLOC_MEM+VAR_ALLOC_MEM)*100,2) EFFICIENCY
FROM V$MEMTBL_INFO A ,SYSTEM_.SYS_TABLES_ B, SYSTEM_.SYS_USERS_ C
WHERE A.TABLE_OID = B.TABLE_OID AND B.USER_ID = C.USER_ID
AND C.USER_ID != 1
AND B.TABLE_TYPE = 'T'
ORDER BY efficiency desc;
3. altibase表空间大小
SELECT c.user_name,B.TABLE_NAME, ( A.MEM_PAGE_CNT * 32 / 1024) + ( A.MEM_VAR_PAGE_CNT * 32 / 1024 ) AS ALLOC_SIZE
FROM V$MEMTBL_INFO A,
SYSTEM_.SYS_TABLES_ B,
SYSTEM_.SYS_USERS_ C
WHERE A.TABLE_OID = B.TABLE_OID
AND B.USER_ID = C.USER_ID
order by alloc_size desc ;
4. 查看所有序列的视图
select * from v$seq;
5. 查看所有表的视图
select * from system_.sys_tables_;
6. 查看所有用户的视图
select * from system_.sys_users_ ;
7. 启停altibase
su到altibase用户,直接在命令行输入 server start可以启动altibase
su到altibase用户,直接在命令行输入 server stop可以停止altibase
8. 会话相关
--查询应用程序执行的是哪些sql语句
select a.query, count(*) num from v$statement a
where a.session_id = 30926
group by a.query order by num desc;
--查看各个session有多少个连接
select count(*) num, session_id
from v$statement
group by session_id
order by num desc;
--查看altibase一共有多少个会话
select count(*) from v$session;
select count(*) num, comm_name, client_pid
from v$session
group by comm_name,client_pid
order by num desc
limit 5;
--查看连接数最多的5个进程
select a.session_id,b.comm_name, b.client_pid,count(*) num from v$statement a,v$session b
where a.session_id =b.id
group by a.session_id,b.comm_name, b.client_pid
order by num desc
limit 5;
9. 复制
启动复制:ALTER REPLICATION 复制名称 START ;
停止复制:ALTER REPLICATION 复制名称 STOP;
复制分为单向复制和双向复制。
如果A主机到B主机有复制,B主机到A主机也有复制,那么就是双向复制。
如果只有A主机到B主机的复制或者只有B主机到A主机的复制,那么就是单向复制。
双向复制,如果停止A主机到B主机复制,期间如果A主机数据有变化,那么B主机会丢失这些复制的数据。
反过来,如果停止B主机到A主机复制,期间如果B主机数据有变化,那么A主机也会丢失这些复制的数据。
单向复制,如果停止复制,那么对端会丢失复制停止期间的变化数据。
如果把A主机altibase停掉,那么B主机的复制会积压,等A主机altibase启动后会自动将积压的复制数据同步到A主机。
反过来,如果把B主机altibase停掉,那么A主机的复制会积压,等B主机altibase启动后会自动将积压的复制数据同步到B主机。
如果是需要更改复制表的表结构,那么需要停掉复制,双向复制,AB主机的复制都需要停掉,
然后更改表结构并启动复制,如果是双向复制,那么AB主机的复制都需要启动
如果期间A主机数据有变化,那么需要将B主机的复制表数据清空,然后在A主机使用如下命令将数据同步到B主机:
alter system set REPLICATION_SYNC_TUPLE_COUNT=800000;
ALTER REPLICATION 复制名称 SYNC PARALLEL 15;
alter system set DDL_LOCK_TIMEOUT=0;
如果停止复制期间AB主机数据都有变化,神仙也救不了你。。。
查看复制名
select * from system_.sys_replications_;
查看复制的是哪些表
select * from system_.sys_repl_items_;
查看同哪台主机进行复制
select * from system_.sys_repl_hosts_;
查看复制积压
select rep_gap from v$repgap;
删除复制
alter system set DDL_LOCK_TIMEOUT=10;
DROP REPLICATION 复制名称 ;
创建复制
create replication 复制名称
with '192.168.0.22' , 30301
from TEST.TEST1 to TEST.TEST1 ,
from TEST.TEST2 to TEST.TEST2 ,
from TEST.TEST3 to TEST.TEST3 ;
查看复制状态
select
replication_name,
decode(is_started,0,'复制暂停',1,'复制启动'),
item_count||'张表建立了复制',
conflict_resolution
from system_.sys_replications_;
alter table 表名 alter column (字段名 set default '01');
2. 查看altibase各表使用空间,分配空间及使用率
SELECT C.USER_NAME,B.TABLE_NAME TABLE_NAME,
A.MEM_SLOT_SIZE SLOT_SIZE,
trunc((( FIXED_ALLOC_MEM+VAR_ALLOC_MEM) / 1024/1024),2) ALLOC_BYTE,
trunc((( FIXED_USED_MEM+VAR_USED_MEM) / 1024/1024),2) USED_SIZE ,
ROUND( (FIXED_USED_MEM+VAR_USED_MEM)/(FIXED_ALLOC_MEM+VAR_ALLOC_MEM)*100,2) EFFICIENCY
FROM V$MEMTBL_INFO A ,SYSTEM_.SYS_TABLES_ B, SYSTEM_.SYS_USERS_ C
WHERE A.TABLE_OID = B.TABLE_OID AND B.USER_ID = C.USER_ID
AND C.USER_ID != 1
AND B.TABLE_TYPE = 'T'
ORDER BY efficiency desc;
3. altibase表空间大小
SELECT c.user_name,B.TABLE_NAME, ( A.MEM_PAGE_CNT * 32 / 1024) + ( A.MEM_VAR_PAGE_CNT * 32 / 1024 ) AS ALLOC_SIZE
FROM V$MEMTBL_INFO A,
SYSTEM_.SYS_TABLES_ B,
SYSTEM_.SYS_USERS_ C
WHERE A.TABLE_OID = B.TABLE_OID
AND B.USER_ID = C.USER_ID
order by alloc_size desc ;
4. 查看所有序列的视图
select * from v$seq;
5. 查看所有表的视图
select * from system_.sys_tables_;
6. 查看所有用户的视图
select * from system_.sys_users_ ;
7. 启停altibase
su到altibase用户,直接在命令行输入 server start可以启动altibase
su到altibase用户,直接在命令行输入 server stop可以停止altibase
8. 会话相关
--查询应用程序执行的是哪些sql语句
select a.query, count(*) num from v$statement a
where a.session_id = 30926
group by a.query order by num desc;
--查看各个session有多少个连接
select count(*) num, session_id
from v$statement
group by session_id
order by num desc;
--查看altibase一共有多少个会话
select count(*) from v$session;
select count(*) num, comm_name, client_pid
from v$session
group by comm_name,client_pid
order by num desc
limit 5;
--查看连接数最多的5个进程
select a.session_id,b.comm_name, b.client_pid,count(*) num from v$statement a,v$session b
where a.session_id =b.id
group by a.session_id,b.comm_name, b.client_pid
order by num desc
limit 5;
9. 复制
启动复制:ALTER REPLICATION 复制名称 START ;
停止复制:ALTER REPLICATION 复制名称 STOP;
复制分为单向复制和双向复制。
如果A主机到B主机有复制,B主机到A主机也有复制,那么就是双向复制。
如果只有A主机到B主机的复制或者只有B主机到A主机的复制,那么就是单向复制。
双向复制,如果停止A主机到B主机复制,期间如果A主机数据有变化,那么B主机会丢失这些复制的数据。
反过来,如果停止B主机到A主机复制,期间如果B主机数据有变化,那么A主机也会丢失这些复制的数据。
单向复制,如果停止复制,那么对端会丢失复制停止期间的变化数据。
如果把A主机altibase停掉,那么B主机的复制会积压,等A主机altibase启动后会自动将积压的复制数据同步到A主机。
反过来,如果把B主机altibase停掉,那么A主机的复制会积压,等B主机altibase启动后会自动将积压的复制数据同步到B主机。
如果是需要更改复制表的表结构,那么需要停掉复制,双向复制,AB主机的复制都需要停掉,
然后更改表结构并启动复制,如果是双向复制,那么AB主机的复制都需要启动
如果期间A主机数据有变化,那么需要将B主机的复制表数据清空,然后在A主机使用如下命令将数据同步到B主机:
alter system set REPLICATION_SYNC_TUPLE_COUNT=800000;
ALTER REPLICATION 复制名称 SYNC PARALLEL 15;
alter system set DDL_LOCK_TIMEOUT=0;
如果停止复制期间AB主机数据都有变化,神仙也救不了你。。。
查看复制名
select * from system_.sys_replications_;
查看复制的是哪些表
select * from system_.sys_repl_items_;
查看同哪台主机进行复制
select * from system_.sys_repl_hosts_;
查看复制积压
select rep_gap from v$repgap;
删除复制
alter system set DDL_LOCK_TIMEOUT=10;
DROP REPLICATION 复制名称 ;
创建复制
create replication 复制名称
with '192.168.0.22' , 30301
from TEST.TEST1 to TEST.TEST1 ,
from TEST.TEST2 to TEST.TEST2 ,
from TEST.TEST3 to TEST.TEST3 ;
查看复制状态
select
replication_name,
decode(is_started,0,'复制暂停',1,'复制启动'),
item_count||'张表建立了复制',
conflict_resolution
from system_.sys_replications_;
相关文章推荐
- 还在为身份验证引入的Microsoft.AspNet.Identity.EntityFramework导致多上下文,生成的DB改名困扰吗?
- ASP.NET动态创建数据库和表
- 22、手把手教你Extjs5(二十二)模块Form的自定义的设计[1]
- 关于前台封装List Map集合的问题
- Android布局动画和逐帧动画
- Eclipse+Genymotion报错:OpenGLRenderer Getting MAX_TEXTURE_SIZE from GradienCache
- 深入浅出React(二):React开发神器Webpack
- 调试时C++报告`scalar deleting destructor`问题的解决
- js中bind、call、apply函数的用法
- java音频播放(简单)
- 查看自己mysql的字符集
- hadooop 运维之 container error exit code 1
- Chrome开发者工具之JavaScript内存分析
- 如何让一张图片在手机端页面占满整个屏幕不带滚动条(示例)
- iOS 画线 绘制直线、矩形、三角形
- oc static
- ubuntu top命令学习日记
- java转web项目中遇到的问题及解决
- content provider示意图
- linux上安装libpng库以及zlib库