小麦苗的常用代码--常用命令(仅限自己使用)--下

上篇:https://blog.csdn.net/lihuarongaini/article/details/100743471

--------------------------------------------------------------------------------------------------------------   修改日期的显示格式
execute immediate 'alter session set NLS_DATE_FORMAT=''YYYY-MM-DD DY HH24:MI:SS''';
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
alter system set nls_date_format='yyyy-mm-dd hh24:mi:ss' scope=spfile;----------------------------------------------------------------------------- sqlplus 设置--$ORACLE_HOME/sqlplus/admin/glogin.sqlsqlplus中的清屏命令: clear scr--修改提示符
set linesize 9999 pagesize 9999
set sqlprompt "_USER'@'_CONNECT_IDENTIFIER> "set time on;
set line 9999
set pagesize 9999;
set timing on;
set sqlprompt "_USER'@'_CONNECT_IDENTIFIER> "set echo on;
set time on;
SET  99999999;
SET CHUNKSIZE 1000000;
set timing on;
set serveroutput on  size 1000000;
set sqlblanklines on;
set linesize 800;
set pagesize 50000;
set sqlprompt "_USER'@'_CONNECT_IDENTIFIER> "
host color 02
alter session set NLS_DATE_FORMAT='YYYY-MM-DD HH24:MI:SS';
set errorlogging on table lhr.sperrorlog;
set errorlogging on identifier LHR_SESSION---  alter session set nls_date_language='american' ;--------------------------------------------------------rman备份--  全备 ---------------------------------------------------------backup database include current controlfile plus archivelog delete input ;
backup as backupset database  format  '/u05/oracle/oracle_bk/orclasm/full_%n_%T_%t_%s_%p.bak' include current controlfile plus archivelog;
backup  as compressed backupset  format  '/arch/oracle_bk/ora2lhr/full_%n_%T_%t_%s.bak' database include current controlfile plus archivelog delete input ;run
{backup as compressed backupset database;sql 'alter system archive log current';backup archivelog all ;backup current controlfile;
}----------------------------- 归档 open 全备
export ORACLE_SID=ora11g
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
MYDATE=`date +'%Y%m%d%H%M%S'`
BACKUP_DIR=/home/oracle/oracle_bk/$ORACLE_SID
mkdir -p $BACKUP_DIR/logrman target /  log $BACKUP_DIR/log/rman_full_$MYDATE.log append <<EOF
run
{allocate channel c1 type disk;allocate channel c2 type disk;backup database filesperset 4 format  '$BACKUP_DIR/full_%n_%T_%t_%s_%p.bak';backup spfile tag='bk_spfile_$MYDATE' format='$BACKUP_DIR/spfile_%n_%U_%T.bak';sql 'alter system archive log current';backup archivelog all format '$BACKUP_DIR/arch_%d_%T_%s_%p.bak' delete input;backup current controlfile format '$BACKUP_DIR/ctl_%d_%T_%s_%p.bak';release channel c1;release channel c2;
}
EOFrman target /  log $BACKUP_DIR/log/rman_delete_$MYDATE.log append <<EOFallocate channel for maintenance type disk;allocate channel for maintenance type sbt_tape;crosscheck archivelog all;crosscheck backup;delete noprompt obsolete;delete noprompt expired archivelog all;
EOF----------------------------- 非归档 mount 全备
export ORACLE_SID=oralhr
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1
export PATH=$ORACLE_HOME/bin:$PATH
MYDATE=`date +'%Y%m%d%H%M%S'`
BACKUP_DIR=/home/oracle/oracle_bk/$ORACLE_SID
mkdir -p $BACKUP_DIR/logrman target /  log $BACKUP_DIR/log/rman_full_$MYDATE.log append <<EOF
run
{shutdown immediate; startup mount;allocate channel c1 type disk;allocate channel c2 type disk;backup database filesperset 4 format  '$BACKUP_DIR/full_%n_%T_%t_%s_%p.bak';backup spfile tag='bk_spfile_$MYDATE' format='$BACKUP_DIR/spfile_%n_%U_%T.bak'; backup archivelog all format '$BACKUP_DIR/arch_%d_%T_%s_%p.bak' delete input;backup current controlfile format '$BACKUP_DIR/ctl_%d_%T_%s_%p.bak';release channel c1;release channel c2;alter database open;
}
EOFrman target /  log $BACKUP_DIR/log/rman_delete_$MYDATE.log append <<EOFallocate channel for maintenance type disk;allocate channel for maintenance type sbt_tape;crosscheck archivelog all;crosscheck backup;delete noprompt obsolete;
EOF--------------------------------------------------------windows下备份-----------------------------------------------------------
--windows下nls_date_format的值不能加引号set yyyy=%DATE:~0,4%%-%%DATE:~5,2%%-%%DATE:~8,2%
set baklog='d:\dbback\%yyyy%.log'
set nls_date_format=yyyy-mm-dd hh24:mi:ss
rman target / cmdfile="d:\dbback\full_bak.txt" msglog=%baklog%
run {
sql 'alter system archive log current';
backup as compressed backupset FILESPERSET 2 database format 'd:\dbback\%T_db_%s_%U.dbf' plus archivelog delete input;
sql 'alter system archive log current';
backup current controlfile format 'd:\dbback\%T_ctl_%s_%U.dbf';
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
}run {
sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"';
sql 'alter session set NLS_LANGUAGE="AMERICAN"';
allocate channel c1 type disk;
allocate channel c2 type disk;
allocate channel c3 type disk;
allocate channel c4 type disk;
allocate channel c5 type disk;
allocate channel c6 type disk;
allocate channel c7 type disk;
allocate channel c8 type disk;
allocate channel c9 type disk;
allocate channel c10 type disk;
allocate channel c11 type disk;
allocate channel c12 type disk;
backup as compressed backupset FILESPERSET 1 database format 'd:\dbback\FULL_%d_%U.full' section size 100G;
sql 'alter system archive log current';
backup as compressed backupset archivelog all  format 'd:\dbback\ARC_%d_%U.arc' section size 100G;
backup current controlfile format 'd:\dbback\cf_%d_%U.ctl';
release channel c1;
release channel c2;
release channel c3;
release channel c4;
release channel c5;
release channel c6;
release channel c7;
release channel c8;
release channel c9;
release channel c10;
release channel c11;
release channel c12;
}--------------------------------------------------------冷备(最适合非归档)-----------------------------------------------------------
set feedback off
set heading off
set verify off
set trimspool off
set pagesize 0
set linesize 200
define dir = '/home/oracle/oracle_bk/coolbak'
define script = '/tmp/coolbak.sql'
spool &script
select 'ho cp ' || name || ' &dir' from v$controlfile
union all
select 'ho cp ' || name || ' &dir' from v$datafile
union all
select 'ho cp ' || member || ' &dir'  from v$logfile
union all
select 'ho cp ' || name || ' &dir' from v$tempfile
/
create pfile = '&dir/initorcl.ora' from spfile;
ho cp /u01/app/oracle/product/11.2.0/dbhome_1/dbs/orapwutf8test &dir
spool off
alter database backup controlfile to trace as '/home/oracle/oracle_bk/coolbak/ctl.sql';
shutdown immediate
start &script
--ho rm &script
startup---------有坏块情况下的备份 ORA-19566: exceeded limit of 0 corrupt blocks for file /oracle/app/oracle/oralhr/users01.dbf
run{set maxcorrupt for datafile 4 to 2; backup datafile 4 tag='2corruptblock';
}--------------------------------------------------------热备(归档)-----------------------------------------------------------
--------------------------- 热备 基于database (归档)
set feedback off
set heading off
set verify off
set trimspool off
set pagesize 0
set linesize 200
define dir = '/home/oracle/oracle_bk/hotbak'
define script = '/tmp/hotbak.sql'
spool &script
select 'ho cp ' ||name|| ' &dir'  from v$datafile;
spool off
alter database begin backup;
start &script
alter database end backup;
alter database backup controlfile to trace as '&dir/controlbak.sql';
alter database backup controlfile to '&dir/controlbak.ctl';
create pfile = '&dir/initorcl.ora' from spfile;--------------------------热备  基于表空间 (归档)
set feedback off
set heading off
set verify off
set trimspool off
set pagesize 0
set linesize 200
define dir = '/home/oracle/oracle_bk/hotbak'
define script = '/tmp/hotbak_tb.sql'
spool &script
select 'alter tablespace '|| tablespace_name ||' begin backup ;' ||chr(10)||'ho cp ' || file_name || ' &dir ' || chr(10)||'alter tablespace '|| tablespace_name || ' end backup;' from dba_data_files order by tablespace_name;
spool off
alter system switch logfile;
start &script
alter system switch logfile;
alter database backup controlfile to '&dir/controlbak.ctl';
alter database backup controlfile to trace as '&dir/controlbak.sql';
create pfile = '&dir/initorcl.ora' from spfile;----------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------
----------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------
-------------------------------------- LogMiner  日志挖掘
要安装LogMiner工具,必须首先要运行下面这样两个脚本:
$ORACLE_HOME/rdbms/admin/dbmslm.sql
$ORACLE_HOME/rdbms/admin/dbmslmd.sql
这两个脚本必须均以SYS用户身份运行。其中第一个脚本用来创建DBMS_LOGMNR包,该包用来分析日志文件。第二个脚本用来创建DBMS_LOGMNR_D包,该包用来创建数据字典文件。---设置单独的表空间
create tablespace ts_LOGMNR datafile '/sda4/u01/app/oracle/oradata/orcllinux/logmnr.dbf' size 1G autoextend on next 2M ;
exec dbms_logmnr_d.set_tablespace('ts_logmnr');---------------- 附加日志
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
alter database add supplemental log data(primary key) columns;
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA (PRIMARY KEY, UNIQUE INDEX) COLUMNS;
SELECT SUPPLEMENTAL_LOG_DATA_MIN,SUPPLEMENTAL_LOG_DATA_pk FROM V$DATABASE;---找到需要进行日志挖掘的归档日志
list archivelog all completed between '2017-01-01 16:20:00'  and '2017-01-01 16:25:00';
export NLS_DATE_FORMAT='YYYY-MM-DD HH24:mi:ss';exec  dbms_logmnr.add_logfile('归档日志文件', Options => dbms_logmnr.new);
exec  dbms_logmnr.add_logfile('归档日志文件', Options => dbms_logmnr.ADDFILE);--若归档日志不在本地,则需要恢复相应的归档日志到本地目录。run {allocate channel ci type disk;set archivelog destination to '/tmp';restore archvielog from logseq xxx until logseq xxx;release channel ci;};--------------  利用平面文件作为数据字典
alter system set utl_file_dir='/home/oracle/' scope=spfile; --然后重启库
exec dbms_logmnr_d.build('log.ora','/home/oracle/',dbms_logmnr_d.store_in_flat_file);
exec dbms_logmnr.add_logfile('+FRA/orclasm/archivelog/2015_01_20/thread_1_seq_952.463.869481079',dbms_logmnr.new);
exec dbms_logmnr.add_logfile('+FRA/orclasm/archivelog/2015_01_20/thread_1_seq_953.462.869481107',dbms_logmnr.addfile);
exec dbms_logmnr.start_logmnr(dictfilename=>'/home/oracle/log.ora');
create table LHR.testlog as select * from  v$logmnr_contents a;
EXEC DBMS_LOGMNR.END_LOGMNR;-------------------------- redo 字典
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
exec  dbms_logmnr_d.build(options => dbms_logmnr_d.STORE_IN_REDO_LOGS);select a.*from v$archived_log aWHERE a.name IS NOT NULLand (a.DICTIONARY_BEGIN = 'YES' or a.DICTIONARY_END = 'YES');-------------- 利用在线日志作为数据字典
SELECT '  dbms_logmnr.add_logfile(''' || MEMBER || ''');' FROM v$logfile;BEGINdbms_logmnr.add_logfile('+DATA/orclasm/onlinelog/group_3.263.850260263',dbms_logmnr.new)  ;dbms_logmnr.add_logfile('+DATA/orclasm/onlinelog/group_2.262.850260259',dbms_logmnr.ADDFILE)  ;dbms_logmnr.add_logfile('+DATA/orclasm/onlinelog/group_1.261.850260255',dbms_logmnr.ADDFILE))  ;dbms_logmnr.start_logmnr(options=>dbms_logmnr.dict_from_online_catalog + dbms_logmnr.committed_data_only);
END;SELECT scn, sql_redo, a.SQL_UNDO, a.*FROM v$logmnr_contents aWHERE a.OPERATION = 'INSERT'and a.TABLE_NAME = 'AABB';create table testlog as select * from  v$logmnr_contents a;begindbms_logmnr.end_logmnr();
end;EXECUTE DBMS_LOGMNR_D.BUILD (OPTIONS=>DBMS_LOGMNR_D.STORE_IN_REDO_LOGS); -------------------------- online字典
begindbms_logmnr.start_logmnr(startScn => 23573690,endScn   => 23632671,Options  => dbms_logmnr.DICT_FROM_ONLINE_CATALOG + dbms_logmnr.CONTINUOUS_MINE);
end;begindbms_logmnr.start_logmnr(startScn => 23573690,endScn   => 23632671,Options  => dbms_logmnr.DICT_FROM_REDO_LOGS +dbms_logmnr.CONTINUOUS_MINE);
end;export NLS_DATE_FORMAT='YYYY-MM-DD HH24:mi:ss'
list archivelog all  completed between '2015-06-03 08:00:00' and '2015-06-03 09:00:00';
exec SYS.DBMS_LOGMNR.ADD_LOGFILE( '/u01/app/oracle11g/flash_recovery_area/TEST/archivelog/2015_06_03/o1_mf_1_505_7w35gdnx_.arc', sys.dbms_logmnr.New);
BEGIN DBMS_LOGMNR.START_LOGMNR( STARTTIME => '2015-06-03 11:10:12', ENDTIME => '2015-06-03 11:13:06', OPTIONS => DBMS_LOGMNR.DICT_FROM_ONLINE_CATALOG + DBMS_LOGMNR.CONTINUOUS_MINE);
END;
/---查询挖掘到的结果
select a.SCN,a.TIMESTAMP,a.SQL_REDO from v$logmnr_contents A where table_name='XXXX' and OPERATION='INSERT' order by a.SCN;--清除控制文件中关于v$archived_log的信息
execute sys.dbms_backup_restore.resetCfileSection(11);---恢复归档1.恢复全部归档日志文件RMAN> restore archivelog all;2.只恢复5到8这四个归档日志文件RMAN> restore archivelog from logseq 5 until logseq 8;3.恢复从第5个归档日志起RMAN> restore archivelog from logseq 5;4.恢复7天内的归档日志RMAN> restore archivelog from time 'sysdate-7';5. sequence between 写法RMAN> restore archivelog sequence between 1 and 3;6.恢复到哪个日志文件为止RMAN> restore archivelog until logseq 3;7.从第五个日志开始恢复RMAN> restore archivelog low logseq 5;8.到第5个日志为止RMAN> restore archivelog high logseq 5;
恢复指定的archivelog:restore archivelog sequence 18;
--若归档日志不在本地,则需要恢复相应的归档日志到本地目录。run {allocate channel ci type disk;set archivelog destination to '/tmp';restore archvielog from logseq xxx until logseq xxx;release channel ci;};------------------------------------------------------------------------------------------    详细执行计划 StartsSET SERVEROUTPUT OFF---------------Session级别:
ALTER SESSION SET STATISTICS_LEVEL=ALL;
----------------- 诧句级别 使用HINT
select /*+ gather_plan_statistics*/ ...SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('d9myghq8vck6r',NULL,'ADVANCED ALLSTATS'));SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR('f6cz4n8y72xdc',0,'ADVANCED ALLSTATS LAST PEEKED_BINDS'));SET SERVEROUTPUT OFF
SET LINESIZE 9999
COL PLAN_TABLE_OUTPUT FORMAT A200
ALTER SESSION SET STATISTICS_LEVEL=ALL ;
XXXXX
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ADVANCED ALLSTATS LAST PEEKED_BINDS'));--------------------------------------------------------------------------------------------   其他SELECT * FROM DBA_STREAMS_UNSUPPORTED;  -------------------  锁和事务关系
select *   from v$lock a where type in ('TM','TX')  ;SELECT * from v$transaction;                      select trunc(655385/power(2,16)) XIDUSN from dual;
10select bitand(655385,to_number('ffff','xxxx'))+0 XIDSLOT from dual;25 ---------------------------------truncate 后的恢复-------------------------- 恢复的过程会多次执行    alter system flush buffer_cache;------------ tmp目录空闲空间需要比表的大小大
create table lhr.TRUNTAB    as SELECT * FROM dba_objects where rownum<=10;SELECT COUNT(1) FROM   lhr.TRUNTAB; truncate table lhr.TRUNTAB;exec fy_recover_data.recover_truncated_table('LHR','TRUNTAB',1);  SELECT * FROM   lhr.TRUNTAB$$;
insert into lhr.TRUNTAB SELECT * FROM   lhr.TRUNTAB$$;
commit;
drop tablespace   FY_REC_DATA  including contents and datafiles;
drop tablespace   FY_RST_DATA  including contents and datafiles;---闪回
alter table TRUNTAB enable row movement;
flashback table TRUNTAB to timestamp to_date('2014/12/31 17:33:00','YYYY/MM/DD HH24:MI/SS');--------------长查询
SELECT * FROM vw_active_session_lhr a where a.USERNAME IS NOT NULL ;
SELECT * FROM vw_longrun_lhr;
SET LINE 9999  PAGESIZE 9999
col username format a10
col session_info format a30
col target format a20
col opname format a35
col message format a80
col sofar_TOTALWORK format a20
col progress format a8SELECT A.USERNAME, (SELECT NB.SID || ',' || NB.SERIAL# || ',' || PR.SPID || ',' ||NB.OSUSER|| ',' ||nb.status|| ',' ||nb.EVENTFROM GV$PROCESS PR, GV$SESSION NBWHERE NB.PADDR = PR.ADDRAND NB.SID = A.SIDAND NB.SERIAL# = A.SERIAL#AND PR.INST_ID = NB.INST_ID) SESSION_INFO,A.TARGET,A.OPNAME,TO_CHAR(A.START_TIME, 'YYYY-MM-DD HH24:MI:SS') START_TIME,ROUND(A.SOFAR * 100 / A.TOTALWORK, 2) || '%' AS PROGRESS,(A.SOFAR || ':' || A.TOTALWORK) SOFAR_TOTALWORK,A.TIME_REMAINING TIME_REMAINING,A.ELAPSED_SECONDS ELAPSED_SECONDS,MESSAGE MESSAGEFROM GV$SESSION_LONGOPS AWHERE A.TIME_REMAINING <> 0ORDER BY  A.TIME_REMAINING DESC, A.SQL_ID, A.SID;SELECT * FROM vw_tablespace_datafile_lhr  ;SELECT * FROM xb_audit_ddl_lhr a WHERE a.id >=2373180 ;-----------------------------------------------------------  归档
alter system set log_archive_dest_1='location=D:\arch';
alter system set log_archive_dest='USE_DB_RECOVERY_FILE_DEST';show parameter DB_RECOVERY_FILE_DEST如果归档日志为自动归档,则切换日志(alter system switch logfile)会自动归档;如果为手动归档模式,则不会归档,除非你执行下列命令手动归档:
alter system archive log sequence lognumberalter system archive log allalter system archive log current查看归档日志模式:select log_mode from v$database;NOARCHIVELOG-- 为不归档
ARCHIVELOG  -- 为自动归档
MANUAL --手动归档模式修改归档日志模式(必须干净关闭才可修改):
alter database noarchivelog;  --修改为非归档
alter database archivelog;
alter database archivelog manual;----------------通过移动数据文件来均衡文件I/O
col PHYRDS format 999999999
col PHYWRTS format 999999999
col READTIM format 999999999
col WRITETIM format 999999999
col name for a60
set line 9999 pagesize 9999
select name,phyrds,phywrts,readtim,writetim
from v$filestat a,v$datafile b
where a.file#=b.file#
union all
select name,PHYRDS,PHYWRTS,READTIM,WRITETIM from v$tempstat a,v$tempfile b where a.file#=b.file#
order by readtim desc; /*查看表最后一次DML时间*/
select max(ora_rowscn), to_char(scn_to_timestamp(max(ora_rowscn)),'YYYY-MM-DD HH24:MI:SS')  from aa;
select a.*,dbms_rowid.rowid_block_number(rowid),to_char(ora_rowscn),to_char(scn_to_timestamp(ora_rowscn),'YYYY-MM-DD HH24:MI:SS')   from AA a;SQL>SELECT ENAME,SAL,DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) BLOCK#,DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) AS FILE# FROM SCOTT.EMP WHERE EMPNO=7839;
ENAME             SAL     BLOCK#      FILE#
---------- ---------- ---------- ----------
KING             5000         32          4------------------------------------------ 日志切换频率
select b.SEQUENCE#,b.FIRST_TIME,a.SEQUENCE#,a.FIRST_TIME,round(((a.FIRST_TIME - b.FIRST_TIME) * 24) * 60, 2) minfrom v$log_history a, v$log_history bwhere a.SEQUENCE# = b.SEQUENCE# + 1and b.THREAD# = 1order by a.SEQUENCE# desc;select sequence#,first_time,nexttime,round(((first_time - nexttime) * 24) * 60, 2) difffrom (select sequence#,first_time,lag(first_time) over(order by sequence#) nexttimefrom v$log_historywhere thread# = 1)order by sequence# desc;       select max (first_time) max_first_time,to_char (first_time, 'yyyy-mm-dd') day,count (recid) count_number,count (recid) * 200 size_mbfrom v$log_history
group by to_char (first_time, 'yyyy-mm-dd')
order by 1;--------------------------------------------------------------------------------------------------- 开启10053事件
ALTER SESSION SET EVENTS '10053 trace name context forever, level 1';
SELECT * FROM T_NI_20170612_lhr T WHERE T.OBJECT_TYPE>'TABLE' OR T.OBJECT_TYPE<'TABLE';
ALTER SESSION SET EVENTS '10053 trace name context off';
SELECT VALUE FROM V$DIAG_INFO WHERE NAME='Default Trace File';--------------------------------------------------------------------------------------------------- 开启10046事件   10046事件级别:level 0:禁用SQL_TRACE,等价于SQL_TRACE=FALSE
level 1:启用标准的sql_trace功能跟踪SQL语句,包括解析、执行、提取、提交和回滚等,等价于SQL_TRACE=TRUE
level 4:Level 1 +包括变量(bind values)的详细信息
level 8:Level 1 + 包括等待事件
level 12:包括绑定变量与等待事件,包含Level 1 + Level 4 + Level 8alter session set SQL_TRACE=true;
alter session set SQL_TRACE=false;
alter session set events '10046 trace name context forever, level 12';
alter session set events '10046 trace name context off';
alter session set events '10046 trace name context off, LEVEL 12';
--对单个 SQL ID 打开10046事件跟踪
ALTER SYSTEM SET EVENTS 'SQL_TRACE [SQL:&&SQL_ID] BIND=TRUE,WAIT=TRUE';
ALTER SYSTEM SET EVENTS 'SQL_TRACE [SQL:C7452AGJ0S0T6] WAIT=TRUE,BIND=TRUE,PLAN_STAT=ALL_EXECUTIONS,LEVEL=12';
--关闭单个SQL的跟踪命令如下所示:
ALTER SYSTEM SET EVENTS 'SQL_TRACE [SQL:&&SQL_ID] OFF';exec dbms_session.set_sql_trace(true);
exec dbms_session.set_sql_trace(false);
exec dbms_session.session_trace_enable(waits=>true,binds=>true);
exec dbms_session.session_trace_enable(); -----跟踪其它会话
SQL> exec dbms_system.set_ev(sid,serial#,10046,12,'');
SQL> exec dbms_system.set_ev(sid,serial#,10046,0,'');exec dbms_system.set_sql_trace_in_session(9,437,true);
exec dbms_system.set_sql_trace_in_session(9,437,false);SQL> exec dbms_monitor.session_trace_enable;
SQL> 执行sql
SQL> exec dbms_monitor.session_trace_disable;
跟踪其他会话:
SQL> exec dbms_monitor.session_trace_enable(session_id=>sid,serial_num=>serial#,waits=>true,binds=>true);
SQL> exec dbms_monitor.session_trace_disable(session_id=>sid,serial_num=>serial#);--跟踪当前会话:
SQL> oradebug setmypid;
Statement processed.
SQL> oradebug unlimit;
Statement processed.
SQL> oradebug event 10046 trace name context forever,level 12;
Statement processed.
SQL> 执行sql
SQL> oradebug tracefile_name
SQL> oradebug event 10046 trace name context off;
Statement processed.
--跟踪其他会话:
SQL> select spid,pid2  from v$process2  where addr in (select paddr from v$session where sid=(select distinct sid from v$mystat));
SPID                PID
------------ ----------
1457                 313
SQL> oradebug setospid 1457;
Statement processed.
或者
SQL> oradebug setorapid 313;
Statement processed.
SQL> oradebug unlimit;
Statement processed.
SQL> oradebug event 10046 trace name context forever,level 12;
Statement processed.
SQL> oradebug tracefile_name
SQL> oradebug event 10046 trace name context off;
Statement processed.SELECT A.SID,B.SERIAL# ,C.SPID
FROM   V$MYSTAT  A,V$SESSION B ,V$PROCESS C
WHERE  A.SID = B.SID
AND B.PADDR=C.ADDR
AND    ROWNUM = 1;SELECT B.SID,B.SERIAL# ,C.SPID
FROM   V$SESSION B ,V$PROCESS C
WHERE  B.PADDR=C.ADDR;--启用errorstack的跟踪来找到出现问题的SQL语句
alter session set events '3001 trace name errorstack level 3';---跟踪1438的错误
alter system set events '1438 trace name errorstack forever,level 3';
alter system set events '1438 trace name errorstack off';
alter system set events='1438 trace name errorstack forever,level 3';
alter system set events='1438 trace name errorstack off';
设置ErrorStack主要有4个级别:
0 仅转储错误堆栈(0级已经被逐渐废弃)
1 转储错误堆栈和函数调用堆栈
2 Level1 + ProcessState
3 Level2 + Context area(显示所有cursors,着重显示当前cursor)系统默认没有安装dbms_support这个包,可以手动执行$ORACLE_HOME/rdbms/admin/bmssupp.sql脚本来创建该包跟踪当前会话:
SQL> exec dbms_support.start_trace
SQL> 执行sql
SQL> exec dbms_support.stop_trace
跟踪其他会话:等待事件+绑定变量,相当于level 12的10046事件。
SQL> select sid,serial#,username from v$session where ...;
SQL> exec dbms_support.start_trace_in_session(sid=>sid,serial=>serial#,waits=>true,binds=>true);
SQL> exec dbms_support.stop_trace_in_session(sid=>sid,serial=>serial#);----select value from v$diag_info where name like '%Default%';--转储文件路径
col TRACE_FILE_NAME format a100
SELECT d.value || '/' || lower(rtrim(i.instance, chr(0))) || '_ora_' ||p.spid || '.trc' trace_file_name
FROM   (SELECT p.spidFROM   v$mystat  m,v$session s,v$process pWHERE  m.statistic# = '1'AND    s.sid = m.sidAND    p.addr = s.paddr) p,(SELECT t.instanceFROM   v$thread    t,v$parameter vWHERE  v.name = 'thread'AND    (v.value = '0' OR to_char(t.thread#) = v.VALUE)) i,(SELECT VALUE FROM v$parameter WHERE NAME = 'user_dump_dest') d;CREATE OR REPLACE VIEW VW_TRACEFILE_ALL_LHR AS
SELECT INST_ID,SID,SERIAL#,SPID,USERNAME,D.VALUE || '/' || LOWER(RTRIM(I.INSTANCE, CHR(0))) || '_ora_' ||P.SPID || '.trc' TRACE_FILE_NAMEFROM (SELECT S.INST_ID, S.SID, S.SERIAL#, P.SPID, S.USERNAMEFROM GV$SESSION S, GV$PROCESS PWHERE P.ADDR = S.PADDRAND S.INST_ID = P.INST_ID) P,(SELECT T.INSTANCEFROM GV$THREAD T, GV$PARAMETER VWHERE V.NAME = 'thread'AND (V.VALUE = '0' OR TO_CHAR(T.THREAD#) = V.VALUE)) I,(SELECT VALUE FROM V$PARAMETER WHERE NAME = 'user_dump_dest') D;--创建公共同义词:
CREATE OR REPLACE PUBLIC SYNONYM SYN_TRACEFILE_ALL_LHR FOR VW_TRACEFILE_ALL_LHR;在Oracle 11g中可以直接查询V$PROCESS获取TRACE文件:
CREATE OR REPLACE VIEW VW_TRACEFILE_LHR AS
SELECT S.INST_ID, S.SID, S.SERIAL#, P.SPID, S.USERNAME, P.TRACEFILEFROM GV$SESSION S, GV$PROCESS PWHERE P.ADDR = S.PADDRAND S.INST_ID = P.INST_ID ;--创建公共同义词:
CREATE OR REPLACE PUBLIC SYNONYM SYN_TRACEFILE_LHR FOR VW_TRACEFILE_LHR;--------------------------如何生成 systemstate dump   systemdump systemstate
###sysdba可登陆时
$sqlplus "/as sysdba"
SQL>oradebug setmypid
SQL>--其中266表示dump的级别,不用调整,即把系统当前各个进程正在执行什么、正在等待什么全部抓下来
SQL>oradebug dump systemstate 266  --oradebug dump systemdump 266;
SQL>--等上30秒到1分钟
SQL>oradebug dump systemstate 266###sysdba不可登陆时
sqlplus -prelim "/as sysdba"
SQL>oradebug setmypid
SQL>--其中266表示dump的级别,不用调整,即把系统当前各个进程正在执行什么、正在等待什么全部抓下来
SQL>oradebug dump systemstate 266
SQL>--等上30秒到1分钟
SQL>oradebug dump systemstate 266
SQL> oradebug tracefile_name
/u02/app/oracle/diag/rdbms/lhrdb/lhrdb/trace/lhrdb_ora_46679.trc----------HANGANALYZE 分析
SQL> alter session set events 'immediate trace name HANGANALYZE level 3';
或者:
SQL>ORADEBUG hanganalyze 3 --for 单实例------for RAC 实例
SQL>ORADEBUG setmypid
SQL>ORADEBUG setinst all
SQL>ORADEBUG -g def hanganalyze 3    The levels are defined as follows:
10  Dump all processes (IGN state)
5       Level 4 + Dump all processes involved in wait chains (NLEAF state)
4   Level 3 + Dump leaf nodes (blockers) in wait chains (LEAF,LEAF_NW,IGN_DMP state)
3   Level 2 + Dump only processes thought to be in a hang (IN_HANG state)
1-2     Only HANGANALYZE output, no process dump at all----------------------------------------------------------------------------------------------------- 层次查询SELECT LEVEL,id,parentid,(lpad(' ', 8 * (LEVEL - 1)) || LEVEL || ':' || l.name) names,substr(SYS_CONNECT_BY_PATH(NAME, '=>'), 3),connect_by_root(NAME) root,decode(LEVEL,2,NAME,substr(SYS_CONNECT_BY_PATH(NAME, '=>'),instr(SYS_CONNECT_BY_PATH(NAME, '=>'), '>', 1, 2) + 1,(instr(SYS_CONNECT_BY_PATH(NAME, '=>'), '=', 1, 3) -instr(SYS_CONNECT_BY_PATH(NAME, '=>'), '>', 1, 2) - 1))) root2,decode(connect_by_isleaf, 1, 'Y', 0, 'N') is_leaf,decode(connect_by_iscycle, 1, 'Y', 0, 'N') is_leafFROM   xb_location lSTART  WITH l.parentid IS NULLCONNECT BY nocycle PRIOR l.id = l.parentid;----------------------------------------------------------------------------------------------------- 启用系统触发器 登录触发器
alter system  set "_system_trig_enabled"=true; --默认
alter system reset "_system_trig_enabled" scope=spfile sid='*';-----------------------------------------------------------------------------------------------------   闪回select * from user_recyclebin t where t.original_name LIKE'TMP_AB%';
select * from dba_recyclebin;--ddl
flashback table TMP_AB  to before drop rename to old_t;
flashback table "BIN$B/HqKSpfWrvgU4I7qMATlg==$0"  to before drop;--dml
alter table old_t enable row movement;
flashback table old_t to timestamp to_date('2012/11/13 16:16:40','YYYY/MM/DD HH24:MI/SS');--insert into xb_port
SELECT *
FROM   xb_port AS OF TIMESTAMP TO_TIMESTAMP('2013-04-25 16:53:28', 'YYYY-MM-DD HH24:MI:SS')
WHERE  id = 307247374 ;
commit;SELECT timestamp_to_scn(TO_TIMESTAMP('2012-11-13 16:25:17','YYYY-MM-DD HH24:MI:SS')),to_char(DBMS_FLASHBACK.GET_SYSTEM_CHANGE_NUMBER) AS SCN
FROM   dual;----查询
SELECT versions_starttime,versions_startscn,versions_endtime,versions_endscn,versions_xid,versions_operation,id,NAME
FROM   xb_location versions BETWEEN TIMESTAMP to_timestamp('2012-11-13 15:10:40', 'yyyy-mm-dd hh24:mi:ss') AND to_timestamp(to_char(SYSDATE, 'yyyy-mm-dd hh24:mi:ss'), 'yyyy-mm-dd hh24:mi:ss')
WHERE  versions_xid IS NOT NULL
ORDER  BY versions_starttime;SELECT versions_starttime,versions_startscn,versions_endtime,versions_endscn,versions_xid,versions_operation,id,NAME
FROM   xb_location versions BETWEEN scn minvalue AND maxvalue
WHERE  versions_xid IS NOT NULL
ORDER  BY versions_starttime;------------------------------------------------------- undo表空间--1、系统段  2、非系统段  3、表空间脱机后的defered段
SELECT d.segment_type,COUNT(1)
FROM   dba_segments d
GROUP  BY d.segment_type;select * from dba_segments d where d.segment_type in ('TYPE2 UNDO','ROLLBACK') ;
select * from dba_rollback_segs;
select * from dba_undo_extents;
select * from v$transaction;
select * from v$rollstat;
select * from v$rollname;
select * from dba_extents d where d.segment_name='_SYSSMU25_17381587$';
select * from v$undostat; ---mount状态可查
--ssolderrcnt : snapshot too  old error count select status,count(*) from dba_rollback_segs group by status; SELECT d.TABLESPACE_NAME,d.STATUS,SUM(bytes) / 1024 / 1024
FROM   dba_undo_extents d
GROUP  BY d.TABLESPACE_NAME,d.status
ORDER  BY d.TABLESPACE_NAME;SELECT r.tablespace_name,r.status "Status",r.segment_name "Name",s.extents "Extents",TO_CHAR((s.bytes / 1024 / 1024), '99999990.000') "SizeM",s.segment_type
FROM   dba_rollback_segs r,dba_segments      s
WHERE  r.segment_name = s.segment_name
AND    s.segment_type IN ('ROLLBACK', 'TYPE2 UNDO')
ORDER  BY r.tablespace_name,5 DESC;----估算undo需要的大小
SELECT (UR * (UPS * DBS)) AS "Bytes"     FROM (SELECT value AS UR FROM v$parameter WHERE name = 'undo_retention'),          (SELECT undoblks/((end_time-begin_time)*86400) AS UPS           FROM v$undostat           WHERE undoblks = (SELECT MAX(undoblks) FROM v$undostat)),          (SELECT block_size AS DBS           FROM dba_tablespaces           WHERE tablespace_name = (SELECT UPPER(value) FROM v$parameter WHERE name = 'undo_tablespace'));-------------------- 已用大小
set line 9999
select s.sid,s.serial#,s.sql_id,v.usn,segment_name,r.status,v.rssize / 1024 / 1024 mbFrom dba_rollback_segs r, v$rollstat v, v$transaction t, v$session sWhere r.segment_id = v.usnand v.usn = t.xidusnand t.addr = s.taddrorder by segment_name;------undo总大小SET ECHO        OFF
SET FEEDBACK    6
SET HEADING     ON
SET LINESIZE    180
SET PAGESIZE    50000
SET TERMOUT     ON
SET TIMING      OFF
SET TRIMOUT     ON
SET TRIMSPOOL   ON
SET VERIFY      OFFCOLUMN status      FORMAT a9                 HEADING 'Status'
COLUMN name        FORMAT a30                HEADING 'Tablespace Name'
COLUMN type        FORMAT a15                HEADING 'TS Type'
COLUMN extent_mgt  FORMAT a10                HEADING 'Ext. Mgt.'
COLUMN segment_mgt FORMAT a10                HEADING 'Seg. Mgt.'
COLUMN ts_size     FORMAT 9,999,999,999,999  HEADING 'Tablespace Size'
COLUMN used        FORMAT 9,999,999,999,999  HEADING 'Used (in bytes)'
COLUMN free        FORMAT 9,999,999,999,999  HEADING 'Free (in bytes)'
COLUMN pct_used    FORMAT 999                HEADING 'Pct. Used'SELECTd.status                                            status, d.tablespace_name                                   name, d.contents                                          type, d.extent_management                                 extent_mgt, d.segment_space_management                          segment_mgt, NVL(a.bytes, 0)                                     ts_size, NVL(a.bytes - NVL(f.bytes, 0), 0)                   used, NVL((a.bytes - NVL(f.bytes, 0)) / a.bytes * 100, 0) pct_used
FROM sys.dba_tablespaces d, ( select tablespace_name, sum(bytes) bytesfrom dba_data_filesgroup by tablespace_name) a, ( select tablespace_name, sum(bytes) bytesfrom dba_free_spacegroup by tablespace_name) f
WHEREd.tablespace_name = a.tablespace_name(+)AND d.tablespace_name = f.tablespace_name(+)AND  d.tablespace_name like '%UNDO%'
ORDER BY2;--数据文件管理参数: db_create_file_dest
CREATE TABLESPACE test DATAFILE SIZE 10m;
alter database datafile 3  resize 5G;
alter database tempfile 1  resize 2G;
alter database datafile 3   autoextend off;
alter database tempfile 1   autoextend off;  ① 分析数据文件块,转储数据文件n的块m
alter system dump datafile n block m;
② 分析日志文件
alter system dump logfile logfilename;
③ 分析控制文件的内容
alter session set events 'immediate trace name CONTROLF level 10';
④ 分析所有数据文件头
alter session set events 'immediate trace name FILE_HDRS level 10';
⑤ 分析日志文件头
alter session set events 'immediate trace name REDOHDR level 10';
⑥ 分析系统状态,最好每10分钟一次,做三次对比
alter session set events 'immediate trace name SYSTEMSTATE level 10';
⑦ 分析进程状态
alter session set events 'immediate trace name PROCESSSTATE level 10';
⑧ 分析Library Cache的详细情况
alter session set events 'immediate trace name library_cache level 10';-------------- 重建undo表空间
create undo tablespace undotbs2 datafile '+DATA' size 100m reuse autoextend off;
alter system set undo_tablespace=undotbs2;
drop tablespace undotbs1 including contents and datafiles;
create undo tablespace undotbs1 datafile '+DATA' size 100m reuse autoextend off;
alter system set undo_tablespace=undotbs1; alter database datafile 3   autoextend off;
alter database tempfile 1   autoextend off; create undo tablespace undotbs2 datafile '+DATA' size 5M;alter system set undo_tablespace=undotbs2;
alter tablespace undotabs2 retention guarantee;select t.rowid,dbms_rowid.rowid_relative_fno(rowid) fno,dbms_rowid.rowid_block_number(rowid) bno,    t.owner,t.object_name from t ;alter system dump datafile   4 block  6643;select * from vw_mysession_lhr;UBA : undo block addressselect * from v$obsolete_parameter;alter database create datafile 3 as '/u03/app/oracle/oradata/ora1024g/undotbs01.dbf' size 50m;------- undo
alter system set "_offline_rollback_segments"=true scope=spfile;
alter system set "_offline_rollback_segments"=false scope=spfile;  ---默认
alter system reset "_offline_rollback_segments" scope=spfile sid='*';*._offline_rollback_segments=('_SYSSMU154_3691636531$','_SYSSMU155_3686385895$','_SYSSMU156_3796802683$','_SYSSMU157_2723916652$','_SYSSMU158_1435464080$') _offline_rollback_segment='_SYSSMU3$'
_newsort_enabled  --排序-------- 如果undo为recover状态的话还需要加如下参数
alter system set "_corrupted_rollback_segments"='_SYSSMU1$','_SYSSMU2$','_SYSSMU3$','_SYSSMU4$','_SYSSMU5$','_SYSSMU6$','_SYSSMU7$','_SYSSMU8$','_SYSSMU9$','_SYSSMU10$' scope=spfile;alter system reset "_corrupted_rollback_segments" scope=spfile sid='*';alter system set "_corrupted_rollback_segments"='_SYSSMU1$','_SYSSMU2$','_SYSSMU3$','_SYSSMU4$','_SYSSMU5$','_SYSSMU6$','_SYSSMU7$','_SYSSMU8$','_SYSSMU9$','_SYSSMU10$','_SYSSMU11$','_SYSSMU12$','_SYSSMU13$','_SYSSMU14$','_SYSSMU15$','_SYSSMU16$','_SYSSMU17$','_SYSSMU18$','_SYSSMU19$','_SYSSMU20$' scope=spfile;*._corrupted_rollback_segments=('_SYSSMU10_3271578125','_SYSSMU11_125382609','_SYSSMU1_1240252155','_SYSSMU12_2245433549','_SYSSMU13_3242268464','_SYSSMU14_44821983','_SYSSMU15_1872739176','_SYSSMU16_1376564431','_SYSSMU17_1839632768','_SYSSMU18_3088942417','_SYSSMU19_2867910983','_SYSSMU20_948290921','_SYSSMU2_111974964','_SYSSMU3_4004931649','_SYSSMU4_1126976075','_SYSSMU5_2968973961','_SYSSMU6_2060978448','_SYSSMU7_4222772309','_SYSSMU8_3612859353','_SYSSMU9_2370500926')drop rollback segment "drop rollback segment";
drop rollback segment  "_SYSSMU154_3691636531$";---- 查询undo段
strings /u01/app/oracle/oradata/ora11g/system01.dbf | grep _SYSSMU | sort -u >/tmp/system.txtmore /tmp/system.txt注意:通过system01.dbf查出了,正在使用的undo segment,以上按使用时间做了排序,注意只选择那些排在最前面的(相同回滚段);默认每个undo tablespace 会应用10个undo segments。-------  不能创建undo文件(ORA-01178错误),无备份的情况下采用隐含参数启动数据库
set line 9999
col name format a100
select file#, name,status,enabled from v$datafile; select * from v$recover_file;alter system set undo_management=manual scope=spfile;
alter database datafile 3 offline;
alter system set undo_tablespace=SYSTEM  scope=spfile;
alter system set "_offline_rollback_segments"=true scope=spfile;
! strings '/u01/app/oracle/oradata/orcltest/system01.dbf'  | grep _SYSSMU | sort -ualter system set
"_corrupted_rollback_segments"='_SYSSMU3_4004931649$','_SYSSMU3_4160240979$','_SYSSMU34_2573821980$','_SYSSMU35_3476245049$','_SYSSMU36_353473384$','_SYSSMU37_682878819$','_SYSSMU38_2521239011$','_SYSSMU39_1467520375$','_SYSSMU40_753689919$','_SYSSMU4_1126976075$','_SYSSMU4_348804819$','_SYSSMU5_2968973961$','_SYSSMU5_4011504098$','_SYSSMU6_2060978448$','_SYSSMU6_3654194381$','_SYSSMU7_4222772309$','_SYSSMU7_894058185$','_SYSSMU8_3612859353$','_SYSSMU8_87803851$','_SYSSMU9_2370500926$','_SYSSMU9_2370500926$','_SYSSMU9_3945653786$'   scope=spfile;
shutdown immediate;
startup mount;
alter database open;
select segment_name,status,tablespace_name from dba_rollback_segs;
drop tablespace UNDOTBS1;
create undo tablespace undotbs1 datafile '/u01/app/oracle/oradata/orcltest/undotbs01.dbf' size 50m autoextend on;
alter system set undo_tablespace=UNDOTBS1  scope=spfile;
alter system set undo_management=auto  scope=spfile;
alter system reset "_offline_rollback_segments" scope=spfile sid='*';
alter system reset "_corrupted_rollback_segments" scope=spfile sid='*';
shutdown immediate;
startup---注意回滚段的命名规范:
11g: _SYSSMU1_1189172979$、 _SYSSMU2_1189172979$ 。。。_SYSSMU10_1189172979$
10g、9i:_SYSSMU1$、_SYSSMU2$、_SYSSMU3$  。。。。_SYSSMU10$
8i 为rollbackspace 即RBS空间:RBS0、RBS1、RBS2 。。。。RBS6
7.3 :RB1、RB2.。。。。RB6*.LOCAL_LISTENER='(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=22.188.194.64)(PORT=1523)))'
*.LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=22.188.194.64)(PORT=1522))';ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=22.188.194.64)(PORT=1523)))';
ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=22.188.194.64)(PORT=1522))';ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=22.188.194.64)(PORT=1523)))','(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=22.188.194.64)(PORT=1522)))';
ALTER SYSTEM SET LOCAL_LISTENER='(ADDRESS=(PROTOCOL=TCP)(HOST=22.188.194.64)(PORT=1522))','(ADDRESS=(PROTOCOL=TCP)(HOST=22.188.194.64)(PORT=1523))';ALTER SYSTEM REGISTER;------------ 数据文件自动扩展alter database datafile 5 autoextend on next 5M;
如果是bigfile可以采用: ALTER TABLESPACE TBS2 AUTOEXTEND ON NEXT   20G;修改表空间数据文件大小为不限制的语句为:
alter database datafile '/oradata/orcl/demo01.dbf' autoextend on maxsize unlimited;创建表空间数据文件大小为不限制的语句为:
create tablespace demo2 datafile '/oradata/orcl/demo201.dbf' size 10M autoextend on maxsize unlimited;----取消已有数据文件的自动增长方式
alter database datafile 'i:\oracle\oradata\dmusertbs01.dbf' autoextend off;------------ 根据文件号和块号查询数据库对象
SELECT tablespace_name,segment_type,owner,segment_name,partition_name
FROM   dba_extents
WHERE  file_id = &file_id
AND    &block_id BETWEEN block_id AND block_id + blocks - 1
;SELECT ENAME,SAL,ROWID,DBMS_ROWID.ROWID_CREATE(1,125628,147,4,7),DBMS_ROWID.ROWID_OBJECT(ROWID) OBJECT_ID,DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) BLOCK#,DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) FILE#,DBMS_ROWID.ROWID_ROW_NUMBER(ROWID) RN  FROM SCOTT.EMP WHERE EMPNO=7839;SELECT ENAME,SAL,ROWID,DBMS_ROWID.ROWID_CREATE(1, 125628, 147, 4, 7),DBMS_ROWID.ROWID_OBJECT(ROWID) OBJECT_ID,DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID) BLOCK#,DBMS_ROWID.ROWID_RELATIVE_FNO(ROWID) FILE#,DBMS_ROWID.ROWID_ROW_NUMBER(ROWID) RNFROM SCOTT.EMPWHERE EMPNO = 7839;SELECT ROWID,dbms_rowid.rowid_object(ROWID) object_id,dbms_rowid.rowid_relative_fno(ROWID) file_id,dbms_rowid.rowid_block_number(ROWID) block_id,d.*
FROM   scott.SALGRADE  d
WHERE  dbms_rowid.rowid_block_number(ROWID) = 163
AND    dbms_rowid.rowid_relative_fno(ROWID) = 4;SELECT DBMS_ROWID.ROWID_CREATE(1,(SELECT DATA_OBJECT_IDFROM DBA_OBJECTSWHERE OBJECT_ID = ROW_WAIT_OBJ#),ROW_WAIT_FILE#,ROW_WAIT_BLOCK#,ROW_WAIT_ROW#),A.ROW_WAIT_OBJ#,A.ROW_WAIT_FILE#,A.ROW_WAIT_BLOCK#,A.ROW_WAIT_ROW#,(SELECT D.OWNER || '.' || D.OBJECT_NAMEFROM DBA_OBJECTS DWHERE OBJECT_ID = ROW_WAIT_OBJ#) OBJECT_NAMEFROM V$SESSION AWHERE A.ROW_WAIT_OBJ# <> -1;SELECT * FROM SYS.COM$ A WHERE A.ROWID='AAAACJAABAAAARGAAA';---------------------- 删除主键及主键索引
--alter table table_name add constraint pk_id primary key(object_id);
alter table table_name drop primary key cascade drop index;
alter table table_name drop constraint constraint_name cascade drop index;--------------------------------------------------------- awr----- 生成awr
select * from table(dbms_workload_repository.awr_report_html(3424884828,1,1161,1165));
@$ORACLE_HOME/rdbms/admin/awrrpt.sql;----视图select * from DBA_HIST_WR_CONTROL;
select * from DBA_HIST_SNAPSHOT;
select * from DBA_HIST_ACTIVE_SESS_HISTORY;
select * from DBA_HIST_ASH_SNAPSHOT;select * from DBA_HIST_SEG_STAT;
select * from DBA_HIST_SQLBIND;
select * from DBA_HIST_SQLSTAT;
select * from DBA_HIST_SQLTEXT;
select * from DBA_HIST_SQL_BIND_METADATA;
select * from DBA_HIST_SQL_PLAN;--------- sql部分
select &begin_snap || '~' || &end_snap snap_id_range,(SELECT round(sum(db_time) / 1000000 / 60, 2) db_time_mFROM (select lead(a.value, 1, null) over(partition by b.startup_time order by b.end_interval_time) - a.value db_timefrom dba_hist_sys_time_model a, dba_hist_snapshot bwhere a.snap_id = b.snap_idand a.dbid = b.dbidand a.instance_number = b.instance_numberand a.stat_name = 'DB time'and a.snap_id between &begin_snap and &end_snap)where db_time IS NOT NULL) "db_time(m)",round(nvl((sqt.elap / 1000000), to_number(null)), 2) "Elapsed Time (s)",round(nvl((sqt.cput / 1000000), to_number(null)), 2) "CPU Time (s)",round(nvl((sqt.iowait_delta / 1000000), to_number(null)), 2) "User I/O Time (s)",round(nvl((sqt.buffer_gets_delta), to_number(null)), 2) "Buffer Gets",round(nvl((sqt.disk_reads_delta), to_number(null)), 2) "Physical Reads",round(nvl((sqt.rows_processed_delta), to_number(null)), 2) "Rows Processed",round(nvl((sqt.parse_calls_delta), to_number(null)), 2) "Parse Calls",sqt.exec executions,round(decode(sqt.exec,0,to_number(null),(sqt.elap / sqt.exec / 1000000)),2) "Elapsed Time per Exec (s)",round(decode(sqt.exec,0,to_number(null),(sqt.cput / sqt.exec / 1000000)),2) "CPU per Exec (s)",round(decode(sqt.exec,0,to_number(null),(sqt.iowait_delta / sqt.exec / 1000000)),2) "UIO per Exec (s)",round(sqt.cput * 100 / sqt.elap, 2) "%CPU",round(sqt.iowait_delta * 100 / sqt.elap, 2) "%IO",round(sqt.elap * 100 /(SELECT sum(db_time)FROM (select lead(a.value, 1, null) over(partition by b.startup_time order by b.end_interval_time) - a.value db_timefrom dba_hist_sys_time_model a, dba_hist_snapshot bwhere a.snap_id = b.snap_idand a.dbid = b.dbidand a.instance_number = b.instance_numberand a.stat_name = 'DB time'and a.snap_id between &begin_snap and &end_snap)where db_time IS NOT NULL),2) "elapsed/dbtime",sqt.sql_id,parsing_schema_name,(decode(sqt.module, null, null, sqt.module)) module,nvl((select dbms_lob.substr(st.sql_text, 2000, 1)from dba_hist_sqltext stWHERE st.sql_id = sqt.sql_idand st.dbid = sqt.dbid),(' ** SQL Text Not Available ** ')) sql_textfrom (select sql_id,a.dbid,a.parsing_schema_name,max(module || '--' || a.action) module,sum(elapsed_time_delta) elap,sum(cpu_time_delta) cput,sum(executions_delta) exec,SUM(a.iowait_delta) iowait_delta,sum(a.buffer_gets_delta) buffer_gets_delta,sum(a.disk_reads_delta) disk_reads_delta,sum(a.rows_processed_delta) rows_processed_delta,sum(a.parse_calls_delta) parse_calls_deltafrom dba_hist_sqlstat awhere &begin_snap < snap_idand snap_id <= &end_snapgroup by sql_id, parsing_schema_name, a.dbid) sqtorder by nvl(sqt.elap, -1) desc, sqt.sql_id
;---------  信息
select s.snap_date,snap_time_range,t.snap_id + 1 snap_id,decode(s.redosize, null, '--shutdown or end--', s.currtime) "TIME",startup_time,to_char(round(s.seconds / 60, 2)) "elapse(min)",round(t.db_time / 1000000 / 60, 2) "DB time(min)",s.redosize redo,round(s.redosize / s.seconds, 2) "redo/s",round(s.redosize / s.transactions, 2) "redo/t",s.logicalreads logical,round(s.logicalreads / s.seconds, 2) "logical/s",round(s.logicalreads / s.transactions, 2) "logical/t",physicalreads physical,round(s.physicalreads / s.seconds, 2) "phy/s",round(s.physicalreads / s.transactions, 2) "phy/t",s.executes execs,round(s.executes / s.seconds, 2) "execs/s",round(s.executes / s.transactions, 2) "execs/t",s.parse,round(s.parse / s.seconds, 2) "parse/s",round(s.parse / s.transactions, 2) "parse/t",s.hardparse,round(s.hardparse / s.seconds, 2) "hardparse/s",round(s.hardparse / s.transactions, 2) "hardparse/t",s.transactions trans,round(s.transactions / s.seconds, 2) "trans/s"from (select curr_redo - last_redo redosize,curr_logicalreads - last_logicalreads logicalreads,curr_physicalreads - last_physicalreads physicalreads,curr_executes - last_executes executes,curr_parse - last_parse parse,curr_hardparse - last_hardparse hardparse,curr_transactions - last_transactions transactions,round(((currtime + 0) - (lasttime + 0)) * 3600 * 24, 0) seconds,to_char(currtime, 'yyyy-mm-dd') snap_date,to_char(currtime, 'hh24:mi') currtime,to_char(lasttime, 'YYYY-MM-DD HH24:MI') || '~' ||to_char(currtime, 'YYYY-MM-DD HH24:MI') snap_time_range,currsnap_id endsnap_id,to_char(startup_time, 'yyyy-mm-dd hh24:mi:ss') startup_timefrom (select a.redo last_redo,a.logicalreads last_logicalreads,a.physicalreads last_physicalreads,a.executes last_executes,a.parse last_parse,a.hardparse last_hardparse,a.transactions last_transactions,lead(a.redo, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_redo,lead(a.logicalreads, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_logicalreads,lead(a.physicalreads, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_physicalreads,lead(a.executes, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_executes,lead(a.parse, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_parse,lead(a.hardparse, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_hardparse,lead(a.transactions, 1, null) over(partition by b.startup_time order by b.end_interval_time) curr_transactions,b.end_interval_time lasttime,lead(b.end_interval_time, 1, null) over(partition by b.startup_time order by b.end_interval_time) currtime,lead(b.snap_id, 1, null) over(partition by b.startup_time order by b.end_interval_time) currsnap_id,b.startup_timefrom (select snap_id,dbid,instance_number,sum(decode(stat_name, 'redo size', value, 0)) redo,sum(decode(stat_name,'session logical reads',value,0)) logicalreads,sum(decode(stat_name,'physical reads',value,0)) physicalreads,sum(decode(stat_name, 'execute count', value, 0)) executes,sum(decode(stat_name,'parse count (total)',value,0)) parse,sum(decode(stat_name,'parse count (hard)',value,0)) hardparse,sum(decode(stat_name,'user rollbacks',value,'user commits',value,0)) transactionsfrom dba_hist_sysstatwhere stat_name in('redo size','session logical reads','physical reads','execute count','user rollbacks','user commits','parse count (hard)','parse count (total)')group by snap_id, dbid, instance_number) a,dba_hist_snapshot bwhere a.snap_id = b.snap_idand a.dbid = b.dbidand a.instance_number = b.instance_numberorder by end_interval_time)) s,(select lead(a.value, 1, null) over(partition by b.startup_time order by b.end_interval_time) - a.value db_time,lead(b.snap_id, 1, null) over(partition by b.startup_time order by b.end_interval_time) endsnap_id,b.snap_idfrom dba_hist_sys_time_model a, dba_hist_snapshot bwhere a.snap_id = b.snap_idand a.dbid = b.dbidand a.instance_number = b.instance_numberand a.stat_name = 'DB time') twhere s.endsnap_id = t.endsnap_idorder by s.snap_date desc, snap_id desc, time asc;----主机信息SELECT s.snap_id,DB_NAME,s.dbid,INSTANCE_NAME,s.instance_number,s.startup_time,Version           Release,PARALLEL          RAC,HOST_NAME,di.platform_name,v.cpus            CPUS,v.cores,v.sockets,v.Memory          "Memory (GB)"
FROM   DBA_HIST_DATABASE_INSTANCE di,DBA_HIST_SNAPSHOT s,(SELECT snap_id,dbid,instance_number,SUM(CPUs) CPUs,SUM(Cores) Cores,SUM(Sockets) Sockets,SUM(Memory) MemoryFROM   (SELECT o.snap_id,o.dbid,o.instance_number,decode(o.stat_name, 'NUM_CPUS', o.value) CPUs,decode(o.stat_name, 'NUM_CPU_CORES', o.value) Cores,decode(o.stat_name, 'NUM_CPU_SOCKETS', o.value) Sockets,decode(o.stat_name,'PHYSICAL_MEMORY_BYTES',trunc(o.value / 1024 / 1024 / 1024, 2)) MemoryFROM   dba_hist_osstat oWHERE  o.stat_name IN('NUM_CPUS','NUM_CPU_CORES','NUM_CPU_SOCKETS','PHYSICAL_MEMORY_BYTES'))GROUP  BY snap_id,dbid,instance_number) v
WHERE  s.instance_number = di.instance_number
AND    s.startup_time = di.startup_time
AND    s.dbid = di.dbid
AND    s.snap_id = v.snap_id
AND    s.dbid = s.dbid
AND    s.instance_number = v.instance_number;------------------------------------------------------------------------------------------  临时表
基于事务: create global temporary table lhr.cgtt_temp_sw on commit delete rows as select * from dba_objects;
创建索引: create index ind_cgtt_object_ID on cgtt_temp_sw(object_ID);基于会话: create global temporary table lhr.cgtt_temp_hh on commit preserve rows as select * from dba_objects;
创建索引:需重开会话: create index ind_cgtt_object_ID2 on cgtt_temp_hh(object_ID);select * from VW_TEMP_OBJECT_LHR;Select se.username,se.sid,su.extents,(su.blocks *to_number((select rtrim(value)from v$parameter pWHERE p.NAME = 'db_block_size'))) / 1024 / 1024 as Size_m,tablespace,segtype,(SELECT a.SQL_TEXTFROM v$sql aWHERE a.SQL_ID = su.SQL_IDand rownum = 1) SQL_TEXTfrom v$sort_usage su, v$session sewhere su.session_addr = se.saddr order by se.username, se.sid;-------------------------------------- catalog库
SQL> create tablespace rman_ts datafile '/lhrdata/u01/app/oracle/oradata/orcllinux/rman.dbf' size 1G;
表空间已创建。
SQL> create user rc identified by lhr default tablespace rman_ts quota unlimited on rman_ts;
用户已创建。
SQL> grant recovery_catalog_owner to rc;---包含了connect的角色权限
授权成功。
SQL> grant RESOURCE to rc;
授权成功。
SQL> HOST
[oracle@lhr_linux ~]$ rman catalog rc/lhr
恢复管理器: Release 11.2.0.1.0 - Production on 星期四 4月 10 15:08:22 2014
Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.
连接到恢复目录数据库
RMAN> create catalog tablespace rman_ts;
恢复目录已创建
RMAN> connect target /
连接到目标数据库: ORCLLINU (DBID=534927627)
RMAN> register database;
注册在恢复目录中的数据库
正在启动全部恢复目录的 resync
完成全部 resync
RMAN> exit----中央目录
oraInventory目录的位置是由oraInst.loc文件决定的:
AIX和Linux平台:/etc/oraInst.loc
/oracle/app/oraInventory/ContentsXML/inventory.xml
oracle执行:$ORACLE_HOME/oui/bin/attachHome.sh
步骤1:添加GI_HOME:
./runInstaller -silent -ignoreSysPrereqs -attachHome  ORACLE_HOME="/u01/app/11.2.0/grid" ORACLE_HOME_NAME="OraGI11Home1"  CLUSTER_NODES=test1,test2 CRS=true  "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=test1
步骤2:添加RDBMS_HOME:
$./runInstaller -silent -ignoreSysPrereqs -attachHome  ORACLE_HOME="/u02/app/oracle/product/11.2.0/db_1" ORACLE_HOME_NAME="OraDB11Home1"  CLUSTER_NODES=test1,test2 CRS=true  "INVENTORY_LOCATION=/u01/app/oraInventory" LOCAL_NODE=test1-------------------------------------------- 卸载软件 GRID
kill -9 `ps -ef|grep d.bin| grep -v grep | awk '{print $2}'`卸载GRID软件,grid用户执行:$ORACLE_HOME/deinstall/deinstall
卸载ORACLE软件,oracle用户执行:$ORACLE_HOME/deinstall/deinstall在Linux下手工卸载RAC的步骤:
① rm -rf /etc/ora*
② rm -rf /var/tmp/.oracle
③ 修改/etc/inittab删除以下三行h1:2:respawn:/etc/init.evmd run >/dev/null 2>&1 </dev/null h2:2:respawn:/etc/init.cssd fatal >/dev/null 2>&1 </dev/null h3:2:respawn:/etc/init.crsd run >/dev/null 2>&1 </dev/null
④ rm -rf /tmp/*
⑤ rm -rf /u01/app/grid/*    ---删除GRID目录
⑥ rm -rf /u01/app/oracle/*  --删除ORACLE目录
⑦ rm -rf /u01/app/oraInventory/*
⑧ 清除OCR、Voting及数据库使用过的磁盘dd if=/dev/zero of=/dev/raw/raw1 bs=104857600 count=1dd if=/dev/zero of=/dev/raw/raw2 bs=104857600 count=1
最后,重启2个节点*/-------重建路径
mkdir -p /u01/app/oracle
mkdir -p /u01/app/grid
mkdir -p /u01/app/12.1.0/grid
mkdir -p /u01/app/oracle/product/12.1.0/dbhome_1
chown -R grid:oinstall /u01/app/grid
chown -R grid:oinstall /u01/app/12.1.0
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01mkdir -p /u01/app/oraInventory
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory在Windows下手工卸载RAC的步骤:
① 开始->设置->控制面板->管理工具->服务,或运行services.msc打开服务,停止所有Oracle服务
② 删除Oracle和GRID的安装目录
③ 删除C:\Program Files\Oracle目录
④ 删除C:\windows\temp和C:\temp以及C:\Users\Administrator\Oracle下的文件
⑤ 运行regedit,打开注册表编辑器,选择HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE,删除该项
⑥ 运行regedit,打开注册表编辑器,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services,滚动这个列表,删除所有Oracle开头的项
⑦ 运行regedit,打开注册表编辑器,选择HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application,删除所有Oracle入口
⑧ 开始->设置->控制面板->系统->高级->环境变量,删除环境变量CLASSPATH和PATH中有关Oracle的设定
⑨ 从桌面上、STARTUP(启动)组、程序菜单中,删除所有有关Oracle的组和图标
⑩ 重新启动计算机,重起后才能完全删除Oracle所在目录
若个别文件不能删除,则说明该文件与某个Windows服务相关联,可以先把相关联的服务停止后再删除。----------------- 加入常用命令
vi /etc/profile
export GRID_HOME=/u01/app/12.1.0/grid
export ORACLE_HOME=/u01/app/12.1.0/grid
export PATH=$PATH:$GRID_HOME/bin===================================rac中重新运行root.sh脚本===================================================
需要注意的是,多数以pl结尾的脚本从12.1.0.2开始都变为了sh脚本,例如:rootcrs.pl需要修改为rootcrs.sh
In 12.1.0.2, rootcrs.sh/roothas.sh should be used instead of rootcrs.pl/roothas.pl# OCR备份,物理和逻辑都进行备份
ocrconfig -export /tmp/export_asm_lhr_logical.bak
ocrconfig -manualbackup
ocrconfig -showbackup
ocrconfig -copy +MGMT:/raclhr-cluster/OCRBACKUP/backup_20190822_085506.ocr.285.1016960109 /tmp/export_asm_lhr_physical.bak #从12.2开始的OCR物理备份默认放在MGMT磁盘组,建议单独cp到FS中
cp /u01/app/11.2.0/grid/cdata/raclhr-cluster/backup_20190822_111554.ocr /tmp/export_asm_lhr_physical.bak
#手动对集群相关资源进行备份,包括新增的db、监听、service等----------------- 日志地址
---11g、12.1.0.2、
日志地址:$ORACLE_HOME/cfgtoollogs/crsconfig/
重置的日志文件:hadelete.log
root.sh脚本日志:rootcrs_rac2.log---18c
18c的日志地址:$ORACLE_HOME/install/
18c的详细日志地址:/u01/app/grid/crsdata/raclhr-18c-n1/crsconfig/
重置的日志文件:crsdeconfig_raclhr-18c-n1_2019-08-21_11-21-45AM.log
root.sh脚本日志:rootcrs_raclhr-18c-n1_2019-08-21_11-15-48AM.logexport GRID_HOME=$ORACLE_HOME
# 查询ASM磁盘
$GRID_HOME/bin/kfod disks=asm  st=true ds=true cluster=true
# /grid/stage/ext/bin/kfod disks=asm  st=true ds=true cluster=true#root用户重新执行root.sh,配置文件:$ORACLE_HOME/crs/install/crsconfig_params
crsctl stop crs -f
#kill -9 `ps -ef|grep d.bin| grep -v grep | awk '{print $2}'`
export GRID_HOME=$ORACLE_HOME
$GRID_HOME/crs/install/rootcrs.pl -deconfig -force -verbose
$GRID_HOME/crs/install/rootcrs.pl -deconfig -force -verbose -lastnode -keepdg
#find $ORACLE_HOME/gpnp/* -type f -exec rm -rf {} \;
dd if=/dev/zero of=/dev/rhdiskN bs=1024k count=100  --清理磁盘头
#查看磁盘是否有内容
#AIX用:lquerypv -h  /dev/rhdisk5
#linux用:hexdump /dev/sdb ,例如:hexdump -n 1024 -C /dev/sdb1#保证集群完全关闭,最好重启OS,检查网络情况,是否有cvuqdisk
#find /u01 -name cvuqdisk*
#rpm -qa cvuqdisk
#rpm -ivh $GRID_HOME/cv/rpm/cvuqdisk-*.rpm
#检查配置文件($ORACLE_HOME/crs/install/crsconfig_params)是否需要修改,18c可以去掉MGMTDB
$GRID_HOME/root.sh  #若出现错误,则在解决错误后可以重复执行,不需要先deconfig#也可以图形化界面使用GRID配置
#export DISPLAY=192.168.59.1:0.0
#$ORACLE_HOME/crs/config/config.sh-----------------------------------------------------
--- 对于18c,需要注意:
#若MGMTDB不需要重复创建,则可以修改配置文件
#配置文件($ORACLE_HOME/crs/install/crsconfig_params)修改以下内容的值为空:MGMT_DB=
GIMR_CONFIG=CDATA_BACKUP_DISK_GROUP=
CDATA_BACKUP_FAILURE_GROUPS=
CDATA_BACKUP_QUORUM_GROUPS=
CDATA_BACKUP_DISKS=
CDATA_BACKUP_REDUNDANCY=
CDATA_BACKUP_AUSIZE=
CDATA_BACKUP_SITES=
CDATA_BACKUP_SIZE=
-----------------------------------------------------# OCR恢复
crsctl stop crs
crsctl start crs -excl -nocrs
#crsctl stop resource ora.crsd -init
ocrconfig -import /tmp/export_asm_lhr_logical.bak  #逻辑备份恢复
#ocrconfig -restore /tmp/export_asm_lhr_physical.bak  #物理备份恢复
crsctl stop crs
crsctl start crs===============================================================================================================CRS-4124: Oracle High Availability Services startup failed. -- 报错
CRS-4000: Command Start failed, or completed with errors.
ohasd failed to start: Inappropriate ioctl for device
ohasd failed to start: Inappropriate ioctl for device at /u01/app/11.2.0/grid/crs/install/roothas.pl line 296.
/bin/dd if=/var/tmp/.oracle/npohasd of=/dev/null bs=1024 count=1/nfs/software/db/install/clone/sh/11g/grid/runcluvfy.sh stage -pre crsinst -n ZFLHRDB1,ZFLHRDB2 -verbose -fixup$ORACLE_HOME/bin/cluvfy stage  -pre crsinst -n all  -verbose -fixup
$ORACLE_HOME/bin/cluvfy stage  -pre crsinst -n all -r 11gR2 -verbose -fixupfind . -name runcluvfy.sh---GRID_HOME权限修复
----模拟误操作
getfacl -pR /u01/app  > /tmp/bk_lhr_perm_u01_rac1.txt
./permission.pl /u01/app
ocrconfig -export /tmp/export_asm_lhr.bakchown -R oracle.oinstall /u01
chmod -R 444 /u01
kill -9 `ps -ef|grep d.bin| grep -v grep | awk '{print $2}'`Linux环境中还可以通过getfacl和setfacl来进行操作:
--备份
getfacl -pR /u01/app  > /tmp/bk_lhr_perm_u01_rac1.txt
--恢复
chmod -R 775 /u01  #取决于误操作是否有chmod操作
setfacl --restore=/tmp/bk_lhr_perm_u01_rac1.txt---替换脚本中的主机名,注意大小写
:%s/raclhr-11gr2-n1/raclhr-11gr2-n2/g
:%s/raclhr-11gR2-N1/raclhr-11gR2-N2/g--备份
./permission.pl /u01/app
--恢复
chmod -R 775 /u01  #取决于误操作是否有chmod操作
./restore-perm-<time stamp>.cmd---替换脚本中的主机名,注意大小写
:%s/raclhr-11gr2-n1/raclhr-11gr2-n2/g
:%s/raclhr-11gR2-N1/raclhr-11gR2-N2/g---用于单纯$GRID_HOME出现问题
#需要注意的是,多数以pl结尾的脚本从12.1.0.2开始都变为了sh脚本,例如:rootcrs.pl需要修改为rootcrs.sh
$ORACLE_HOME/crs/install/rootcrs.pl -init
$ORACLE_HOME/crs/install/rootcrs.pl -unlock
$ORACLE_HOME/crs/install/rootcrs.pl -patch从安装过程来恢复:
#需要注意的是,多数以pl结尾的脚本从12.1.0.2开始都变为了sh脚本,例如:rootcrs.pl需要修改为rootcrs.sh
chown -R grid:oinstall /u01
chown -R oracle:oinstall /u01/app/oracle
chmod -R 775 /u01/
chown -R grid:oinstall /u01/app/oraInventory
chmod -R 775 /u01/app/oraInventory
chmod 6751 /u01/app/11.2.0/grid/bin/oracle
chmod 6751 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
$ORACLE_HOME/crs/install/rootcrs.pl -init
#$ORACLE_HOME/crs/install/rootcrs.pl -unlock
#$ORACLE_HOME/crs/install/rootcrs.pl -patch如果可执行文件$ORACLE_HOME/bin/oracle的属主或权限设定出了问题,那么可能会造成很多问题。例如:无法登陆到数据库、ora-600错误、“TNS-12518: TNS:listener could not hand off client connection”、“Linux Error: 32: Broken pipe”、“ORA-12537: TNS:connection closed”、访问ASM磁盘出错等。解决办法很简单,可以在grid用户下运行setasmgidwrap命令重新配置$ORACLE_HOME/bin/oracle可执行文件的权限和属主或者直接将oracle文件的权限修改为6751。$ORACLE_HOME/bin/oracle可执行文件正确属主应该是oracle:asmadmin,并且权限必须有s共享才可以,如下所示:
[root@orcltest ~]$ which setasmgidwrap
/u01/app/11.2.0/grid/bin/setasmgidwrap
[root@orcltest ~]$ setasmgidwrap -o /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orcltest ~]$ ll /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
-rwsr-s--x 1 oracle asmadmin 232399083 Apr 21  2015 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orcltest ~]# ll /u01/app/11.2.0/grid/bin/oracle
-rwsr-s--x. 1 grid oinstall 203972117 Jan  5  2015 /u01/app/11.2.0/grid/bin/oracle
[root@orcltest ~]# chmod 6751 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orcltest ~]# ll /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
-rwsr-s--x 1 oracle asmadmin 232399083 Apr 21  2015 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
[root@orcltest bin]# cd /u01/app/oracle/product/11.2.0/dbhome_1/bin/
[root@orcltest bin]# which stat
/usr/bin/stat
[root@orcltest bin]# stat oracleFile: `oracle'Size: 210823844       Blocks: 411776     IO Block: 4096   regular file
Device: 802h/2050d      Inode: 1717737     Links: 1
Access: (6751/-rwsr-s--x)  Uid: (  501/  oracle)   Gid: (  504/asmadmin)
Access: 2017-03-16 12:33:44.809363974 +0800
Modify: 2014-05-18 17:09:50.508549983 +0800
Change: 2017-03-16 11:05:15.733816820 +0800---查看psu
/nfs/software/db/install/chk/chkora.sh
opatch lsinventory -bugs_fixed | grep 'PSU'
opatch lsinv
[ZFCASSDB1:grid]:/home/grid>opatch lspatches
13343438;Database Patch Set Update : 11.2.0.3.1 (13343438)
13348650;Grid Infrastructure Patch Set Update : 11.2.0.3.1 (13348650)
[ZFCASSDB1:grid]:/home/grid>col action_time   for a30
col action       for a10
col namespace     for a10
col version       for a10
col bundle_series for a10
col comments    for a30SELECT to_char(action_time, 'YYYY-MM-DD HH24:MI:SS') action_time,action,namespace,version,id,bundle_series,commentsFROM dba_registry_history D;select action,comments from registry$history;---grid和oracle分别回滚
$ORACLE_HOME/OPatch/opatch rollback -local -id 13348650 -oh /oracle/app/oracle/product/11.2.0/db----------------------------- OCR备份
--逻辑备份恢复
ocrconfig -export /oracle/app/11.2.0/grid/cdata/ZFTPCCDB-crs/export_asm.bak
ocrconfig -import /oracle/app/11.2.0/grid/cdata/ZFTPCCDB-crs/export_asm_lhr.bak
crsctl stop crs
crsctl start crs -excl -nocrs
#crsctl stop resource ora.crsd -init
ocrconfig -import /oracle/app/11.2.0/grid/cdata/ZFTPCCDB-crs/export_asm_lhr.bak
crsctl start crs--物理备份恢复
ocrconfig -manualbackup
ocrconfig -showbackupcluvfy comp ocr -n all -verbose
cluvfy comp olr -verbosecrsctl stop crs -f
crsctl start crs -excl -nocrs
crsctl stop resource ora.crsd -init
ocrconfig -restore /oracle/app/11.2.0/grid/cdata/ZFTPCCDB-crs/backup_20160701_152358.ocr
crsctl stop has -f
crsctl start crscrsctl query css votedisk--------dd备份恢复OCR 注:11g不推荐使用dd来进行备份恢复,盘头一般是前4K
--备份表决磁盘:
dd if=/dev/raw/raw3 of=/tmp/votedisk_lhr.bak bs=1024k count=4
--恢复表决磁盘:
dd if=/tmp/votedisk_lhr.bak of=/dev/raw/raw3 bs=1024k count=4----------kfed修复磁盘头
dd if=/dev/rhdisk2 of=/asm_rhdisk2_dd.bak bs=1024 count=4
dd if=/dev/zero of=/dev/rhdisk2 bs=1024 count=4
kfed repair /dev/rhdisk2----md_backup修复磁盘头
asmcmd md_backup /oracle/app/11.2.0/grid/cdata/ZFTPCCDB-crs/asm_md_backup.bak
asmcmd md_restore /oracle/app/11.2.0/grid/cdata/ZFTPCCDB-crs/asm_md_backup.bakdd if=/dev/rhdisk2 of=/asm_rhdisk2_dd.bak bs=1024k count=4
dd if=/dev/zero of=/dev/rhdisk2 bs=1024k count=4
crsctl stop has -f
crsctl start has
ASMCMD [+] > startup force nomount;
ASMCMD [+] > md_restore /asm_rhdisk2_dd.bakASMCMD [+] > md_backup /rman/asm_md.bak
dd if=/dev/zero  of=/dev/rhdisk2 bs=1024 count=4
crsctl stop has -f
crsctl start has
ASMCMD [+] > startup force nomount;
ASMCMD [+] > md_restore /rman/asm_md.bak-------- OLR的备份恢复
<GI_HOME>/bin/ocrconfig -local -manualbackup
<GI_HOME>/bin/ocrconfig -local -showbackupps -ef| grep ohasd.bin
<GI_HOME>/bin/crsctl stop crs -f  <========= for GI Cluster
<GI_HOME>/bin/crsctl stop has  <========= for GI Standalone
<GI_HOME>/bin/ocrconfig -local -restore <olr-backup>
<GI_HOME>/bin/crsctl start crs   <========= for GI Cluster
<GI_HOME>/bin/crsctl start has  <========= for GI Standalone, this must be done as grid user.vi crsstat_lhr.sh
awk  'BEGIN {printf "%-26s %-26s %-10s %-10s %-10s \n","Name                                    ","Type                      ","Target    ","State     ","Host      "; printf "%-30s %-26s %-10s %-10s %-10s\n","----------------------------------------","--------------------------","----------", "---------","----------";}'
crs_stat | awk 'BEGIN { FS="=| ";state = 0;}  $1~/NAME/ {appname = $2; state=1};  state == 0 {next;}  $1~/TYPE/ && state == 1 {apptype = $2; state=2;} $1~/TARGET/ && state == 2 {apptarget = $2; state=3;} $1~/STATE/ && state == 3 {appstate = $2; apphost = $4; state=4;} state == 4 {printf "%-40s %-26s %-10s %-10s %-10s\n", appname,apptype,apptarget,appstate,apphost; state=0;}'--------------------------------------------------------------  OEM--卸载
emca -deconfig dbcontrol db -repos drop--重建:
单机: emca -config dbcontrol db -repos recreate
集群: emca -config dbcontrol db -repos  recreate  -clusterhttp://192.168.59.130:1158/em/
https://192.168.59.128:1158/em/日志:
$ORACLE_HOME/$hostname_$oracle_sid/sysman/log4.安装过程中出现问题的时候认真查看日志,安装日志路径:$ORACLE_HOME/cfgtoollogs/emca/
5.OEM运行日志:$ORACLE_HOME/$hostname_$oracle_sid/sysman/log
6.建议重新创建,在oracle用户下:
单机: emca -config dbcontrol db -repos recreate
集群: emca -config dbcontrol db -repos recreate -cluster
若是集群环境,则在创建之前先在grid用户下执行如下代码:
-----sqlplus / as sysasm ASM实例 GRID 用户下执行
SYS@+ASM1> create user asmsnmp identified by xxx;
SYS@+ASM1> grant sysdba to asmsnmp;
SYS@+ASM1> alter user asmsnmp identified by xxx;
SYS@+ASM1> alter system set remote_listener='(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=ZFZHLHRDB-scan)(PORT=1521))))' sid='*';SYS@+ASM1> alter system register;
7.启动和关闭维护命令,oracle用户下:export ORACLE_UNQNAME=$DB_UNIQUE_NAME ,数据库唯一名,进程:ps -ef| grep em
启动: emctl stop dbconsole
关闭: emctl stop dbconsole
运行状态:emctl status dbconsole--------------------------------------------  dbca 静默建库   windows 和 linux 命令一样------归档
vi $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc修改为:<archiveLogMode>true</archiveLogMode>[oracle@rhel6_lhr ~]$ strings $ORACLE_HOME/assistants/dbca/templates/General_Purpose.dbc | grep -i arch<archiveLogMode>false</archiveLogMode>--------------响应文件的位置
--root用户下执行: find -name *.rsp  /
1、创建数据库的响应文件:$ORACLE_HOME/assistants/dbca/dbca.rsp例如:/u01/app/oracle/product/11.2.0/dbhome_1/assistants/dbca/dbca.rsp
2、创建监听的响应文件:$ORACLE_HOME/assistants/netca/netca.rsp例如:/u01/app/oracle/product/11.2.0/dbhome_1/assistants/netca/netca.rsp
3、安装数据库软件的响应文件:①安装完成之后:$ORACLE_HOME/inventory/response/db_install.rsp 例如:/u01/app/oracle/product/11.2.0/dbhome_1/inventory/response/db_install.rsp②安装之前:解压后的文件夹/response/db_install.rsp③18c安装之前:$ORACLE_HOME/install/response/db_install.rsp4、安装GRID软件的响应文件: ①安装完成之后: $GRID_HOME/inventory/response/grid_install.rsp例如:/u01/app/grid/11.2.0/inventory/response/grid_install.rsp②安装之前:解压后的文件夹/response/grid_install.rsp③18c安装之前:$GRID_HOME/install/response/gridsetup.rsp----静默安装数据库日志路径:
11g开始:$ORACLE_BASE/cfgtoollogs/dbca
10g:$ORACLE_HOME/cfgtoollogs/dbca---dbca -silent整理  \ 后不能包含空格
dbca -silent -deleteDatabase -sourceDB mydb
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname mydb  -sid mydb \
-sysPassword oracle -systemPassword oracle \
-datafileDestination 'DATA/' -recoveryAreaDestination 'DATA/' \
-redoLogFileSize 50 \
-storageType ASM -asmsnmpPassword oracle  -diskGroupName 'DATA' \
-characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-automaticMemoryManagement true -totalMemory 600 \
-databaseType OLTP  \
-emConfiguration NONE \
-nodeinfo ZFZHLHRDB1,ZFZHLHRDB2dbca -silent -deleteDatabase -sourceDB mydb
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname mydb  -sid mydb \
-sysPassword oracle -systemPassword oracle \
-datafileDestination '/u01/app/oracle/oradata' \
-recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset AL32UTF8 -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-memoryPercentage 10 \
-databaseType OLTP  \
-emConfiguration NONE---10g
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname mydg  -sid mydg \
-sysPassword lhr -systemPassword lhr \
-datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/oradata' \
-storageType FS \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-memoryPercentage 20 \
-databaseType OLTP  \
-emConfiguration NONE--12C 非CDB
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname oradb.example.com -sid oradb -responseFile NO_VALUE -characterSet AL32UTF8 -memoryPercentage 30 -emConfiguration NONE
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname lhrdb  -sid lhrdb \
-createAsContainerDatabase false \
-sysPassword lhr -systemPassword lhr \
-datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \
-storageType FS \
-redoLogFileSize 50 \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-memoryPercentage 30 \
-databaseType OLTP  \
-emConfiguration NONE--12C rac
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname lhrrac  -sid lhrrac \
-createAsContainerDatabase false \
-sysPassword lhr -systemPassword lhr \
-datafileDestination 'DATA/' -recoveryAreaDestination 'FRA/' \
-storageType ASM -asmsnmpPassword oracle  -diskGroupName 'DATA' \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-redoLogFileSize 50 \
-sampleSchema true \
-memoryPercentage 30 \
-databaseType OLTP  \
-emConfiguration NONE  \
-nodeinfo raclhr-12cR1-N1,raclhr-12cR1-N2--12C 创建CDB
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname CDBLHR  -sid CDBLHR \
-createAsContainerDatabase TRUE \
-sysPassword lhr -systemPassword lhr \
-datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 1024 \
-databaseType OLTP  \
-emConfiguration NONEcreate pluggable database PDBLHR1 admin user lhr identified by lhr  ROLES = (dba) file_name_convert=('/u04/oradata/CDBLHR/pdbseed/','/u04/oradata/CDBLHR/PDBLHR1/')   PATH_PREFIX = '/u04/oradata/CDBLHR/PDBLHR1/';create pluggable database PDBLHR1 admin user lhr identified by lhr  ROLES = (dba);create pluggable database PDBLHR1 admin user lhr identified by lhr  file_name_convert=('+DATA','+DATA/TEST18C/PDBPROD3/')   PATH_PREFIX = '+DATA/TEST18C/PDBPROD3/';--18C 创建DB
dbca -silent -ignorePreReqs  -ignorePrereqFailure  -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname CDBLHR  -sid CDBLHR \
-createAsContainerDatabase TRUE \
-sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \
-datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset AL32UTF8 \
-sampleSchema true \
-totalMemory 2048 \
-databaseType MULTIPURPOSE  \
-emConfiguration NONEcreate pluggable database PDBLHR1 admin user lhr identified by lhr;
create pluggable database PDBLHR1 admin user lhr identified by lhr CREATE_FILE_DEST = '+DATA';
create pluggable database PDBLHR1 admin user lhr identified by lhr CREATE_FILE_DEST = '/u01/app/oracle/oradata';create pluggable database PDBLHR1 admin user lhr identified by lhr  ROLES = (dba);create pluggable database PDBLHR1 admin user lhr identified by lhr  ROLES = (dba) file_name_convert=('/u01/app/oracle/oradata/CDBLHR/pdbseed/','/u01/app/oracle/oradata/CDBLHR/PDBLHR1')   PATH_PREFIX = '/u01/app/oracle/oradata/CDBLHR/PDBLHR1';create pluggable database PDBLHR1 admin user lhr identified by lhr  file_name_convert=('+DATA','+DATA/TEST18C/PDBPROD3')   PATH_PREFIX = '+DATA/TEST18C/PDBPROD3';alter pluggable database PDBPROD3 close;
drop pluggable database PDBPROD3 including datafiles;col name format a160
select con_id,name from v$datafile order by con_id;--18C 创建DB  RAC
dbca -silent -ignorePreReqs  -ignorePrereqFailure  -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname rac18c  -sid rac18c \
-createAsContainerDatabase TRUE \
-sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \
-datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \
-redoLogFileSize 50 \
-storageType ASM \
-characterset AL32UTF8 \
-sampleSchema true \
-totalMemory 1024 \
-databaseType MULTIPURPOSE  \
-emConfiguration NONE \
-nodeinfo raclhr-18c-n1,raclhr-18c-n2#必须先设置参数PDB_FILE_NAME_CONVERT或db_create_file_dest的值。
#alter session set PDB_FILE_NAME_CONVERT='/u01/app/oracle/oradata/CDBLHR/pdbseed/','/u01/app/oracle/oradata/CDBLHR/PDBLHR1/';
create pluggable database PDBLHR1 admin user lhr identified by lhr;
或:
create pluggable database PDBLHR1 admin user lhr identified by lhr CREATE_FILE_DEST = '/u01/app/oracle/oradata';
create pluggable database PDBLHR1 admin user lhr identified by lhr  ROLES = (dba) file_name_convert=('/u01/app/oracle/oradata/CDBLHR/pdbseed/','/u01/app/oracle/oradata/CDBLHR/PDBLHR1/') ;------------------------------------------------------------------------------------
------------------------------------------ 18c开始
--18C 创建DB
dbca -silent -createDatabase \
-gdbName lhr18c \
-sid lhr18c \
-sysPassword lhr -systemPassword lhr \
-databaseConfigType SI \
-createAsContainerDatabase false \
-useLocalUndoForPDBs true \
-templateName /u08/app/oracle/product/18.0.0/dbhome_1/assistants/dbca/templates/General_Purpose.dbc \
-dvConfiguration false \
-olsConfiguration false \
-datafileJarLocation /u08/app/oracle/product/18.0.0/dbhome_1/assistants/dbca/templates/ \
-datafileDestination /u08/app/oracle/oradata/lhr18c/ \
-recoveryAreaDestination /u08/app/oracle/fast_recovery_area/lhr18c \
-storageType FS \
-registerWithDirService false \
-variables ORACLE_BASE_HOME=/u08/app/oracle/product/18.0.0/dbhome_1,DB_UNIQUE_NAME=lhr18c,ORACLE_BASE=/u08/app/oracle,PDB_NAME=,DB_NAME=lhr18c,ORACLE_HOME=/u08/app/oracle/produ-ct/18.0.0/dbhome_1,SID=lhr18c \
-initParams undo_tablespace=UNDOTBS1,db_block_size=8KB,diagnostic_dest=/u08/app/oracle,remote_login_passwordfile=EXCLUSIVE,db_create_file_dest=/u08/app/oracle/oradata/lhr18c/,au-dit_file_dest=/u08/app/oracle/admin/lhr18c/adump,processes=300,memory_target=529MB,db_recovery_file_dest_size=8106MB,open_cursors=300,compatible=18.0.0,db_name=lhr18c,db_recovery_file_dest=/u08/app/oracle/fast_recovery_area/lhr18c,audit_trail=db \
-sampleSchema TRUE \
-databaseType MULTIPURPOSE \
-automaticMemoryManagement true \
-totalMemory 529 \
-emConfiguration NONE静默删库:
dbca -silent -deleteDatabase -sourceDB lhr18cdb -sysDBAUserName sys -sysDBAPassword lhr -forceArchiveLogDeletion
存储为磁盘组的CDB单实例:
dbca -silent -ignorePreReqs  -ignorePrereqFailure  -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname lhr18cdb  -sid lhr18cdb \
-createAsContainerDatabase TRUE \
-sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \
-datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \
-redoLogFileSize 50 \
-storageType ASM \
-characterset AL32UTF8 \
-sampleSchema true \
-totalMemory 1024 \
-databaseType MULTIPURPOSE \
-emConfiguration NONE
静默创建rac类型的CDB数据库:
dbca -silent -ignorePreReqs  -ignorePrereqFailure  -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname rac18c  -sid rac18c \
-createAsContainerDatabase TRUE \
-sysPassword lhr -systemPassword lhr -pdbAdminPassword lhr -dbsnmpPassword lhr \
-datafileDestination '+DATA' -recoveryAreaDestination '+FRA' \
-redoLogFileSize 50 \
-storageType ASM \
-characterset AL32UTF8 \
-sampleSchema true \
-totalMemory 1024 \
-databaseType MULTIPURPOSE \
-emConfiguration none \
-nodeinfo raclhr-18c-n1,raclhr-18c-n2
静默方式创建FS存储方式的单实例:
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname CDBLHR  -sid CDBLHR \
-createAsContainerDatabase TRUE \
-sysPassword lhr -systemPassword lhr \
-datafileDestination '/u01/app/oracle/oradata' \
-recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 1024 \
-databaseType OLTP  \
-emConfiguration NONE
静默方式创建FS存储方式的单实例(含一个PDB):
dbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname CDBLHR3  -sid CDBLHR3 \
-createAsContainerDatabase TRUE \
-numberOfPDBs 1 \
-pdbName pdb2 \
-pdbAdminPassword lhr \
-sysPassword lhr -systemPassword lhr \
-datafileDestination '/u01/app/oracle/oradata' \
-recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \
-redoLogFileSize 50 \
-storageType FS \
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 \
-sampleSchema true \
-totalMemory 1024 \
-databaseType OLTP  \
-emConfiguration NONE
静默方式创建一个非CDB:
dbca -silent -ignorePreReqs  -ignorePrereqFailure  -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE \
-gdbname lhrdb  -sid lhrdb \
-createAsContainerDatabase FALSE \
-sysPassword lhr -systemPassword lhr -dbsnmpPassword lhr \
-datafileDestination '/u01/app/oracle/oradata' -recoveryAreaDestination '/u01/app/oracle/flash_recovery_area' \
-storageType FS \
-characterset ZHS16GBK \
-sampleSchema true \
-totalMemory 600 \
-databaseType MULTIPURPOSE \
-emConfiguration NONE
-------------------------------------------------------------
---------------------------------------------------------------11g
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -sysPassword lhr -systemPassword lhr -responseFile NO_VALUE -datafileDestination /u01/app/oracle/oradata -redoLogFileSize 50 -recoveryAreaDestination /u01/app/oracle/flash_recovery_area -storageType FS -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -totalMemory 200 -databaseType OLTP -emConfiguration NONE  -automaticMemoryManagement true
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -responseFile NO_VALUE -datafileDestination /u01/app/oracle/oradata -characterSet AL32UTF8----ASM 存储 单实例
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -sysPassword lhr -systemPassword lhr -responseFile NO_VALUE -datafileDestination 'DATA/' -redoLogFileSize 50 -recoveryAreaDestination 'TEST/' -storageType ASM -asmsnmpPassword lhr  -diskGroupName 'DATA'  -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30 -totalMemory 200 -databaseType OLTP -emConfiguration NONE -automaticMemoryManagement true---默认
--- 闪回恢复区 创建
--storageType  FS
--sampleSchema  默认创建
--em 默认不创建--10g
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname ora11g -sid ora11g -sysPassword lhr -systemPassword lhr -responseFile NO_VALUE -datafileDestination /u01/app/oracle/oradata -recoveryAreaDestination /u01/app/oracle/flash_recovery_area -storageType FS -characterSet ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -memoryPercentage 30  -databaseType OLTP -emConfiguration NONE----------------根据模板文件进行安装
dbca -silent -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp
dbca -silent -cloneTemplate -responseFile $ORACLE_HOME/assistants/dbca/dbca.rsp  -gdbName orcltest -sid orcltest -datafileDestination /u01/app/oracle/oradata  -------------------- 根据数据库生成不带数据文件的模板
dbca -silent -createTemplateFromDB -sourceDB 192.168.59.130:1521:ora10g -templateName dbtemplate_ora10g2_lhr -sysDBAUserName sys -sysDBAPassword lhr-------------------- 根据数据库生成带数据文件的模板
dbca -silent -createCloneTemplate -sourceDB orcltest -sysDBAUserName lhr -sysDBAPassword lhr -templateName dbtemplate_orcltest_lhr -datafileJarLocation
-------------------- 利用带数据文件的模板生成克隆数据库
dbca -silent -createDatabase -templateName dbtemplate_orcltest_lhr.dbc -gdbname orcl22 -sid orcl22  -sysPassword lhr -systemPassword lhr -datafileJarLocation $ORACLE_HOME/assistants/dbca/templates -datafileDestination /u01/app/oracle/oradata -responseFile NO_VALUE -characterset ZHS16GBK-------------------- 利用不带数据文件的模板生成新的数据库  慢,不推荐
----dbca -silent -createDatabase -templateName New_Database.dbt -gdbname test33 -sid test33 -datafileDestination /u01/app/oracle/oradata -responseFile NO_VALUE -characterset ZHS16GBK----------------  删除数据库
dbca -silent -deleteDatabase -sourceDB orclbb -sysDBAUserName sys -sysDBAPassword lhr
dbca -silent -deleteDatabase -sourceDB rac18c -sysDBAUserName sys -sysDBAPassword lhr -forceArchiveLogDeletion------------- linux、AIX下 rac 数据库的创建
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname jmrac  -sid jmrac -sysPassword lhr -systemPassword lhr -datafileDestination 'DATA/' -redoLogFileSize 50 -recoveryAreaDestination 'ARCH/' -storageType ASM -asmsnmpPassword lhr  -diskGroupName 'DATA' -responseFile NO_VALUE -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -automaticMemoryManagement true -totalMemory 500  -nodeinfo node1,node2----windows下创建rac库,注意参数 diskGroupName 为 DATA ,不能带有引号
dbca -silent -createDatabase -templateName General_Purpose.dbc -gdbname winrac  -sid winrac -sysPassword lhr -systemPassword lhr -datafileDestination 'DATA/' -redoLogFileSize 50 -recoveryAreaDestination 'FRA/' -storageType ASM -asmsnmpPassword lhr  -diskGroupName DATA -responseFile NO_VALUE -characterset ZHS16GBK -nationalCharacterSet AL16UTF16 -sampleSchema true -automaticMemoryManagement true -totalMemory 300  -nodeinfo rac1,rac2----- 或者:
[oracle@node1 dbca]$ more $ORACLE_HOME/assistants/dbca/dbca_rac.rsp
[GENERAL]
RESPONSEFILE_VERSION = "11.2.0"
OPERATION_TYPE = "createDatabase"
[CREATEDATABASE]
GDBNAME = "myrac"
SID = "myrac"
NODELIST=node1,node2
TEMPLATENAME = "General_Purpose.dbc"
SYSPASSWORD = "lhr"
SYSTEMPASSWORD = "lhr"
SYSMANPASSWORD = "lhr"
DBSNMPPASSWORD = "lhr"
STORAGETYPE=ASM
DISKGROUPNAME=DATA
ASMSNMP_PASSWORD="lhr"
RECOVERYGROUPNAME=ARCH
CHARACTERSET = "ZHS16GBK"
NATIONALCHARACTERSET= "UTF8"
[oracle@node1 dbca]$ dbca -silent -responseFile $ORACLE_HOME/assistants/dbca/dbca_rac.rspset line 9999
col HOST_NAME format a10 
select INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS,ACTIVE_STATE,INSTANCE_ROLE,DATABASE_STATUS from gv$INSTANCE;
select INST_ID,name , open_mode, log_mode,force_logging from gv$database;-------------------------------------------------------------------  静默安装软件
---------- Windows单实例数据库软件安装
E:\database\setup.exe -silent  -force -noconfig -IgnoreSysPreReqs -ignorePrereq  -showProgress ^
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v11_2_0 ^
oracle.install.option=INSTALL_DB_SWONLY ^
SELECTED_LANGUAGES=zh_CN,en ^
ORACLE_HOME=E:\u02\app\oracle\product\11.2.0\dbhome_1 ^
ORACLE_BASE=E:\u02\app\oracle ^
oracle.install.db.InstallEdition=EE ^
oracle.install.db.EEOptionsSelection=false ^
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false ^
DECLINE_SECURITY_UPDATES=true ^
oracle.installer.autoupdates.option=SKIP_UPDATESdbca -silent -createDatabase -templateName General_Purpose.dbc -responseFile NO_VALUE ^
-gdbname OCPLHR2  -sid OCPLHR2 ^
-sysPassword oracle -systemPassword oracle ^
-datafileDestination "E:\u01\app\oracle\oradata" ^
-recoveryAreaDestination "E:\u01\app\oracle\fast_recovery_area" ^
-storageType FS ^
-characterset ZHS16GBK -nationalCharacterSet AL16UTF16 ^
-sampleSchema true ^
-memoryPercentage 10 ^
-databaseType OLTP ^
-emConfiguration NONE---------- Linux单实例数据库软件安装
vi /tmp/database/response/db_install.rsp
ORACLE_HOSTNAME=192.168.59.129
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u02/app/oracle/oraInventory
SELECTED_LANGUAGES=en,zh_CN
ORACLE_HOME=/u02/app/oracle/product/11.2.0/dbhome_1
ORACLE_BASE=/u02/app/oracle
oracle.install.db.InstallEdition=EE
oracle.install.db.EEOptionsSelection=false
oracle.install.db.DBA_GROUP=dba
oracle.install.db.OPER_GROUP=oper
oracle.install.db.isRACOneInstall=false
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
oracle.installer.autoupdates.option=SKIP_UPDATES----软件安装
./runInstaller -silent -noconfig -responseFile /tmp/database/response/db_install.rsp -ignoreSysPrereqs -ignorePrereq---静默安装 19c 数据库单机软件
/u19/app/oracle/product/19.2.0/dbhome_1/runInstaller -silent  -force -noconfig  -ignorePrereq \
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0 \
oracle.install.option=INSTALL_DB_SWONLY \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/u19/app/oraInventory \
ORACLE_BASE=/u19/app/oracle \
ORACLE_HOME=/u19/app/oracle/product/19.2.0/dbhome_1 \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSOPER_GROUP=oper \
oracle.install.db.OSBACKUPDBA_GROUP=backupdba \
oracle.install.db.OSDGDBA_GROUP=dgdba \
oracle.install.db.OSKMDBA_GROUP=kmdba \
oracle.install.db.OSRACDBA_GROUP=racdba \
oracle.install.db.rootconfig.executeRootScript=true \
oracle.install.db.rootconfig.configMethod=ROOT----静默创建asm实例
/u01/app/11.2.0/grid/bin/asmca -silent -configureASM  -sysAsmPassword lhr -asmsnmpPassword lhr -diskGroupName OCR -diskList /dev/rhdisk20 -redundancy EXTERNAL----监听配置
$ORACLE_HOME/bin/netca /silent /responsefile /u01/database/netca.rsp
netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp$ORACLE_HOME/bin/netca /silent /responsefile /u01/database/netca.rsp
netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp
netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp -instype custom -listener LISTENER -lisport 1521
netca -silent -responsefile $ORACLE_HOME/assistants/netca/netca.rsp -instype custom -listener LISTENER_LHR -lisport 1522
crsctl delete resource ora.LISTENER.lsnr -f
rm $ORACLE_HOME/network/admin/listener.ora----------------------------------  单实例grid安装
/softtmp/grid/runInstaller -silent  -force -noconfig -IgnoreSysPreReqs -ignorePrereq  -showProgress \
ORACLE_HOSTNAME=ZFFR4CB2101 \
INVENTORY_LOCATION=/u01/app/oraInventory \
SELECTED_LANGUAGES=en \
oracle.install.option=CRS_SWONLY \
ORACLE_BASE=/u01/app/grid \
ORACLE_HOME=/u01/app/11.2.0/grid \
oracle.install.asm.OSDBA=asmdba \
oracle.install.asm.OSOPER=asmoper \
oracle.install.asm.OSASM=asmadmin \
oracle.install.crs.config.storageOption=ASM_STORAGE \
oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL \
oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL \
oracle.install.crs.config.useIPMI=false \
oracle.install.asm.SYSASMPassword=lhr \
oracle.install.asm.diskGroup.name=OCR \
oracle.install.asm.diskGroup.redundancy=EXTERNAL \
oracle.install.asm.diskGroup.disks=/dev/rhdisk20 \
oracle.install.asm.monitorPassword=lhr \
oracle.installer.autoupdates.option=SKIP_UPDATES----------------------------------  单实例db安装
/softtmp/database/runInstaller -silent  -force -noconfig -IgnoreSysPreReqs -ignorePrereq  -showProgress \
oracle.install.option=INSTALL_DB_SWONLY \
DECLINE_SECURITY_UPDATES=true \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/u01/app/oraInventory \
SELECTED_LANGUAGES=en \
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 \
ORACLE_BASE=/u01/app/oracle \
oracle.install.db.InstallEdition=EE \
oracle.install.db.isCustomInstall=false \
oracle.install.db.DBA_GROUP=dba \
oracle.install.db.OPER_GROUP=dba \
oracle.install.db.isRACOneInstall=false \
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
oracle.installer.autoupdates.option=SKIP_UPDATES----------------------------------  rac  grid安装
./runInstaller -silent  -force -noconfig -IgnoreSysPreReqs -ignorePrereq  -showProgress \
INVENTORY_LOCATION=/u01/app/oraInventory \
SELECTED_LANGUAGES=en \
ORACLE_BASE=/u01/app/grid \
ORACLE_HOME=/u01/app/11.2.0/grid \
oracle.install.asm.OSDBA=asmdba \
oracle.install.asm.OSOPER=asmoper \
oracle.install.asm.OSASM=asmadmin \
oracle.install.crs.config.storageOption=ASM_STORAGE \
oracle.install.crs.config.sharedFileSystemStorage.votingDiskRedundancy=EXTERNAL \
oracle.install.crs.config.sharedFileSystemStorage.ocrRedundancy=EXTERNAL \
oracle.install.crs.config.useIPMI=false \
oracle.install.asm.diskGroup.name=OCR \
oracle.install.asm.diskGroup.redundancy=EXTERNAL \
oracle.installer.autoupdates.option=SKIP_UPDATES \
oracle.install.crs.config.gpnp.scanPort=1521 \
oracle.install.crs.config.gpnp.configureGNS=false \
oracle.install.option=CRS_CONFIG \
oracle.install.asm.SYSASMPassword=lhr \
oracle.install.asm.monitorPassword=lhr \
oracle.install.asm.diskGroup.diskDiscoveryString=/dev/rhdisk* \
oracle.install.asm.diskGroup.disks=/dev/rhdisk10 \
oracle.install.crs.config.gpnp.scanName=ZFFR4CB2101-scan \
oracle.install.crs.config.clusterName=ZFFR4CB-cluster \
oracle.install.crs.config.autoConfigureClusterNodeVIP=false \
oracle.install.crs.config.clusterNodes=ZFFR4CB2101:ZFFR4CB2101-vip,ZFFR4CB1101:ZFFR4CB1101-vip \
oracle.install.crs.config.networkInterfaceList=en0:22.188.187.0:1,en1:222.188.187.0:2 \
ORACLE_HOSTNAME=ZFFR4CB2101----------------------------------  rac  db安装
./runInstaller -silent  -force -noconfig -IgnoreSysPreReqs -ignorePrereq  -showProgress \
oracle.install.option=INSTALL_DB_SWONLY \
DECLINE_SECURITY_UPDATES=true \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/u01/app/oraInventory \
SELECTED_LANGUAGES=en \
oracle.install.db.InstallEdition=EE \
oracle.install.db.isCustomInstall=false \
oracle.install.db.EEOptionsSelection=false \
oracle.install.db.DBA_GROUP=dba \
oracle.install.db.OPER_GROUP=asmoper \
oracle.install.db.isRACOneInstall=false \
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
oracle.installer.autoupdates.option=SKIP_UPDATES \
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 \
ORACLE_BASE=/u01/app/oracle \
ORACLE_HOSTNAME=ZFFR4CB2101 \
oracle.install.db.CLUSTER_NODES=zffr4cb2101,zffr4cb1101 \
oracle.install.db.isRACOneInstall=false----------------------------------  单实例db安装 11.2.0.1
./runInstaller -silent  -force -noconfig -IgnoreSysPreReqs -ignorePrereq  \
oracle.install.option=INSTALL_DB_SWONLY \
DECLINE_SECURITY_UPDATES=true \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/u01/app/oraInventory \
SELECTED_LANGUAGES=en \
ORACLE_HOME=/u01/app/oracle/product/11.2.0/dbhome_1 \
ORACLE_BASE=/u01/app/oracle \
oracle.install.db.InstallEdition=EE \
oracle.install.db.isCustomInstall=false \
oracle.install.db.DBA_GROUP=dba \
oracle.install.db.OPER_GROUP=dba \
oracle.install.db.isRACOneInstall=false \
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
oracle.installer.autoupdates.option=SKIP_UPDATES---静默安装18c数据库单机软件
/u08/app/oracle/product/18.0.0/dbhome_1/runInstaller -silent  -force -noconfig  -ignorePrereq \
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v18.0.0 \
oracle.install.option=INSTALL_DB_SWONLY \
UNIX_GROUP_NAME=oinstall \
INVENTORY_LOCATION=/u00/app/oraInventory \
ORACLE_BASE=/u08/app/oracle \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSOPER_GROUP=oper \
oracle.install.db.OSBACKUPDBA_GROUP=backupdba \
oracle.install.db.OSDGDBA_GROUP=dgdba \
oracle.install.db.OSKMDBA_GROUP=kmdba \
oracle.install.db.OSRACDBA_GROUP=dba \
oracle.install.db.config.starterdb.type=GENERAL_PURPOSE-------自动启动 The Oracle system identifier(SID) "orcltest" already exists. Specify another SID.
vi /etc/oratab---------启动1) lsnrctl start   (启动监听)  -------监听停止: lsnrctl stop,lsnrctl是listener-control 监听器的缩写,查看监听的状态(lsnrctl  status)2)  net start OracleServiceORCL (COCL 我的SID,可以小写,这是开启数据库实例)
或者用 oradim –startup –sid  orcl  -----net stop OracleServiceORACLE/********************************************************************************
*   SQL Scripts Name:
*   SQL Scripts Desc:
*   Author:
*   Date:
*   Inputs:
*   Outputs:
*   Return:
*   History:
********************************************************************************/--------------- 修改dbid和dbname
原: orcltest
修改后:DBID: 4270446895  Database Name: ORA11G
create pfile from spfile;
shutdown immediate;
startup mount;
nid target=sys/lhr dbname=ORA11G
cp initorcltest.ora initORA11G.orashutdown immediate;
startup open read only;
@chang_dbid_lhr.sql
create pfile from spfile;
shutdown immediate;
alter database open resetlogs;------------存储过程权限  AUTHID CURRENT_USER
CREATE OR REPLACE PROCEDURE PRO_XXXX_LHR(p_flag   in NUMBER DEFAULT 1,p_result out varchar2)AUTHID CURRENT_USER ASbeginend ;--------- oracle 用户 解压缩gunzip -c 10201_database_linux_x86_64.cpio.gz > /tmp/10201_database_linux_x86_64.cpio
cpio -idmv < 10201_database_linux_x86_64.cpiounzip p6810189_10204_Linux-x86-64.zip -d /tmp 压缩当前的文件夹 zip -r ./xahot.zip ./* -r表示递归
zip [参数] [打包后的文件名] [打包的目录路径]*/Linux下*.tar.gz文件解压缩命令 1.压缩命令:命令格式:tar  -zcvf   压缩文件名.tar.gz   被压缩文件名可先切换到当前目录下。压缩文件名和被压缩文件名都可加入路径。2.解压缩命令:命令格式:tar  -zxvf   压缩文件名.tar.gz解压缩后的文件只能放在当前的目录。--解压到其它目录
tar -zxvf /bbs.tar.zip -C /zzz/bbsAix下*.tar.gz文件解压缩命令
gunzip -c gdul3.5.0.1.tar.gz | tar -xvf - ---------- 重建scott用户sqlplus / as sysdba
SQL>@$ORACLE_HOME/rdbms/admin/utlsampl.sql-------------SQLNET跟踪tnsping过程  sqlnet.ora中配置#Trace_level_client=16
#Trace_directory_client=D:\Program files\app\oracle\product\11.2.0.1\dbhome_1\NETWORK\ADMIN
#Trace_unique_client=on
#Trace_timestamp_client=on
#Diag_adr_enabled=off
tnsping.trace_directory=D:\Program files\app\oracle\product\11.2.0.1\dbhome_1\NETWORK\ADMIN
tnsping.trace_level=support----------元数据获取
SELECT to_char(DBMS_METADATA.GET_DDL('TABLESPACE', a.tablespace_name))FROM DBA_TABLESPACES awhere a.TABLESPACE_NAME = 'TS_LHR';SELECT TO_CHAR(DBMS_METADATA.GET_DDL('TABLE','EMP','SCOTT')) DDL_SQL FROM DUAL;SELECT ((DBMS_METADATA.GET_GRANTED_DDL('OBJECT_GRANT', 'LHRSYS'))) FROM DUAL
UNION ALL
SELECT ((DBMS_METADATA.GET_GRANTED_DDL('ROLE_GRANT', 'LHRSYS'))) FROM DUAL
UNION ALL
SELECT ((DBMS_METADATA.GET_GRANTED_DDL('SYSTEM_GRANT', 'LHRSYS'))) FROM DUAL;--------------linux 跟踪sqlplus进程
strace -o /tmp/output.txt -T -tt -e trace=all  sqlplus / as sysdba [root@rhel6_lhr ~]# strace -t -p 4545------------- Unix 跟踪sqlplus进程
truss -dfaie -o /tmp/sched_trace.out.02271 sqlplus '/as sysdba'-----aix 修改系统时间
linux下用date -s "20131215 09:02:25"把时间设为2013年12月15日9点2分25秒。
而aix呢?它不认-s这个参数:
date -n mmddHHMMYY,mm表示月分,dd表示日期,HH表示小时,MM表示分钟,YY表示年份。
如:date -n 1215090213表示把当前时间设为2013年12月15日9点2分,秒数无法修改。-----自动同步linux时间
1、下载ntpdate
注:有些版本是没有自带ntpdate,因此需要下载
#  yum install -y ntpdate2、调整时区为上海,也就是北京时间+8区
注:想改其他时区也可以去看看/usr/share/zoneinfo目录
#  cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
#  yes | cp -f /usr/share/zoneinfo/Asia/Shanghai /etc/localtime3、使用NTP来同步时间
#  ntpdate us.pool.ntp.org4、定时同步时间(每隔10分钟同步时钟)
#  crontab -l >/tmp/crontab.bak
#  echo "*/10 * * * * /usr/sbin/ntpdate us.pool.ntp.org | logger -t NTP" >> /tmp/crontab.bak
#  crontab /tmp/crontab.bak-----笔记本开启:wlan
netsh wlan set hostednetwork mode=allow ssid=lhr-minPC key=lihuarong
netsh wlan start hostednetwork
netsh wlan show hostednetwork------------ 福昕pdf
--右转
crtl+shift++------ Quote (q)   语法select q''from employees;select q'\\'from employees;select q'\   \'from employees;-------------------------------------- OS 类型
-----临时修改语言环境:
AIX:
export LANG=en_US
export LANG=zh_CN
Linux:
export LANG=en_US.UTF-8
export LANG=zh_CN.UTF-8可用语言环境:
locale -a | grep zh_CN---------  Linux
cpu : cat /proc/cpuinfo|grep name|cut -f2 -d:|uniq -c
memory :cat /proc/meminfoos version : lsb_release -a os hostname  hostname ------aix --------------  AIX 查看CPU个数1. smtctl2. bindprocessor -q3. prtconf4.lsdev5.vmstatracle@DNSCDBS05:/home/oracle>hostname
DNSCDBS05
oracle@DNSCDBS05:/home/oracle>oslevel -r
7100-01
oracle@DNSCDBS05:/home/oracle>uname -vr
1 7
oracle@DNSCDBS05:/home/oracle>uname -s
AIX
oracle@DNSCDBS05:/home/oracle>uname -a
AIX DNSCDBS05 1 7 00F813B44C00
oracle@DNSCDBS05:/home/oracle>uname -v
7
oracle@DNSCDBS05:/home/oracle>pmcycles -m
CPU 0 runs at 3024 MHz
CPU 1 runs at 3024 MHz
CPU 2 runs at 3024 MHz
CPU 3 runs at 3024 MHz
CPU 4 runs at 3024 MHz
CPU 5 runs at 3024 MHz
CPU 6 runs at 3024 MHz
CPU 7 runs at 3024 MHz
oracle@DNSCDBS05:/home/oracle>prtconf|grep Processors
Number Of Processors: 2prtconfprtdiagselect userenv('LANGUAGE') from dual;archive log list;select name from v$datafile;-------------------------------  表空间历史增长量
select a.name, b.*from v$tablespace a,(select tablespace_id ts#,trunc(to_date(rtime, 'mm/dd/yyyy hh24:mi:ss')) datetime,round(max(tablespace_usedsize * 8 / 1024),2) ts_used_size_M,round(max(v.tablespace_size * 8 / 1024),2) ts_size_MB,round(max(tablespace_maxsize * 8 / 1024/1024)) ts_maxsize_Gfrom dba_hist_tbspc_space_usage vwhere trunc(to_date(rtime, 'mm/dd/yyyy hh24:mi:ss')) >=trunc(sysdate - 10)group by tablespace_id,trunc(to_date(rtime, 'mm/dd/yyyy hh24:mi:ss'))order by tablespace_id,trunc(to_date(rtime, 'mm/dd/yyyy hh24:mi:ss'))) bwhere a.ts# = b.ts#ORDER BY b.TS#,b.datetime;--------------------------------------------- BIOS设置之UEFI BIOS 切换为 Legacy BIOS1、OS Optimized Defaults系统默认优化设置 配置为DISABLE
2、CSM兼容模块设置  配置为ENABLE
3、Boot Mode启动方式选择  配置为:Legacy only
4、Secure boot 配置为:DISABLE----------------------------------  nmonnmon -f -t -r nmon_lhr -s 10 -c 60
nmon -f -t -r nmon_lhr -s 30 -c 10
nmon -s10 -c60 -f -r nmon_lhr -m /home/上面命令的含义是:-f :按标准格式输出文件名称:<hostname>_YYYYMMDD_HHMM.nmon
-t :输出最耗资源的进程
-r : nmon生成的标题,监控记录的标题
-s :每隔n秒抽样一次,这里为30秒
-c :取出多少个抽样数量,这里为10,即监控=10*30/60=5分钟
-m : 生成的数据文件的存放目录。-----------------自动按天采集数据:
在 crontab 中增加一条记录:
0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1
300*288=86400 秒,正好是一天的数据。------------------ 根据相对位置创建快捷方式
%SystemRoot%\explorer.exe "一个绝对路径或相对路径"
如:
%SystemRoot%\explorer.exe "..\TEST\TEST\TEST.txt"
注意:得把起始位置清空-----------------  OGG------- source端准备
SQL> col current_scn format 999999999999999
SQL>  Select current_scn from v$database;CURRENT_SCN
----------------12242466771468SQL> expdp XPADB/XPADB directory=DMP dumpfile=xpadb_20160125_01.dmp LOGFILE=xpadb_20160125.log  TABLES=BASE_ACTIONPOWER,BASE_BANK,BASE_BANKMERGE  FLASHBACK_SCN=12242466771468---------- target 备份
expdp xpadrpt/xpadrpt directory=OGGD dumpfile=xpadb_20160125_02.dmp LOGFILE=xpadb_20160125_2.log  TABLES=BASE_ACTIONPOWER,BASE_BANK,BASE_BANKMERGE impdp XPADRPT/xpadrpt DIRECTORY=OGGD DUMPFILE=xpadb_20160125_01.dmp LOGFILE=impdp.xpadb_20160125_01.log REMAP_SCHEMA=xpadb:xpadrpt REMAP_TABLESPACE=xpaddat:xpaddata  table_exists_action=replacestart replicat ggsrep , aftercsn 12242466771468------------- VirtualBox 修改磁盘大小 51200 为5G
vboxmanage list hdds
vboxmanage modifyhd "E:\My Virtual Machines\VirtualBox VMs\VirtualBox_XP\Windows XP.vdi" --resize 51200--------------WPS   去掉文档漫游
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Kingsoft\Office\6.0\plugins\officespace]
"roaminghomepageguidedtag"="9.1.0.4715"
文件另存为.reg格式。在wps关闭下,双击该文件,按”是“和”确定“导入注册表。打开wps,没有文档漫游了。如果希望再次显示”文档漫游“,将该给文件中的"9.1.0.4715"改为""保存,运行就可了。------------------------- Linux 权限
755表示该文件所有者对该文件具有读、写、执行权限,该文件所有者所在组用户及其他用户对该文件具有读和执行权限。linux文件权限一般都以8进制表示,格式为abc的形式,其中a,b,c各为一个数字,分别表示User、Group、及Other对该文件的操作权限;
如果文件权限用二进制表示那么是9位bit,从左至右,1-3位数字代表文件所有者的权限,4-6位数字代表同组用户的权限,7-9数字代表其他用户的权限;
而具体的权限是由数字来表示的,读取的权限等于4,用r表示;写入的权限等于2,用w表示;执行的权限等于1,用x表示;
通过4、2、1的组合,得到以下几种权限:0(没有权限);4(读取权限);5(4+1 | 读取+执行);6(4+2 | 读取+写入);7(4+2+1 | 读取+写入+执行)
常用的linux文件权限如下:
444 r--r--r--
600 rw-------
644 rw-r--r--
666 rw-rw-rw-
700 rwx------
744 rwxr--r--
755 rwxr-xr-x
777 rwxrwxrwx
这里以755为例:
1-3位7等于4+2+1,rwx,所有者具有读取、写入、执行权限;
4-6位5等于4+1+0,r-x,同组用户具有读取、执行权限但没有写入权限;
7-9位5,同上,也是r-x,其他用户具有读取、执行权限但没有写入权限。
rwxr-xr-x: 当前文件 对 所属用户 为 可读可写可运行,对所属组为可读可运行,对其他用户为 可读可运行
Linux 中对于文件的权限 分为 可读(r),可写(w),可运行(x),其对应的 8进制代码是
可读(r):4,可写(w):2,可运行(x):1 ,如果有多个权限,那么对应的8进制数字就是各个单独权限数字相加,3个数字中,第一个代表文件所属用户,第二个 代表文件所属组,第三个 代表 其他。 那么 对于 所属用户为可读可写可运行 就是 4+2+1 = 7, 对于所属组为 可读可运行就是 4+1 = 5 ,对于其他用户 为 可读 可运行 就是 4+1 = 5, 合起来就是 755 的权限-------------- linux下查看所有用户cat /etc/passwd |cut -f 1 -d :---------- AIX查看所有用户及其id
lsuser ALL |cut  -d ' ' -f 1
lsuser ALL |cut  -d ' ' -f 2
lsuser ALL |cut  -d ' ' -f 1-2---------- AIX查看所有用户组及其id
lsgroup ALL |cut  -d ' ' -f 1
lsgroup ALL |cut  -d ' ' -f 2
lsgroup ALL |cut  -d ' ' -f 1-2---------- linux和AIX查看所有用户及其id
cat /etc/passwd |cut  -d : -f 1
cat /etc/passwd |cut  -d : -f 3
cat /etc/passwd |cut  -d : -f 1,3
cat /etc/passwd | awk 'BEGIN{FS=":"}  {printf "%-15s %-10s %-20s \n",$1,$3,$6}'  | sort -n -k2
cat /etc/passwd | awk 'BEGIN{FS=":"}  $3>=100 {printf "%-15s %-10s %-20s \n",$1,$3,$6}'  | sort -n -k2---------- linux和AIX查看所有用户组及其id
cat /etc/group |cut  -d : -f 1
cat /etc/group |cut  -d : -f 3
cat /etc/group |cut  -d : -f 1,3
cat /etc/group | awk 'BEGIN{FS=":"}  {printf "%-15s %-10s \n",$1,$3}'  | sort -n -k2
cat /etc/group | awk 'BEGIN{FS=":"}  $3>=100 {printf "%-15s %-10s \n",$1,$3}'  | sort -n -k2[root@redhat4 ~]# cat /etc/group | awk 'BEGIN{FS=":"}  {printf "%-10s %-5s \n",$1,$3}'
root       0
bin        1
daemon     2
sys        3
adm        4
tty        5
xfs        43
ntp        38
gdm        42
stapdev    101
stapusr    102
pegasus    65
htt        103
oinstall   500
dba        501---------- linux和AIX查看所有用户组及其id,且id>=100
[root@redhat4 ~]# cat /etc/group | awk 'BEGIN{FS=":"}  $3>=100 {printf "%-10s %-5s \n",$1,$3}'
users      100
nfsnobody  4294967294
stapdev    101
stapusr    102
htt        103
oinstall   500
dba        501
[root@redhat4 ~]# --------------------------------------------------------------------------------   虚拟机系列  --------------------------------------------------------------------------------
------------------------------------------- 最新的XP虚拟机 Windows XP.vdi
虚拟机安装:无论是绿色还是安装都需要有管理员的权限虚拟机中安装windows7: 需要进入PE系统后再安装c:
cd C:\Program Files (x86)\VMware\VMware Workstation\----文件合并
vmware-vdiskmanager -r "E:\My Virtual Machines\Windows XP Professional\Windows XP Professional.vmdk" -t 0 "E:\My Virtual Machines\Windows XP Professional\XP_LHR.vmdk"---增大虚拟机文件 -x后的参数为磁盘扩展后的总大小
vmware-vdiskmanager -x 15Gb "G:\VMware Space\Red Hat Enterprise Linux 5.vmdk"---压缩磁盘空间,但是磁盘的最大值不变
vmware-vdiskmanager -k "G:\My Virtual Machines\RHEL6.5_LHRDB\RHEL6.5_LHRDB_DATA.vmdk"----虚拟机启动 vmware安装无法打开内核设备 \\.\Global\vmx86: 系统找不到指定的文件
net start vmci
net start vmx86
net start VMnetuserif
sc config vmci start=auto
sc config vmx86 start=auto
sc config VMnetuserif start=auto{} 必须有
[] 可选项
| 选择
<> 注释或参数值
() --Vmware中linux修改时间与主机同步,修改时区,,或使用VMware配置功能界面配置“开启时间同步功能”
1、找到vmware虚拟机目录下找到vmx文件,修改这一行tools.syncTime = "TRUE";
2、时区修改:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
hwclock  date命令手动修改的方法:
如将系统时间设定成2013年10月11日的命令如下:
#date -s 10/11/2013 将系统时间设定成下午2点18分9秒的命令如下。
#date -s 14:18:09--------------------------------------------------------------------------------   CHM  --------------------------------------------------------------------------------chm文件是由Windows目录下的hh.exe这个文件打开的,但是它的搜索功能却不是这个文件能办到的, 所以, chm能打开却无法搜索, 或者是MSDN能打开却无法搜索, 即使重装也无济于事, 有的人遇到这个问题还从其他人的机器上重新拷贝了hh.exe这个文件, 发现仍然不能解决这个问题。 其实解决这个问题,很简单, 在运行里面执行以下命令:regsvr32 hhctrl.ocx
regsvr32 itss.dll
regsvr32 itircl.dll //这个很重要,是关于全文搜索的。问题就可以解决了。 最后一个命令特别重要, 以前我找到的解决方法只有前面两个, 没有最后一个, 还是解决不了问题的。如果chm格式文件出现“网页不能浏览”的错误,在该文档上点击鼠标右键,解除锁定即可。------------------------------------  shell中的引号单引号和双引号的区别。单引号告诉shell忽略所有特殊字符,而双引号忽略大多数,但不包括$、\、`。-------------------------------------------
Sub setpicsize() '批量选中图片Dim j '计数图片个数Application.ScreenUpdating = False
For j = 1 To ActiveDocument.InlineShapes.Count  '文件中图片总个数,图片类型为inlineshapes'ActiveDocument.InlineShapes(j).Height = ActiveDocument.InlineShapes(j).Height   '设置高度'ActiveDocument.InlineShapes(j).Width = ActiveDocument.InlineShapes(j).Width '设置宽度ActiveDocument.InlineShapes(j).Range.Editors.Add wdEditorEveryone
Next j
ActiveDocument.SelectAllEditableRanges (wdEditorEveryone)
ActiveDocument.DeleteAllEditableRanges (wdEditorEveryone)
Application.ScreenUpdating = TrueEnd Sub'ALTER SYSTEM KILL SESSION ''' || s.SID || ',' || s.SERIAL# ||',@'||A.INST_ID||' IMMEDIATE ;' kill_session,
'ALTER SYSTEM KILL SESSION ''' || s.SID || ',' || s.SERIAL# ||''' IMMEDIATE ;' kill_session,
ALTER SYSTEM KILL SESSION '1228,42549,@1';
SELECT 'ALTER SYSTEM DISCONNECT SESSION ''' || V.SID || ',' || V.SERIAL# || ',@' ||V.INST_ID || ''' IMMEDIATE','ALTER SYSTEM DISCONNECT SESSION ''' || V.SID || ',' || V.SERIAL# ||''' IMMEDIATE',V.*FROM GV$SESSION V;-----清理killed的会话
-----方法1
select spid, program from v$process where program!= 'PSEUDO' and addr not in (select paddr from v$session)and addr not in (select paddr from v$bgprocess)and addr not in (select paddr from v$shared_server);select INST_ID, spid, program,'kill -9 '|| spid  kill9from gv$process awhere program != 'PSEUDO'and (INST_ID, addr) not in (select INST_ID, paddr from gv$session)and (INST_ID, addr) not in (select INST_ID, paddr from gv$bgprocess)and (INST_ID, addr) not in (select INST_ID, paddr from gv$shared_server)and a.PNAME is null;-----方法2
set line 9999
col sessionid format a20
col sessionid_killed format a20
col kill_session format a60SELECT a.INST_ID,a.SID || ',' || a.SERIAL# || ',' ||(select spidfrom gv$process bwhere b.INST_ID = a.INST_IDand A.creator_addr = b.ADDR --and decode(a.status,'KILLED',A.creator_addr,A.PADDR) = b.ADDR ) sessionid,a.PADDR,a.STATUS,a.PROGRAM,'alter system disconnect session ''' || sid || ',' || serial# || ''' immediate;' kill_sessionFROM gv$session aWHERE a.USERNAME = 'SYS'and a.STATUS = 'KILLED';-----方法3
SELECT a.SID || ',' || a.SERIAL# || ',' ||(select spidfrom gv$process bwhere b.INST_ID = a.INST_IDand A.pid = b.pid) sessionid,'alter system kill session ''' || sid || ',' || serial# || ''';' kill_sessionFROM gV$DETACHED_SESSION a;-----方法4
SELECT INST_ID, spid, program, 'kill -9 ' || spid kill9FROM gv$process aWHERE (a.INST_ID, a.addr) in (select INST_ID, p.addrfrom gv$process pwhere pid <> 1minusselect INST_ID, s.paddrfrom gv$session s)and a.PNAME is null; ---------------- autotrace
在执行如下脚本后,每个用户(包括以后新建的用户)都可以使用AUTOTRACE命令:
@?/rdbms/admin/utlxplan.sql
CREATE PUBLIC SYNONYM PLAN_TABLE FOR PLAN_TABLE;
GRANT ALL ON PLAN_TABLE TO PUBLIC;
@?/sqlplus/admin/plustrce.sql
GRANT PLUSTRACE TO PUBLIC;---------------- rac 配置SSH互信
sshUserSetup.sh在GI安装介质解压缩后的sshsetup目录下。下面两条命令在一个节点上执行即可,在root用户下执行:
./sshUserSetup.sh -user grid  -hosts "raclhr-12cR1-N2 raclhr-12cR1-N1" -advanced exverify –confirm
./sshUserSetup.sh -user oracle  -hosts "raclhr-12cR1-N2 raclhr-12cR1-N1" -advanced exverify -confirm-------- 脚本配置
grep "^LoginGraceTime 0" /etc/ssh/sshd_config
[ $? -ne 0 ] && { cp -p /etc/ssh/sshd_config /etc/ssh/sshd_config.org; echo "LoginGraceTime 0" >>/etc/ssh/sshd_config; }export hn=`hostname`
export oth=RACDB2
export p_pwd='/nfs/software/db/install/inst/sh/11g'
su - grid -c "$p_pwd/sshUserSetup.sh -user grid -hosts $oth -noPromptPassphrase"
su - grid -c "ssh $hn hostname"
su - grid -c "ssh $oth hostname"su - oracle -c "$p_pwd/sshUserSetup.sh -user oracle -hosts $oth -noPromptPassphrase"
su - oracle -c "ssh $hn hostname"
su - oracle -c "ssh $oth hostname"------分别配置grid和oracle用户的ssh
-------- 手工配置
----------------------------------------------------------------------------------
[root@ZFLHRDB1 : /]# su - oracle
[oracle@ZFLHRDB1 ~]$ mkdir -p ~/.ssh
[oracle@ZFLHRDB1 ~]$ chmod 700 ~/.ssh
[oracle@ZFLHRDB1 ~]$ ssh-keygen -t rsa  ->回车->回车->回车
[oracle@ZFLHRDB1 ~]$ ssh-keygen -t dsa  ->回车->回车->回车-----------------------------------------------------------------------------------
[root@ZFLHRDB2 : /]# su - oracle
[oracle@ZFLHRDB2 ~]$ mkdir ~/.ssh
[oracle@ZFLHRDB2 ~]$ chmod 700 ~/.ssh
[oracle@ZFLHRDB2 ~]$ ssh-keygen -t rsa  ->回车->回车->回车
[oracle@ZFLHRDB2 ~]$ ssh-keygen -t dsa  ->回车->回车->回车-----------------------------------------------------------------------------------[oracle@ZFLHRDB1 ~]$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
[oracle@ZFLHRDB1 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
[oracle@ZFLHRDB1 ~]$ ssh ZFLHRDB2 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys  ->输入ZFLHRDB2密码
[oracle@ZFLHRDB1 ~]$ ssh ZFLHRDB2 cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys  ->输入ZFLHRDB2密码
[oracle@ZFLHRDB1 ~]$ scp ~/.ssh/authorized_keys ZFLHRDB2:~/.ssh/authorized_keys    ->输入ZFLHRDB2密码-----------------------------------------------------------------------------------
测试两节点连通性:[oracle@ZFLHRDB1 ~]$ ssh ZFLHRDB1 date
[oracle@ZFLHRDB1 ~]$ ssh ZFLHRDB2 date
[oracle@ZFLHRDB1 ~]$ ssh ZFLHRDB1-priv date
[oracle@ZFLHRDB1 ~]$ ssh ZFLHRDB2-priv date [oracle@ZFLHRDB2 ~]$ ssh ZFLHRDB1 date
[oracle@ZFLHRDB2 ~]$ ssh ZFLHRDB2 date
[oracle@ZFLHRDB2 ~]$ ssh ZFLHRDB1-priv date
[oracle@ZFLHRDB2 ~]$ ssh ZFLHRDB2-priv date -----如何清除Shared Pool中某条SQL语句?
如果数据库版本为Oracle 10g以前,那么只能清空整个Shared Pool,命令为:“ALTER SYSTEM FLUSH SHARED_POOL;”。在Oracle 10g中提供了一个包DBMS_SHARED_POOL,该包可以实现该功能。若该包没有安装,则可以通过$ORACLE_HOME/rdbms/admin/dbmspool.sql进行安装。在Oracle 10.2.0.4中有BUG(MOS为:751876.1),需要通过设置事件来规避该问题,命令为:“ ALTER SESSION SET EVENTS '5614566 TRACE NAME CONTEXT FOREVER';”
使用这种方法,就可以精确的将一个SQL从共享池中删除,从而使得Oracle为这个SQL重新生成执行计划。这种方法只针对单个SQL语句,使得解决问题的同时不会造成任何的误伤。
SYS@lhrdb>  SELECT ADDRESS,HASH_VALUE FROM V$SQLAREA WHERE ROWNUM<=1;
ADDRESS          HASH_VALUE
---------------- ----------
0000000092D263D0 3231842444
SYS@lhrdb> EXEC SYS.DBMS_SHARED_POOL.PURGE('0000000092D263D0,3231842444','C');
PL/SQL procedure successfull--------------------------------------------- Linux 逻辑卷管理
pvcreate /dev/sda4
pvdisplay
pvs
vgcreate vg_orasoft /dev/sda4
vgdisplay
vgs
lvcreate -n lv_orasoft_u01 -L 1G vg_orasoft
lvdisplay
lvs
mkfs.ext4 /dev/vg_orasoft/lv_orasoft_u01
mkdir /u11
mount /dev/vg_orasoft/lv_orasoft_u01 /u11
--mv /u01/* /u11/--扩展逻辑卷
vgextend vg_orasoft /dev/sdb3
--lvextend -L +9G /dev/vg_orasoft/lv_orasoft_u01
lvextend -L 20G /dev/vg_orasoft/lv_orasoft_u01
resize2fs /dev/vg_orasoft/lv_orasoft_u01 #更新文件系统
--收缩逻辑卷
lvreduce -L -4G /dev/vg_orasoft/lv_orasoft_u01
--重命名逻辑卷
lvrename /dev/vg_orasoft/lv_ora_soft_u01 /dev/vg_orasoft/lv_orasoft_u01---删除逻辑卷
lvremove /dev/vg_rac/lv01--- /etc/fstab
/dev/vg_orasoft/lv_orasoft_u01 /u01  ext4 defaults 0 0
/dev/vg_orasoft/lv_orasoft_u02 /u02  ext4 defaults 0 0
/dev/vg_orasoft/lv_orasoft_u03 /u03  ext4 defaults 0 0
/dev/vg_orasoft/lv_oradata_u04 /u04  ext4 defaults 0 0---找逻辑卷
lvmdiskscan
vgchange -ay---删除逻辑卷
①首先将正在使用的逻辑卷卸载掉,通过umount命令
②将逻辑卷先删除,通过lvremove命令
③删除卷组,通过vgremove命令
④最后再删除的物理卷,通过pvremove命令--------------------------------------------- 查询表的历史统计信息
SELECT D.OWNER,D.TABLE_NAME,TO_CHAR(D.STATS_UPDATE_TIME, 'YYYY-MM-DD HH24:MI:SS') STATS_UPDATE_TIMEFROM DBA_TAB_STATS_HISTORY DWHERE D.TABLE_NAME IN ('TPCCBOKBAL', 'TPCCBOKBAL_TMP', 'TPCCBOKBALJN')ORDER BY D.owner,D.table_name, D.stats_update_time;SELECT B.OWNER,B.OBJECT_NAME TABLE_NAME, TO_CHAR(D.ANALYZETIME, 'YYYY-MM-DD HH24:MI:SS') LAST_ANALYZETIME,TO_CHAR(D.SAVTIME, 'YYYY-MM-DD HH24:MI:SS') CURR_ANALYZETIME,D.ROWCNTFROM SYS.WRI$_OPTSTAT_TAB_HISTORY D, DBA_OBJECTS BWHERE D.OBJ# = B.OBJECT_IDAND B.OBJECT_NAME IN('TEST_STAT', 'TPCCBOKBAL_TMP', 'TPCCBOKBALJN', 'PK_TPCCBOKBAL')ORDER BY D.OBJ#, D.SAVTIME;----------------------- 查询索引的历史统计信息SELECT B.OWNER,B.OBJECT_NAME INDEX_NAME,TO_CHAR(D.ANALYZETIME, 'YYYY-MM-DD HH24:MI:SS') LAST_ANALYZETIME,TO_CHAR(D.SAVTIME, 'YYYY-MM-DD HH24:MI:SS') CURR_ANALYZETIME,D.ROWCNT,D.BLEVEL,D.LEAFCNT,D.DISTKEY,D.CLUFACFROM SYS.WRI$_OPTSTAT_IND_HISTORY D, DBA_OBJECTS BWHERE D.OBJ# = B.OBJECT_IDAND B.OBJECT_NAME IN ('IND_TEST')ORDER BY D.OBJ#, D.SAVTIME; ----下边的SQL可以查询出表上列的使用情况:
CREATE OR REPLACE VIEW VW_COLUMN_USAGE_LHR AS
SELECT oo.name             owner,o.name              table_name,c.name              column_name,u.equality_preds,u.equijoin_preds,u.nonequijoin_preds,u.range_preds,u.like_preds,u.null_preds,u.timestampFROM sys.col_usage$ u, sys.obj$ o, sys.user$ oo, sys.col$ cWHERE o.obj# = u.obj#AND oo.user# = o.owner#AND c.obj# = u.obj#AND c.col# = u.intcol#
;----------------------- 监听  -- 启动监听日志 lsnrctl set log_status on
LSNRCTL> set log_status on
LSNRCTL> save_config----------------------- Oracle密码  SELECT * FROM USER_ASTATUS_MAP;
alter user LHRSYS identified by values 'F809740420A44EFC';
SELECT D.USERNAME,D.ACCOUNT_STATUS,D.LOCK_DATE,D.EXPIRY_DATE,D.PROFILE,NVL(D.PASSWORD,(SELECT NB.PASSWORD FROM USER$ NB WHERE NB.NAME = D.USERNAME)) PASSWORDFROM DBA_USERS DWHERE D.USERNAME = 'LHRSYS';UPDATE USER$ SET ASTATUS=0 WHERE NAME='LHRSYS';----------  用户PROFILE
alter system set resource_limit=true;
alter profile default limit idle_time 10;create profile pro_lhr limit idle_time 1;
alter user lhr profile pro_lhr;
select * from dba_profiles where profile='PRO_LHR';ALTER USER LHR PROFILE DEFAULT;
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;     --永不过期  无限
ALTER PROFILE DEFAULT LIMIT FAILED_LOGIN_ATTEMPTS UNLIMITED; ------取消复杂性验证
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION NULL;------启用密码复杂性验证
ALTER PROFILE DEFAULT LIMIT PASSWORD_VERIFY_FUNCTION VERIFY_FUNCTION_11G;------------------------------------------------------ mysql
查看错误: perror 错误号
Oracle为oerr ora 01555mysql -uroot -h192.168.59.130 -plhr
mysql -uroot -h192.168.59.130 -P3306 -plhr
mysql -uroot -h192.168.59.130 -P3306 --protocol=tcp -plhrmysql --html -t -f --silent  <  mysql_check_lhr_v1.3.0.sql
mysql -h192.168.1.63 -uroot -plhr -P3306 --html -t  -f --silent  <  mysql_check_lhr_v1.3.0.sql---修改提示符
export MYSQL_PS1="(\u@\h) [\d]> "
prompt (\u@\h) [\d]>
prompt (\u@\h) [\d]>\_
prompt (\U) [\d]>\_
prompt \u@\d>\_
prompt \R:\m:\s>\_prompt (\u@\h) [\d] \R:\m:\s>\_--加入/etc/my.cnf中的[mysql]下
prompt=\\u@\\h[\\d]> \\[oracle@edsir1p8-EMREP ~]$ more .bashrc
# .bashrc# User specific aliases and functions# Source global definitions
if [ -f /etc/bashrc ]; then. /etc/bashrc
fiexport PS1="[\u@\h-\`echo \$ORACLE_SID\` \W]$ "----启动MySQL
mysqld --defaults-file=/etc/my.cnf &
mysqld_safe --defaults-file=/etc/my.cnf --user=mysql &
service mysql start
/etc/init.d/mysql start
mysqld_multi start #多实例
net start mysql #Windows----关闭MySQL
mysqladmin -uroot -plhr -S /tmp/mysql3306.sock shutdown
service mysql stop
/etc/init.d/mysql stop
mysqld_multi stop #多实例
net stop mysql #Windows--杀死mysql
killall mysqld
killall -9 mysqld
pkill -9 mysqld-------------------- Windows重新注册
首先切换到MySQL的bin目录下,执行如下命令:
mysqld remove
mysqld install------Windows下卸载MySQL
① 关闭MySQL相关进程后并停止MySQL服务(services.msc)
② 命令行执行:sc delete mysql或mysqld remove
③ 删除所有MySQL文件
④ regedit打开注册表,删除以下位置的3个文件夹:
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Services\Eventlog\Application\MySQL
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\MySQL------Windows下安装MySQL
------Windows下安装MySQL:使用管理员权限,已在windows 10、Windows7、XP上测试通过,XP不支持5.7及其以上版本
--- 5.5、5.6、5.7、8.0 默认密码都为空,8.0数据库需要8.0的客户端才能无密码登录
D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld --initialize-insecure --user=mysql  --console --basedir=D:\Program_Files\MySQL\mysql-8.0.15-winx64 --datadir=D:\Program_Files\MySQL\mysql-8.0.15-winx64\data803314
D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld install mysql803314 --defaults-file="D:\Program_Files\MySQL\mysql-8.0.15-winx64\mysql803314.ini"---或直接安装
mysqld --initialize-insecure
mysqld install mysql573306net start  mysql573311mysql -uroot -p -P3308
--5.5、5.6、5.7修改密码和允许远程登陆
update mysql.user set authentication_string=password("lhr") where user="root";
update mysql.user set Host="%" where Host="127.0.0.1";
update mysql.user set Host="%" where Host="localhost";
set password=password('lhr');
grant all privileges on *.* to root@'%' identified by 'lhr';
flush privileges;--8.0修改密码和允许远程登陆
update mysql.user set Host="%" where Host="localhost";
update mysql.user set authentication_string='' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'lhr'; -- 多执行几次
flush privileges;
select user,host from mysql.user;--mysql 8.0远程连接,在参数文件的[mysqld]下添加:
default_authentication_plugin=mysql_native_password--mysql 8.0.15忘记密码,修改密码:http://blog.itpub.net/26736162/viewspace-2650907/
1、停止服务
2、管理员权限执行:D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld --defaults-file="D:\Program_Files\MySQL\mysql-8.0.15-winx64\mysql803314.ini" --console --skip-grant-tables --shared-memory
3、mysql -uroot -p -P3308 #无密码登录
update mysql.user set authentication_string='' where user='root';
4、退出,关闭第2步的console,重新空密码登录
5、修改密码:ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'lhr';----同版本安装多实例
1、拷贝源库的data文件夹为data3307,删除里边的业务数据库,对于5.6版本需要保留默认数据库mysql、performance_schema、test,对于5.7和8.0版本需要所有数据库都删除
2、拷贝源库的my.ini文件到data3307目录下命名my3307.ini,并修改相关参数:basedir、datadir、port等
2、初始化:
D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld --initialize-insecure --user=mysql --basedir=D:\Program_Files\MySQL\mysql-8.0.15-winx64 --datadir=D:\Program_Files\MySQL\mysql-8.0.15-winx64\data3307
3、安装服务:
D:\Program_Files\MySQL\mysql-8.0.15-winx64\bin\mysqld install mysql563307 --defaults-file="D:\Program_Files\MySQL\mysql-8.0.15-winx64\data3307\my3307.ini"
注意:1、可以不拷贝源软件为新的文件夹。当然也可以拷贝一份全新的环境。2、每个实例的配置文件必须是单独的。----------------my3307.ini参数文件内容
[mysqld]
port        = 3313
basedir=D:\Program_Files\MySQL\mysql-8.0.15-winx64
datadir=D:\Program_Files\MySQL\mysql-8.0.15-winx64\datatasklist | findstr mysql--------------------- Linux下MySQL安装tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz -C /usr/local/mysql57
mv mysql-5.7.19-linux-glibc2.12-x86_64 mysql5719-- tar -Jxf mysql-8.0.16-linux-glibc2.12-x86_64.tar.xz
-- mv mysql-8.0.16-linux-glibc2.12-x86_64 /usr/local/mysql80/mysql8016groupadd mysql      ## 添加一个mysql组
useradd -r -g mysql mysql    ## 添加一个用户
useradd -r -s /sbin/nologin -g mysql mysql -d /usr/local/mysql #新建msyql用户禁止登录shell
chown -R mysql.mysql /usr/local/mysql57--- 5.5、5.6  --MySQL 5.5、5.6的二进制安装默认密码为空
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql55/mysql5557 --datadir=/usr/local/mysql55/mysql5557/data --defaults-file=/usr/local/mysql55/mysql5557/mysql55573310.cnf
./bin/mysqld_safe --defaults-file=/usr/local/mysql55/mysql5557/mysql55573310.cnf &--MySQL 5.7.6之后的版本初始化数据库不再使用mysql_install_db
./bin/mysqld --defaults-file=/usr/local/mysql57/mysql5719/mysql57193308.cnf --initialize-insecure --user=mysql --basedir=/usr/local/mysql57/mysql5719 --datadir=/usr/local/mysql57/mysql5719/data
./bin/mysqld_safe --defaults-file=/usr/local/mysql57/mysql5719/mysql57193308.cnf &--同一个版本新建多个实例,和普通安装一样,重新设置配置文件和data文件、端口号
--- mysql -uroot -p -S/usr/local/mysql55/mysql5557/data/mysql55573310.sock
cp mysql57193308.cnf mysql57193309.cnf
./bin/mysqld --defaults-file=/usr/local/mysql57/mysql5719/mysql57193308.cnf --initialize-insecure --user=mysql --basedir=/usr/local/mysql57/mysql5719 --datadir=/usr/local/mysql57/mysql5719/data57193309
./bin/mysqld_safe --defaults-file=/usr/local/mysql57/mysql5719/mysql57193309.cnf &---5.5、5.6、5.7修改密码和允许远程登陆
set password=password("lhr");
grant all privileges on *.* to root@'%' identified by 'lhr';
flush privileges;--8.0修改密码和允许远程登陆
update mysql.user set Host="%" where Host="localhost";
update mysql.user set authentication_string='' where user='root';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'lhr'; -- 多执行几次
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'lhr';
flush privileges;
select user,host from mysql.user;--mysql 8.0远程连接,在参数文件的[mysqld]下添加:
default_authentication_plugin=mysql_native_password----------------mysql57193308.cnf参数文件内容
[mysqld]
port=3308
basedir=/usr/local/mysql57/mysql5719
datadir=/usr/local/mysql57/mysql5719/data
socket=/usr/local/mysql57/mysql5719/data/mysql57193308.sockserver_id=57193308
log-bin--配置开机启动,不适合多实例情况
cp ./support-files/mysql.server /etc/init.d/mysql57193308
chmod 755 /etc/init.d/mysql57193308
chkconfig --add mysql57193308
chkconfig mysql57193308 on
chkconfig --level 345 mysql57193308 on
service mysql57193308 start---Linux启动MySQL
/usr/local/mysql55/mysql5557/bin/mysqld_safe --defaults-file=/usr/local/mysql55/mysql5557/mysql55573310.cnf &
/usr/local/mysql55/mysql5557/bin/mysqld_safe --defaults-file=/usr/local/mysql55/mysql5557/mysql55573311.cnf &/usr/local/mysql56/mysql5637/bin/mysqld_safe --defaults-file=/usr/local/mysql56/mysql5637/mysql56373312.cnf &
/usr/local/mysql56/mysql5637/bin/mysqld_safe --defaults-file=/usr/local/mysql56/mysql5637/mysql56373313.cnf &/usr/local/mysql57/mysql5719/bin/mysqld_safe --defaults-file=/usr/local/mysql57/mysql5719/mysql57193308.cnf &
/usr/local/mysql57/mysql5719/bin/mysqld_safe --defaults-file=/usr/local/mysql57/mysql5719/mysql57193309.cnf &/usr/local/mysql80/mysql8016/bin/mysqld_safe --defaults-file=/usr/local/mysql80/mysql8016/mysql80163314.cnf &
/usr/local/mysql80/mysql8016/bin/mysqld_safe --defaults-file=/usr/local/mysql80/mysql8016/mysql80163315.cnf &---Linux关闭MySQL
/usr/local/mysql55/mysql5557/bin/mysqladmin -u root -plhr -S/usr/local/mysql55/mysql5557/data/mysql55573310.sock shutdown
/usr/local/mysql55/mysql5557/bin/mysqladmin -u root -plhr -S/usr/local/mysql55/mysql5557/data55573311/mysql55573311.sock shutdown/usr/local/mysql56/mysql5637/bin/mysqladmin -u root -plhr -S/usr/local/mysql56/mysql5637/data/mysql56373312.sock shutdown
/usr/local/mysql56/mysql5637/bin/mysqladmin -u root -plhr -S/usr/local/mysql56/mysql5637/data56373313/mysql56373313.sock shutdown/usr/local/mysql57/mysql5719/bin/mysqladmin -u root -plhr -S/usr/local/mysql57/mysql5719/data/mysql57193308.sock shutdown
/usr/local/mysql57/mysql5719/bin/mysqladmin -u root -plhr -S/usr/local/mysql57/mysql5719/data57193309/mysql57193309.sock shutdown/usr/local/mysql80/mysql8016/bin/mysqladmin -u root -plhr -S/usr/local/mysql80/mysql8016/data/mysql80163314.sock shutdown
/usr/local/mysql80/mysql8016/bin/mysqladmin -u root -plhr -S/usr/local/mysql80/mysql8016/data80163315/mysql80163315.sock shutdown启动全部实例:mysqld_multi start
查看全部实例状态:mysqld_multi report
启动单个实例:mysqld_multi start 3306
停止单个实例:mysqld_multi stop 3306
查看单个实例状态:mysqld_multi report 3306---------------------- /etc/my.cnf 管理多实例
[mysqld_multi]
mysqld=/usr/local/mysql80/mysql8016/bin/mysqld_safe
mysqladmin=/usr/local/mysql80/mysql8016/bin/mysqladmin
log=/usr/local/mysql80/log/mysqld_multi.log
user=root
password=lhr[client]
port=3308
socket=/usr/local/mysql57/mysql5719/data/mysql57193308.sock
user=root
host=localhost
password=lhr[mysql]
default-character-set=utf8[mysqld56213306]
mysqld=/usr/local/mysql55/mysql5557/bin/mysqld_safe
mysqladmin=/usr/local/mysql55/mysql5557/bin/mysqladmin
log-bin
basedir=/usr
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
slow_query_log=1
slow_query_log_file=/var/lib/mysql/rhel6lhr-slow.log[mysqld55573310]
mysqld=/usr/local/mysql55/mysql5557/bin/mysqld_safe
mysqladmin=/usr/local/mysql55/mysql5557/bin/mysqladmin
port=3310
basedir=/usr/local/mysql55/mysql5557
datadir=/usr/local/mysql55/mysql5557/data
socket=/usr/local/mysql55/mysql5557/data/mysql55573310.sockserver_id=55573310
log-bin[mysqld55573311]
mysqld=/usr/local/mysql55/mysql5557/bin/mysqld_safe
mysqladmin=/usr/local/mysql55/mysql5557/bin/mysqladmin
port=3311
basedir=/usr/local/mysql55/mysql5557
datadir=/usr/local/mysql55/mysql5557/data55573311
socket=/usr/local/mysql55/mysql5557/data55573311/mysql55573311.sockserver_id=55573311
log-bin[mysqld56373312]
mysqld=/usr/local/mysql56/mysql5637/bin/mysqld_safe
mysqladmin=/usr/local/mysql56/mysql5637/bin/mysqladmin
port=3312
basedir=/usr/local/mysql56/mysql5637
datadir=/usr/local/mysql56/mysql5637/data
socket=/usr/local/mysql56/mysql5637/data/mysql56373312.sockserver_id=56373312
log-bin[mysqld56373313]
mysqld=/usr/local/mysql56/mysql5637/bin/mysqld_safe
mysqladmin=/usr/local/mysql56/mysql5637/bin/mysqladmin
port=3313
basedir=/usr/local/mysql56/mysql5637
datadir=/usr/local/mysql56/mysql5637/data56373313
socket=/usr/local/mysql56/mysql5637/data56373313/mysql56373313.sockserver_id=56373313
log-bin[mysqld57193308]
mysqld=/usr/local/mysql57/mysql5719/bin/mysqld_safe
mysqladmin=/usr/local/mysql57/mysql5719/bin/mysqladmin
port=3308
basedir=/usr/local/mysql57/mysql5719
datadir=/usr/local/mysql57/mysql5719/data
socket=/usr/local/mysql57/mysql5719/data/mysql57193308.sockserver_id=57193308
log-bin[mysqld57193309]
mysqld=/usr/local/mysql57/mysql5719/bin/mysqld_safe
mysqladmin=/usr/local/mysql57/mysql5719/bin/mysqladmin
port=3309
basedir=/usr/local/mysql57/mysql5719
datadir=/usr/local/mysql57/mysql5719/data57193309
socket=/usr/local/mysql57/mysql5719/data57193309/mysql57193309.sockserver_id=57193309
log-bin[mysqld80163314]
mysqld=/usr/local/mysql80/mysql8016/bin/mysqld_safe
mysqladmin=/usr/local/mysql80/mysql8016/bin/mysqladmin
port=3314
basedir=/usr/local/mysql80/mysql8016
datadir=/usr/local/mysql80/mysql8016/data
socket=/usr/local/mysql80/mysql8016/data/mysql80163314.sock
default_authentication_plugin=mysql_native_passwordserver_id=80163314
log-bin[mysqld80163315]
mysqld=/usr/local/mysql80/mysql8016/bin/mysqld_safe
mysqladmin=/usr/local/mysql80/mysql8016/bin/mysqladmin
port=3315
basedir=/usr/local/mysql80/mysql8016
datadir=/usr/local/mysql80/mysql8016/data80163315
socket=/usr/local/mysql80/mysql8016/data80163315/mysql80163315.sock
default_authentication_plugin=mysql_native_passwordserver_id=80163315
log-bin-----------------主从复制
select a.* from information_schema.GLOBAL_VARIABLES a where a.variable_name in ('server_id','server_uuid','log_bin','log_bin_basename','sql_log_bin','log_bin_index','log_slave_updates','read_only','slave_skip_errors','max_allowed_packet','slave_max_allowed_packet','auto_increment_increment','auto_increment_offset','sync_binlog','binlog_format','expire_logs_days','max_binlog_size','slave_skip_errors','sql_slave_skip_counter','slave_exec_mode') order by VARIABLE_NAME;SELECT *
FROM PERFORMANCE_SCHEMA.threads a
WHERE a.`NAME` IN ( 'thread/sql/slave_io', 'thread/sql/slave_sql' ) or a.PROCESSLIST_COMMAND='Binlog Dump' ;SELECT * FROM information_schema.`PROCESSLIST` a where a.USER='system user' or a.command='Binlog Dump'; show binary logs; -- show master logs;--主库
show slave hosts;
show master status;--备库
show slave status;show binlog events;change master to
master_host='192.168.1.29',
master_user='repl',
master_password='lhr',
master_log_file='xpdblhr-bin.000007',
master_log_pos=120;start slave;
stop slave sql_thread;
start slave sql_thread;
start slave io_thread;
show slave status \G;
reset slave;
reset slave all;  #清空从库的所有配置信息。----------------------------------- 线程
ps -Lf pid
pstack pidpstree -p pid
ps -eLf | grep pid
ps -Lf pid
pstack pid
top -Hp pidselect * from dba_source as of timestamp sysdate -1/24;----------------------------------- 收集TFA收集TFA
root
find / -name tfactl
使用root去到 grid 下的tfactl/bin 目录收集
./tfactl diagcollect -from "Sep/27/2018 09:00:00" -to "Sep/27/2018 15:10:00" ./tfactl diagcollect -from "Sep/27/2018 09:00:00" -to "Sep/27/2018 15:10:00" VI中的批量替换1) 文件内全部替换::%s#abc#123#g (如文件内有#,可用/替换)--注:把abc替换成123# 替换u01为/u01::%s#u01#/u01#g(或者: %s/str1/str2/g 用str2替换文件中所有的str1)2) 文件内局部替换::20,30s#abc#123(如文件内有#,可用/替换)--注:把20行到30行内abc替换成123


About Me

........................................................................................................................

● 本文作者:小麦苗,部分内容整理自网络,若有侵权请联系小麦苗删除

● 本文在itpub、博客园、CSDN和个人微 信公众号( xiaomaimiaolhr)上有同步更新

● 本文itpub地址: http://blog.itpub.net/26736162

● 本文博客园地址: http://www.cnblogs.com/lhrbest

● 本文CSDN地址: https://blog.csdn.net/lihuarongaini

● 本文pdf版、个人简介及小麦苗云盘地址: http://blog.itpub.net/26736162/viewspace-1624453/

● 数据库笔试面试题库及解答: http://blog.itpub.net/26736162/viewspace-2134706/

● DBA宝典今日头条号地址: http://www.toutiao.com/c/user/6401772890/#mid=1564638659405826

........................................................................................................................

● QQ群号: 230161599 、618766405

● 微 信群:可加我微 信,我拉大家进群,非诚勿扰

● 联系我请加QQ好友 ( 646634621 ),注明添加缘由

● 于 2019-09-01 06:00 ~ 2019-09-31 24:00 在西安完成

● 最新修改时间:2019-09-01 06:00 ~ 2019-09-31 24:00

● 文章内容来源于小麦苗的学习笔记,部分整理自网络,若有侵权或不当之处还请谅解

● 版权所有,欢迎分享本文,转载请保留出处

........................................................................................................................

● 小麦苗的微店: https://weidian.com/s/793741433?wfr=c&ifr=shopdetail

● 小麦苗出版的数据库类丛书: http://blog.itpub.net/26736162/viewspace-2142121/

● 小麦苗OCP、OCM、高可用网络班: http://blog.itpub.net/26736162/viewspace-2148098/

● 小麦苗腾讯课堂主页: https://lhr.ke.qq.com/

........................................................................................................................

使用 微 信客户端扫描下面的二维码来关注小麦苗的微 信公众号( xiaomaimiaolhr)及QQ群(DBA宝典)、添加小麦苗微 信, 学习最实用的数据库技术。

........................................................................................................................

   

小麦苗的常用代码--常用命令(仅限自己使用)--下相关推荐

  1. android 环境配置和安装, Android系统包说明,基本控件,常用代码,ADB 命令行,APK文件确解,小技艺,...

    一.             环境配置和安装(Android2.2) 参考文章:这里 1.1     JDK 1.2     SDK 下载地址:http://dl.google.com/android ...

  2. Android常用英文词汇(仅限自己收藏)

    ANR (Application Not Response ) bundle 捆, entire 整个的,完整的 lifetime 生命周期 entire lifetime 完整生命周期 visibl ...

  3. 工程师追查线上问题(或运维)常用的shell命令

    shell本身是非常强大的,而工程师在追查线上问题时,如何能够更加快速更加有效的定位问题,用好shell非常关键.下面是我总结的几个在追查问题时常用的shell命令.大家可以参考下.大家有好的命令,也 ...

  4. php取当天的最后一秒_PHP 获取当天 凌晨 时间戳常用代码

    echo strtotime(date('Y-m-d')); 获取明天凌晨的时间戳 代码:echo strtotime(date('Y-m-d',strtotime('+1 day'))); 附上测试 ...

  5. android常用代码合集,Android常用代码

    1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable. ...

  6. linux常用的scp命令远程服务传输文件使用例子

    场景: 在使用Linux操作系统的过程中,常常需要复制文件到本地或者传输文件到其他电脑上,这时候用到两个命令cp和scp. cp命令用来复制文件或者目录.scp是secure copy的简写,用来在L ...

  7. 2019.5.8_此书真乃宝书也_从定位参数到仅限关键字参数

    <摘自流畅的Python> 此书真乃宝书也,虽说还是有点儿没懂 从定位参数到仅限关键字参数 Python最好的特性之一是提供了极为灵活的参数处理机制,而且Python3进一步提供了仅限关键 ...

  8. 网页代码常用小技巧!(2)

    网页代码常用小技巧!(2) [转] 41.变换网页的鼠标光标 〈BODY style=CURSOR: url(http://203.73.125.205/~liangmi2/farmfrog01.cu ...

  9. 关于laravel 框架运行数据库迁移文件的一个小坑以及常用php artisan命令

    小白我因为最近开发的一系列项目都是用的laravel框架,所以为了方便有时候就会直接复制一份代码以此作为新项目的基础.可能因为"因为夜路走多了,所以掉坑里了">>> ...

  10. git提交代码常用的命令整理

    1.更新develop分支代码: git pull 2.新建分支: git checkout -b 新分支名 3.切换分支: git checkout 分支名 4.提交分支代码(思路:查看改动文件,将 ...

最新文章

  1. 深入剖析 RocketMQ 源码 - 消息存储模块
  2. Android知识点小结
  3. 学python要多少钱-培训python大概要多少钱?
  4. how is webdynpro component class initialized
  5. 如何在 C# 8 中使用 Channels
  6. python爬虫 asyncio aiohttp aiofiles 单线程多任务异步协程爬取图片
  7. 非平衡电桥电阻计算_热电阻四线制、三线制、两线制的区别
  8. OpenJ_Bailian 4017 爬楼梯
  9. 演示JSP注释的使用
  10. L2-037 包装机 (25 分)-PAT 团体程序设计天梯赛 GPLT
  11. 看了某LINUX打包规范,没搞明白怎么支持多CPU,自己测试过没有?
  12. C++之线程信号量机制
  13. android res编辑器,Android Apk编辑器(ApkModifier) V3.6.0
  14. 正则表达式系列之 —— 模式(Patterns)和修饰符(flags)
  15. Java工程师的职业规划,上个月成功拿到阿里P7offer
  16. Java进阶篇设计模式之四 -----适配器模式和桥接模式
  17. android 4.4.2 安全漏洞修复
  18. php添加数据数据库乱码,php添加数据数据库乱码
  19. 华硕服务器系统安装win7系统教程,华硕重装系统教程
  20. shell脚本实现猜大小游戏

热门文章

  1. STM32中挂载SDRAM内存说明
  2. 【Unity2D好项目分享】提高游戏人物打击感
  3. 利用python进行假设假设检验
  4. Github开源项目总结
  5. ubuntu下vscode配置终端生成任务以及管理员模式运行
  6. python100个必备包_这套python教程超详细,包你1小时入门Python,100天摇身变大牛...
  7. 数学建模-插值与拟合模型
  8. 最好用的论文数据搜索网站,搜索容易让写论文变轻松!
  9. python写一个数字字典生成器
  10. 解决MySql保存数据java.sql.SQLException: Incorrect string value: ‘\xF0\x9F\x91\x87\xE5\x91...‘