是烟不好抽了,就不好喝了,还是游戏不好玩了,非要谈感情?我们做数据开发的一般不会和女人一般见识的
当月数据
select * from table t
where t.create_time
>=TRUNC(SYSDATE, 'MM')
and
t.create_time<=last_day(SYSDATE) create_time为你要查询的时间
当年数据
select * from table t
where t.create_time
>=trunc(sysdate,'YYYY')
and
t.create_time<=add_months(trunc(sysdate,'YYYY'),12)-1
本周(国外周日为一个星期第一天)
where t.create_time >=trunc(sysdate,'day')+1 and
t.create_time<=trunc(sysdate,'day')+6 本周(国内周一为一个星期第一天)
where t.create_time >=trunc(next_day(sysdate-8,1)+1) and
t.create_time<=trunc(next_day(sysdate-8,1)+7)+1
add_months(to_date('输入年月','yyyymm'),-1) 输入年月就可以查询上月的信息
select * from GSJ.BASEINFO_PER where sync_date between (select trunc(sysdate)-1 value from dual)and (select trunc(sysdate) value from dual
select count(*)from rsj.xdj_dwjn where aae036 between to_date('20170701','yyyy/mm/dd') and to_date('20171231','yyyy/mm/dd')
hadoop 集群数据导出 语句
impala-shell -q "select * from table limit 10" -B --output_delimiter="\t" -o testimpalaoutput.txt
1.查询数据库进程
SELECT a.program,b.spid c,sql_text FROM v$session a ,v$process b,v$sqlarea c WHERE a.paddr = b.addr
AND a.sql_hash_value = c.HASH_VALUE AND a.username IS NOT NULL
2.杀进程
alter system kill session '24,111'; (其中24,111分别是上面查询出的sid,serial#)
3.查询锁死的表
SELECT object_name, machine, s.sid, s.serial#
FROM gv$locked_object l, dba_objects o, gv$session s
WHERE l.object_id = o.object_id
AND l.session_id = s.sid;
在unix上,用root身份执行命令:
#kill -9 12345(即第3步查询出的spid)
select * from CGJ.O_BUS_CITYUBANEVENT t where stattime < to_date ('2017/11/1','yyyy-MM-dd')
数据备份导入
C:\Users\Administrator>imp ABC/123@orcl file = D:\GS1.dmp full = y
数据备份导出
C:\Users\Administrator>exp scott/123@orcl file = D:\dept.dmp owner = scott
创建表空间
create tablespace GJSWJ datafile 'E:/app/Administrator/oradata/orcl/GJSWJ' size 1024M reuse;
创建新的用户:
--新建用户
create user NEW_USERNAME
identified by "NEW_PASSWORD"
default tablespace NEW_TABLESPACENAME
profile DEFAULT
ACCOUNT UNLOCK;
DELETE 删除数据,恢复脚本
select * from GS1 as of timestamp to_timestamp('2017-11-21 10:57:11','yyyy-mm-dd hh24:mi:ss')
alter table GS1 enable row movement;
flashback table GS1 to timestamp to_timestamp('2017-11-21 10:57:11','yyyy-mm-dd hh24:mi:ss');
查询用户下的所有表结构信息
select b.TABLE_NAME as "表名",
c.comments as "表说明",
b.COLUMN_ID as "字段序号",
b.COLUMN_NAME as "字段名",
b.DATA_TYPE as "字段数据类型",
b.DATA_LENGTH as "数据长度",
b.DATA_PRECISION as "整数位",
b.DATA_SCALE as "小数位",
a.comments as "字段说明"
from all_col_comments a, all_tab_columns b,all_tab_comments c
where a.owner = 'GAJ' and a.owner = b.OWNER and
a.table_name = b.TABLE_NAME and a.column_name = b.COLUMN_NAME and
c.table_name = a.table_name and c.owner = a.owner
order by a.table_name, b.COLUMN_ID
select b.TABLE_NAME as "表名",
c.comments as "表说明",
b.COLUMN_NAME as "字段名",
a.comments as "字段说明"
from all_col_comments a, all_tab_columns b,all_tab_comments c
where a.owner = 'GAJ' and a.owner = b.OWNER and
a.table_name = b.TABLE_NAME and a.column_name = b.COLUMN_NAME and
c.table_name = a.table_name and c.owner = a.owner
order by a.table_name
查询上一个月的更新数据
select count(*) from GJJGLZX.ZHCS_GJJGRZQMX where to_char(SYNC_DATE,'yyyymm')=to_char(add_months(sysdate,-1),'yyyymm')
查询某一时间区间的数据
select * from GSJ.GSJ_XZCFXX t where tg_date between TO_DATE('2017-07-17 00:00', 'yyyy-mm-dd hh24:mi') and TO_DATE('2018-01-07 23:59', 'yyyy-mm-dd hh24:mi')
Oracle用户密码过期和用户被锁解决方法
按照如下步骤进行操作:
1、查看用户的proifle是哪个,一般是default:
sql>SELECT username,PROFILE FROM dba_users;
2、查看指定概要文件(如default)的密码有效期设置:
sql>SELECT * FROM dba_profiles s WHERE s.profile='DEFAULT' AND resource_name='PASSWORD_LIFE_TIME';
3、将密码有效期由默认的180天修改成“无限制”:
sql>ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
修改之后不需要重启动数据库,会立即生效。
4、修改后,还没有被提示ORA-28002警告的帐户不会再碰到同样的提示;
已经被提示的帐户必须再改一次密码,举例如下:
$sqlplus / as sysdba
更改用户名字
select user#,name,password from user$ where name ='XIAOXIAO';
update user$ set name='XIAO' where user#=91;
sqlplus / as sysdba
sql> alter user smsc identified by <原来的密码> ----不用换新密码
Oracle11g启动参数resource_limit无论设置为false还是true,密码有效期都是生效的,所以必须通过以上方式进行修改。以上的帐户名请根据实际使用的帐户名更改。
给某个用户授权可以访问某张表 grant select,update on JTYSJ.DTL_DRIVER to MZJ_ZF
expdp DMS/123456 version=10.2.0.1.0 directory=DATA_PUMP_DIR dumpfile=10G_20180623_DMS.DMP logfile=TO_20180623.log schemas=SP_DMS
--- DMS/123456是具有导出权限的用户名密码,version是导出的版本,默认是服务端版本,主要用于兼容导入低版本的数据库服务器
directory是导出文件的目录,可以通过下列语句查询
select * from dba_directories;
dumpfile是导出文件名,logfile是日志文件名,schemas是导出哪个用户数据
impdp DMS/123456 directory=DATA_PUMP_DIR dumpfile= 10G_20180623.DMP remap_schema=SP_DMS:SP_NEXT remap_tablespace=USERS:BYMIS
remap_schema是原来的数据库用户:目标的数据库用户 remap_tablespace是原来的表空间:目标的表空间。当两个数据库使用不同的数据库用户、表空间时,启用这两个参数,缺省情况下则系统认为相同。