笔记:记录一些需要记录的

1, Workload Load Management WLM

2,高版本数据泵导入到低版本报错
导出应该制定version,导入无变化
如:

expdp 'syssde/"************"' directory=DPDATA1 dumpfile=a4_sys_white_list_20200507.dmp logfile=a4_sys_white_list_20200507.log tables=A4_SYS_WHITE_LIST version=11.2.0.1.0

3,继续删除未正常删除的操作

ALTER TABLE NWSDE.TA_ROAD_NW DROP COLUMNS` CONTINUE;
说明:在进行表字段删除的时候,由于意外未完成删除,在使用该表的时候出现报错 ORA-12986 可执行该操作完成删除动作后恢复正常。

4,kill session 有三个参数

alter system kill session 'sid,serial,@sid' ;  
alter system kill session '321,32132,@1'  immediate;

5,修改用户名

方法一:所有版本
select user#,name from user$ where name='TEST';
update user$ set name ='TEST1' where user#=159;
commit;
alter system checkpoint;
alter system flush shared_pool;
alter user test1 identified by test1;
方法二:oracle 11.2.0.2之后版本
alter system set "_enable_rename_user"=true scope=spfile;
shutdown immediate;
startup restrict force;
alter user test rename to test1 identified by test1;
alter system disable restricted session;
conn test1/test1;
conn / as sysdba
alter system reset "_enable_rename_user";
shutdown immediate;
startup;

6,密码文件的变化(转载)
1 、 11g中口令文件并不能实现存放于asm共享访问,修改SYS密码,需要再每个RAC节点手动实施同步 ,同样备库的口令文件也要手动进行更新覆盖
2、12.1版本可以实现口令文件ASM共享存储,RAC中只需要一个节点执行alter user sys 就可以实现主库所有节点同步,这点是11g中无法实现。但是备库中口令文件依然需要手动同步主库的口令文件过来覆盖
3 、12.2版本oracle在口令文件ASM共享存储的前提下,实现了口令文件自动同步主备所有节点

原文链接:https://blog.csdn.net/lihuarongaini/article/details/101298385

7,impdp导入使用query
特殊情况:
根据条件导入测试表,remap_schema 加 query 条件 生效(已验证)
添加remap_table修改表名条件,query条件不生效
(仅供参考,未做验证)

8,vi乱码问题
已经设置字符集环境变量
export NLS_LANG=“simplified chinese_china.zhs16gbk”
但是在vi编辑文件的时候输入中文依然是乱码,此时可以通过vi中的set指令指定字符集来解决乱码问题
set termencoding=gbk
在这里插入图片描述

9,图形配置网络
nmtui

10,oracle 数据库 sql 执行计划
通过dbms_xplan.display_cursor(null,null,‘allstats last’)查看SQL的执行计划,SQL会真实执行(对应的缺点不再赘述),这种方法查看的执行计划有Predicate Information,无Statistics,查看的执行计划是准确的,并且有每一步真实处理行数和时间。 使用dbms_xplan.display_cursor(null,null,‘allstats last’)查看SQL的执行计划:

--需要确认statistics_level设置为ALL,否则SQL语句第一个关键字后就需要加上/*+ gather_plan_statistics */,我习惯用前者
show parameter statistics_level(一般数据库默认是TYPICAL)
alter session set statistics_level = ALL;
select a.empno, a.ename, b.dname, a.job, a.sal from emp a, dept b where a.deptno = b.deptno and empno = 7788;
select * from table(dbms_xplan.display_cursor(null,null,'allstats last'));

11,删除物化视图长时间删不掉,可以先执行

ALTER MATERIALIZED VIEW view_name DISABLE QUERY REWRITE REFRESH ON DEMAND;

再删除

12,查看基于某表的对象

set serveroutput on
begin
dbms_utility.get_dependency('TABLE', 'A5ADMIN','SYS_LANGUAGERESOURCE'); 
end;
/

13,12c中em的变化

打开em:
    exec dbms_xdb_config.sethttpsport(5500);        -- https
    exec dbms_xdb_config.sethttpport(5505);         -- http


    关闭em:
    exec dbms_xdb_config.sethttpsport(0);           -- https
    exec dbms_xdb_config.sethttpport(0);            -- http


    查看em端口:
    select dbms_xdb_config.gethttpsport from dual;  -- https
    select dbms_xdb_config.gethttpport from dual;   -- http

14,文件太多 无法rm删除
-bash: /bin/rm: Argument list too long

ls | xargs -n 10 rm -fr ls

15:统计数据泵数据

cat A5ADMIN.2021-04-01.log | grep 'rows' |awk '{print $7}' |awk '{sum+=$1}END{print sum}'

cat A5ADMIN.2021-04-01.log |grep export | grep GB | egrep -v 'KB|MB' |awk '{print $5}' |awk '{sum+=$1}END{print sum}'

cat A5ADMIN.2021-04-01.log |grep export | grep KB | egrep -v 'MB|GB' |awk '{print $5}' |awk '{sum+=$1}END{print sum}'

cat A5ADMIN.2021-04-01.log |grep export | grep MB | egrep -v 'KB|GB' |awk '{print $5}' |awk '{sum+=$1}END{print sum}'

16:Oracle 超进程

ps -ef|grep "oracleXXXX (LOCAL=NO)"|grep -v grep|awk '{print $2}'|xargs kill -9

17:修改job下次执行的时间

exec DBMS_JOB.CHANGE(2935,'PRO_K2FWlTJ;',to_date('2021-06-10 17:30:00','yyyy-mm-dd hh24:mi:ss'),'TRUNC(SYSDATE,'||Chr(39)||'MI'||Chr(39)||')+30/24/60');
 DBMS_JOB.CHANGE(  JOB IN BINARY_INTEGER,
      what                  IN VARCHAR2 DEFAULT NULL,
   next_date             IN DATE DEFAULT NULL,
   interval              IN VARCHAR2 DEFAULT NULL,
   instance              IN BINARY_INTEGER DEFAULT NULL,
   force                 IN BOOLEAN DEFAULT FALSE );

18,按日期删除文件

######删除固定日期前的文件及文件夹
find ./ -ctime +20 -print | xargs -n 100 rm -rf {} \;
find ./ -ctime +2 -print | xargs -n 100 rm -rf {} \;
find /databak/BOdev -ctime +20 -print | xargs -n 100 rm -rf {} \;


该命令会删除文件夹,所以在find后面的目录要注意路径的完整

######删除固定日期前的某个文件及文件夹
find ./ -name "名字" -ctime +10 -print | xargs -n 100 rm -rf {} \;

19,检查网络
netstat -antlp | grep 1521 | grep TIME_WAIT

netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’

20,查询library cache lock的blocker

SELECT s.INST_ID,s.sid, kglpnmod "Mode", kglpnreq "Req", SPID "OS Process"
FROM gv$session_wait w, x$kglpn p, gv$session s ,gv$process o
WHERE p.kglpnuse=s.saddr
AND kglpnhdl=w.p1raw
and w.event like '%library cache lock%'
and s.paddr=o.addr
order by 1,4

21,ORA-01704: string literal too long
在插入或者更新数据时,因数据太长导致的报错。
此时可以将长数据拆分两段或者更多段,先插入第一部分,后续部分使用||连接更新

update test set t = '第一部分' where id=1;
update test set t = t||'第二部分' where id=1;
update test set t = t||'第n部分' where id=1;

22,创建job

declare
    job_id pls_integer;
begin
    sys.dbms_job.submit(job => job_id,
    what => 'DO_ALL;', 
    next_date => to_date('2021-11-22 21:00:00', 'yyyy-mm-dd hh24:mi:ss'),
    interval =>'TRUNC(SYSDATE) + 1 + 21/(24)');
    commit;
end;
/ 

23,关闭DV功能
查询功能开启状态

SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';

11g
关停所有实例,监听,dbconsole,集群软件也需要停用

SQL> SELECT * FROM V$OPTION WHERE PARAMETER = 'Oracle Database Vault';
 
PARAMETER                      VALUE
------------------------------ ------------------------------
Oracle Database Vault          TRUE
 
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> !
 
cd $ORACLE_HOME/rdbms/lib
make -f ins_rdbms.mk dv_off ioracle
/usr/bin/ar d /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a kzvidv.o
/usr/bin/ar cr /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/kzvndv.o 
chmod 755 /u01/app/oracle/product/11.2.0/dbhome_1/bin
 
 - Linking Oracle 
rm -f /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/oracle
gcc  -o /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/oracle -m32 -L/u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/stubs/ -L/u01/app/oracle/product/11.2.0/dbhome_1/lib/ -lirc -lipgo    -Wl,-E /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/opimai.o /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ssoraed.o /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/ttcsoi.o  -Wl,--whole-archive -lperfsrv11 -Wl,--no-whole-archive /u01/app/oracle/product/11.2.0/dbhome_1/lib/nautab.o /u01/app/oracle/product/11.2.0/dbhome_1/lib/naeet.o /u01/app/oracle/product/11.2.0/dbhome_1/lib/naect.o /u01/app/oracle/product/11.2.0/dbhome_1/lib/naedhs.o /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/config.o  -lserver11 -lodm11 -lcell11 -lnnet11 -lskgxp11 -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lclient11  -lvsn11 -lcommon11 -lgeneric11 -lknlopt `if /usr/bin/ar tv /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep xsyeolap.o > /dev/null 2>&1 ; then echo "-loraolap11" ; fi` -lslax11 -lpls11  -lrt -lplp11 -lserver11 -lclient11  -lvsn11 -lcommon11 -lgeneric11 `if [ -f /u01/app/oracle/product/11.2.0/dbhome_1/lib/libavserver11.a ] ; then echo "-lavserver11" ; else echo "-lavstub11"; fi` `if [ -f /u01/app/oracle/product/11.2.0/dbhome_1/lib/libavclient11.a ] ; then echo "-lavclient11" ; fi` -lknlopt -lslax11 -lpls11  -lrt -lplp11 -ljavavm11 -lserver11  -lwwg  `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11 -lmm -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lztkg11 `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnro11 `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/ldflags`    -lncrypt11 -lnsgr11 -lnzjs11 -ln11 -lnl11 -lnnz11 -lzt11 -lztkg11   -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 `if /usr/bin/ar tv /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/libknlopt.a | grep "kxmnsd.o" > /dev/null 2>&1 ; then echo " " ; else echo "-lordsdo11"; fi` -L/u01/app/oracle/product/11.2.0/dbhome_1/ctx/lib/ -lctxc11 -lctx11 -lzx11 -lgx11 -lctx11 -lzx11 -lgx11 -lordimt11 -lclsra11 -ldbcfg11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11 -locr11 -locrb11 -locrutl11 -lhasgen11 -lskgxn2 -lnnz11 -lzt11 -lxml11  -loraz -llzopro -lorabz2 -lipp_z -lipp_bz2 -lippdcemerged -lippsemerged -lippdcmerged  -lippsmerged -lippcore  -lippcpemerged -lippcpmerged  -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lsnls11 -lunls11  -lsnls11 -lnls11  -lcore11 -lsnls11 -lnls11 -lcore11 -lsnls11 -lnls11 -lxml11 -lcore11 -lunls11 -lsnls11 -lnls11 -lcore11 -lnls11 -lasmclnt11 -lcommon11 -lcore11 -laio    `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -Wl,-rpath,/u01/app/oracle/product/11.2.0/dbhome_1/lib -lm    `cat /u01/app/oracle/product/11.2.0/dbhome_1/lib/sysliblist` -ldl -lm   -L/u01/app/oracle/product/11.2.0/dbhome_1/lib
test ! -f /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle ||\
           mv -f /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracleO
mv /u01/app/oracle/product/11.2.0/dbhome_1/rdbms/lib/oracle /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle
chmod 6751 /u01/app/oracle/product/11.2.0/dbhome_1/bin/oracle

12c
使用dbv_owner(安装dv时的用户)执行

 conn dbv_owner/dbv_owner
 exec dbms_macadm.disable_dv;

重启数据库

重新启动dv
12C

 conn dbv_owner/dbv_owner
 exec dbms_macadm.enable_dv;

11g

进入$ORACLE_HOME/rdbms/lib下执行 
make -f ins_rdbms.mk dv_on lbac_on ioracle

两种方法都需要重启数据库和监听。

24,Oracle的sqlplus在linux下退格键不可用
环境变量添加

stty erase ^h

25,windows下创建oracle数据库服务orcl

oradim.exe -new -sid orcl -startmode manual -spfile
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值