--解锁表--
select 'alter system kill session '''||b.sid||','||b.serial||''';'
from (select distinct l.session_id as session_id,b.owner,
b.object_name as object_name,l.locked_mode
from v$locked_object l, dba_objects b
where b.object_id=l.object_id) a,(select distinct t2.sid as sid,t2.username,t2.serial# as serial,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time) b
where a.session_id=b.sid and a.object_name='table_name'
--去重复保留第一条--
delete from local_130621_mc_repeat
where rowid not in (select max(t1.rowid)
from local_130621_mc_repeat t1
group by t1.cun, t1.aac003, t1.aac002);
--创建orcl-job
begin
sys.dbms_job.submit(job => job,
what => 'prc_workload;',
next_date => to_date('27-06-2013 02:00:00', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'TRUNC(sysdate) + 1 +1/12');
commit;
end;
--或者
declare
job number;
begin
sys.dbms_job.submit(job,'prc_workload;',TRUNC(sysdate) +1/12,'TRUNC(sysdate) + 1 +1/12');
end;
/
--查询出误操作的数据--
select * from re15 as of timestamp to_timestamp('2013-06-26 8:05:18', 'YYYY-MM-DD HH24:MI:SS') where aac001 = '003056984';
--查询系统误操作对象
select * from user_source as of timestamp to_timestamp('2013-06-26 8:05:18', 'YYYY-MM-DD HH24:MI:SS');
--分页--
select * from (select a.*,rownum rnum from(select * from re14) a where rownum <41) where rnum >20
--查看表空间使用情况--
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 1;
--修改索引表空间
SELECT 'ALTER INDEX ' || INDEX_NAME || ' REBUILD TABLESPACE YLFSH_SPACE;'
FROM DBA_INDEXES
WHERE TABLE_OWNER = 'YLFSH'
AND tablespace_name = 'TSP_YLF';
--重建表索引
select 'ALTER INDEX ' || INDEX_NAME || ' REBUILD;';
--查看表空间数据文件--
select t1.name,t2.name from v$tablespace t1,v$datafile t2
where t1.ts# = t2.ts#
--查看表所在表空间
select table_name ,tablespace_name from user_tables;
--修改表空间
alter database datafile 'D:\ORACLE\TABSPACE\TBS_GSBX02.DBF' autoextend on next 500M maxsize unlimited;
--给表增加分区
alter table AC04 add partition AC04_AAE002_2015 values less than('201500')
tablespace AC04_AAE002_2015
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 96M
minextents 1
maxextents unlimited
)
--强制删除用户
--1、select * from v$session where username='GSBX_SYBXD' and status = 'INACTIVE';
--2、alter system kill session '148,1';
--mysql安全机智设置打开与关闭
set sql_safe_updates=0;--1
--解决oracle 11g 无法导出空表的问题
select * from user_tables where NUM_ROWS=0;
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
--如果以后想默认能导出空表-设置以下属性则后续新分配的表可以导出=之前的表请采用上面的方法
alter system set deferred_segment_creation=false;
--统一修改字段长度
select 'ALTER table ' || table_name || ' MODIFY akb020 varchar2(20);'
from user_tab_columns
where column_name = 'AKB020';
--导出表提示部分数据是被保护的--
grant exempt access policy to gsbx_nmg
--mysql 5.6以下的索引执行策略修改
SET GLOBAL innodb_stats_on_metadata=off
--mysql初始化data文件夹
mysqld --initialize --user=mysql --console
--修改mysql root密码
UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
注:这里为什么不是password而是authentication_string呢?因为在5.7.*以后这个字段给换了。。坑人不偿命啊!
--mysql this is incompatible with sql_mode=only_full_group_by 错误
SET @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';
select 'alter system kill session '''||b.sid||','||b.serial||''';'
from (select distinct l.session_id as session_id,b.owner,
b.object_name as object_name,l.locked_mode
from v$locked_object l, dba_objects b
where b.object_id=l.object_id) a,(select distinct t2.sid as sid,t2.username,t2.serial# as serial,t2.logon_time
from v$locked_object t1,v$session t2
where t1.session_id=t2.sid order by t2.logon_time) b
where a.session_id=b.sid and a.object_name='table_name'
--去重复保留第一条--
delete from local_130621_mc_repeat
where rowid not in (select max(t1.rowid)
from local_130621_mc_repeat t1
group by t1.cun, t1.aac003, t1.aac002);
--创建orcl-job
begin
sys.dbms_job.submit(job => job,
what => 'prc_workload;',
next_date => to_date('27-06-2013 02:00:00', 'dd-mm-yyyy hh24:mi:ss'),
interval => 'TRUNC(sysdate) + 1 +1/12');
commit;
end;
--或者
declare
job number;
begin
sys.dbms_job.submit(job,'prc_workload;',TRUNC(sysdate) +1/12,'TRUNC(sysdate) + 1 +1/12');
end;
/
--查询出误操作的数据--
select * from re15 as of timestamp to_timestamp('2013-06-26 8:05:18', 'YYYY-MM-DD HH24:MI:SS') where aac001 = '003056984';
--查询系统误操作对象
select * from user_source as of timestamp to_timestamp('2013-06-26 8:05:18', 'YYYY-MM-DD HH24:MI:SS');
--分页--
select * from (select a.*,rownum rnum from(select * from re14) a where rownum <41) where rnum >20
--查看表空间使用情况--
SELECT UPPER(F.TABLESPACE_NAME) "表空间名",
D.TOT_GROOTTE_MB "表空间大小(M)",
D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)",
TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) / D.TOT_GROOTTE_MB * 100,2),'990.99') || '%' "使用比",
F.TOTAL_BYTES "空闲空间(M)",
F.MAX_BYTES "最大块(M)"
FROM (SELECT TABLESPACE_NAME,
ROUND(SUM(BYTES) / (1024 * 1024), 2) TOTAL_BYTES,
ROUND(MAX(BYTES) / (1024 * 1024), 2) MAX_BYTES
FROM SYS.DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME) F,
(SELECT DD.TABLESPACE_NAME,
ROUND(SUM(DD.BYTES) / (1024 * 1024), 2) TOT_GROOTTE_MB
FROM SYS.DBA_DATA_FILES DD
GROUP BY DD.TABLESPACE_NAME) D
WHERE D.TABLESPACE_NAME = F.TABLESPACE_NAME
ORDER BY 1;
--修改索引表空间
SELECT 'ALTER INDEX ' || INDEX_NAME || ' REBUILD TABLESPACE YLFSH_SPACE;'
FROM DBA_INDEXES
WHERE TABLE_OWNER = 'YLFSH'
AND tablespace_name = 'TSP_YLF';
--重建表索引
select 'ALTER INDEX ' || INDEX_NAME || ' REBUILD;';
--查看表空间数据文件--
select t1.name,t2.name from v$tablespace t1,v$datafile t2
where t1.ts# = t2.ts#
--查看表所在表空间
select table_name ,tablespace_name from user_tables;
--修改表空间
alter database datafile 'D:\ORACLE\TABSPACE\TBS_GSBX02.DBF' autoextend on next 500M maxsize unlimited;
--给表增加分区
alter table AC04 add partition AC04_AAE002_2015 values less than('201500')
tablespace AC04_AAE002_2015
pctfree 10
initrans 1
maxtrans 255
storage
(
initial 96M
minextents 1
maxextents unlimited
)
--强制删除用户
--1、select * from v$session where username='GSBX_SYBXD' and status = 'INACTIVE';
--2、alter system kill session '148,1';
--mysql安全机智设置打开与关闭
set sql_safe_updates=0;--1
--解决oracle 11g 无法导出空表的问题
select * from user_tables where NUM_ROWS=0;
Select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0
--如果以后想默认能导出空表-设置以下属性则后续新分配的表可以导出=之前的表请采用上面的方法
alter system set deferred_segment_creation=false;
--统一修改字段长度
select 'ALTER table ' || table_name || ' MODIFY akb020 varchar2(20);'
from user_tab_columns
where column_name = 'AKB020';
--导出表提示部分数据是被保护的--
grant exempt access policy to gsbx_nmg
--mysql 5.6以下的索引执行策略修改
SET GLOBAL innodb_stats_on_metadata=off
--mysql初始化data文件夹
mysqld --initialize --user=mysql --console
--修改mysql root密码
UPDATE user SET authentication_string=PASSWORD('newpassword') where USER='root';
注:这里为什么不是password而是authentication_string呢?因为在5.7.*以后这个字段给换了。。坑人不偿命啊!
--mysql this is incompatible with sql_mode=only_full_group_by 错误
SET @@sql_mode='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION';