记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
先将所属表空间下的所有表统计一下信息declare i varchar2(40);begin for i in (select t.TABLE_NAME from user_tables t where t.TABLESPACE_NAME = 'T3') loop execute immediate 'analyze table ' || i.table_name || ' compute statistics'; end loop;end;/统计表空间或用户模式下的表信息。最后检查下所属表中行数信息。select t.owner,t.table_name,t.num_rows from dba_tables t where t.owner='T3' order by 3 desc
ORA-20005: object statistics are locked (stattype = ALL) 解决方法执行统计信息时,报错:begin DBMS_STATS.GATHER_TABLE_STATS ( ownname => '"TAG3"', tabname => '"CITY_INFO_T"', estimate_percent => 10 ); end;执行请求的操作时遇到错误:ORA-20005: object statistics are locked (stattype = ALL)ORA-06512: 在 "SYS.DBMS_STATS", line 24281ORA-06512: 在 "SYS.DBMS_STATS", line 24332ORA-06512: 在 line 1供应商代码 20005使用此方法解决问题:SQL> exec dbms_stats.unlock_schema_stats(ownname => 'TAG3');PL/SQL procedure successfully completed再次执行编译信息时,执行正常。declare i varchar2(40);begin for i in (select t.TABL...
安装XenServer系统盘默认大小为4G,安装前我们可以调整大小。注:此教程只适用于在全新安装XenServer的时候使用,已经安装过XenServer的无法修改系统盘(4G)大小。注:如果带数据重装,安装的时候一定要保证XenServer系统盘的大小一定要和以前一样大,否则数据就会丢失。1、进入XenServer系统安装界面。2、进入高级安装菜单界面,按F2键。3、进入命令模式进入命令行,输入“shell”,按回车键。4、编辑系统安装管理配置文件编辑“constants.py”文件,在bash-3.2#后面输入如下命令:vi /opt/xensource/installer/constants.py复制代码5、修改安装系统盘大小修改默认的系统盘大小,在92行,找到root_size=4096,修改为需要安装的系统盘大小 (备注:单位为MB)6、保存并退出“ESC”退出编辑—>输入“:wq”冒号+wq保存退出。7、退出命令模式退出命令模式,输入“exit” 。8、开始安装XenServer系统9、查看结果安装完毕后,通过以下命令查看系统分区大小:df -hal
由于没有加密狗U盘,所以只使用了普通的U盘来演示,步骤都一样的,让VPS加载到这USB设备。1、编辑XenServer启动文件:extlinux.conf备注:一定要熟悉“vi”编辑命令,不然启动文件修改错误,可能会导致服务器无法启动。vi /boot/extlinux.conf复制代码搜索:mode-0x0311,后面插入“iommu=1”(中间有个空格)保存退出编辑,重启服务器(必须操作)2、查看服务器USB接口硬件设备lspci | grep USB复制代码3、查看VPS当前PCI映射(不需要确认PCI映射,可以不用查询)备注:uuid是为VPS的UUID,可通过XenCenter查询xe vm-param-list uuid=577b4b7d-22d7-b228-9776-b6358e85c688 |grep other-config复制代码4、将USB接口映射到VPS备注:(1)uuid是为VPS的UUID,可通过XenCenter查询。(2)pci=0/0000是固定的,冒号后面的是通过:lspci | grep USB查询到的参数。(3)重复执行命令,会替换other-config中的PCI参数。xe vm-param-set other-config:pci=0/0000:00:1a.1 uuid=577b4b7d-22d7-b228-9776-b6358e85c688复制代码5、VPS需要关机,再启动可通过XenCenter对VPS进行关机,和启动或命令关机:xe vm-shutdown uuid=577b4b7d-22d7-b228-9776-b6358e85c688启动:xe vm-start uuid=577b...
SQL> drop table te_equip;drop table te_equip *第 1 行出现错误:ORA-02449: 表中的唯一/主键被外键引用检查哪些表的外键引用了要删除的表的唯一/主键.select A.* from user_constraints A, user_constraints B WHERE b.table_name = 'TE_EQUIP' and a.constraint_type = 'R' and a.r_constraint_name = b.constraint_name;会得到外健关系表的信息,可以查看相联的表。生成所有引用要删除表的外键的创建语句.select 'select dbms_metadata.get_ddl(''REF_CONSTRAINT'',''' || A.CONSTRAINT_NAME || ''') FROM DUAL;' from user_constraints A, user_constraints B WHERE b.table_name = 'TE_EQUIP' and a.constraint_type = 'R' and a.r_constraint_name = b.constraint_name; ALTER TABLE "NEUDDC"."TH_TARGETONLINE" ADD CONSTRAINT "FK_TH_TARGETONLINE1" FOREIGN KEY ("SIM") REFERENCES "NEUDDC".&qu...
在日常数据库维护过程中,我们会发现数据库中一些对象(包Package、存储过程Procedure、函数Function、视图View、同义词.....)会失效,呈现无效状态(INVALID)。有时候需要定期检查数据库中存在哪些失效对象,对于存在异常的对象需要重新编译,有些自动失效的对象,一般会在下次调用的时候,会被重新编译,所以这些不需要人工干预。那么为什么对象突然会失效呢?又如何快速、高效的编译失效对象呢?哪些失效的对象不需要我们去重新编译呢?数据库对象失效原因数据库对象失效的原因很多,下面大致归纳了一些常见的原因(有些漏掉的,希望大家补充):1: 当被引用对象的结构变更时,都会使得相关的依赖对象转变为INVALID状态。数据库中的对象(存储过程,函数,包,视图,触发器),它们往往需要直接或者间接的引用其它对象,对象的依赖包括直接和间接二种,其中直接依赖是指存储对象直接依赖于被引用对象,而间接依赖是指对象间接依赖于被引用对象要查看被引用的对象,可以通过下面SQL查看select * from dba_dependencies where name='&objectname'; select * from all_dependencies where name='&objectname'; select * from user_dependencies where name=...
使用delete 时并没有报错,使用truncate 清空重置表时会报错。SQL> truncate table te_equip;truncate table te_equipORA-02266: 表中的唯一/主键被启用的外键引用ORA-02266: unique/primary keys in table referenced by enabled foreign keys 有时候对应的中文错误提示为:ORA-02266: 表中的唯一/主键被启用的外部关键字引用,一般出现这个错误,是因为表中的主键被其它表的外键所引用,导致删除数据时出错SQL> alter table te_equip disable primary key cascade;表已更改。SQL> truncate table te_equip;表已截掉。SQL> alter table te_equip enable primary key;表已更改。 SQL> alter table TH_TARGETONLINE enable constraint FK_TH_TARGETONLINE1;表已更改。注意外键与约束的区别。可以通过下面脚本查看一下涉及该表主键的外键约束信息。select c1.table_name, c1.constraint_name, dcc1.column_name, c2.table_name, c2.constraint_name, d...
TCP端口大家都知道,比如80端口,可以使用 telnet ip 80,来验证端口是否正常监听,那UDP端口是否可以同样测试呢?详细如下:下面我们来进行测试。我们使用nc来进行测试,如下:先在服务器端用NC工具开通对应的UDP端口,然后监听对应的UDP端口。nc -lu 192.168.11.80 10014或是服务器系统安装对应的应用程序开启相应端口,然后通过客户端nc软件向服务器端端口发送数据nc -uvz 192.168.11.80 10014 < /var/log/messages 最后检查服务器端对应程序的日志,查看是否有日志数据输出。 nc命令用法:usage: nc [-46DdhklnrStUuvzC] [-i interval] [-p source_port][-s source_ip_address] [-T ToS] [-w timeout] [-X proxy_version][-x proxy_address[:port]] [hostname] [port[s]]
Linux 按名称查找某个进程并关闭。参考一下,水平有限。! /bin/sh ID=`ps -ef| grep 'ntpd'|grep -v 'grep'|awk '{print $2}'` if [ "$ID" = "" ] then echo "ID is not running!" else for pid in $ID do kill -9 $pid echo " kill ntpd pid:$pid"fi
利用sqldeveloper4.5工具生成的plsql语句,以供参考。1,编译无效视图,注意修改变量与对应的账号表名。begin FOR cur IN (SELECT OBJECT_NAME, OBJECT_TYPE, owner FROM all_objects WHERE object_type = 'VIEW' and owner = 'LWLK' AND status = 'INVALID') LOOP BEGIN if cur.OBJECT_TYPE = 'PACKAGE BODY' then EXECUTE IMMEDIATE 'alter ' || cur.OBJECT_TYPE || ' "' || cur.owner || '"."' || ...
最新评论