Are you over 18 and want to see adult content?
More Annotations
A complete backup of https://thegoodguys.com.au
Are you over 18 and want to see adult content?
A complete backup of https://primeventures.com
Are you over 18 and want to see adult content?
A complete backup of https://hudsonintegrated.com
Are you over 18 and want to see adult content?
A complete backup of https://sunbeltsupply.com
Are you over 18 and want to see adult content?
A complete backup of https://lesgets.com
Are you over 18 and want to see adult content?
A complete backup of https://monashees.com.br
Are you over 18 and want to see adult content?
A complete backup of https://spree.co.za
Are you over 18 and want to see adult content?
A complete backup of https://benoa.net
Are you over 18 and want to see adult content?
A complete backup of https://nycopera.com
Are you over 18 and want to see adult content?
A complete backup of https://discovery-japan.me
Are you over 18 and want to see adult content?
A complete backup of https://chungchihanhnghe.com
Are you over 18 and want to see adult content?
Favourite Annotations
A complete backup of aprovadoapp.com.br
Are you over 18 and want to see adult content?
A complete backup of sudhamadhuram.blogspot.com
Are you over 18 and want to see adult content?
A complete backup of thebitcoincode.software
Are you over 18 and want to see adult content?
Text
* 关于我
* 网站地图
* 诗檀软件
* 诗檀软件PRM-DUL * 下载PRM Oracle灾难恢复软件 * Oracle数据恢复专题 * Oracle DUL Data Unloader数据恢复工具 * Oracle DUL LEARN MORE 阿里云 ECS 快速安装ORACLE 19C2019/09/12 by admin
Leave a Comment
阿里云9折折扣码 最高_¥_2000云产品通用代金券 https://promotion.aliyun.com/ntms/yunparter/invite.html?userCode=yq0tqy8m 我们使用aliyun ecs快速安装oracle 19c 数据库软件 并创建数据库,可以使用上述链接注册获得阿里云折扣 这里我们选择位于 华东上海的节点, 通用型g6 实例规格 ecs.g6.large 2 vCPU 8GiB内存,处理器型号 Intel Xeon (Cascade Lake) Platinum 8269 2.5GHZ/3.2GHZ 1GB内网带宽,内网收发包30万PPS, 基本月租为240元人民币/月 操作系统使用 CentOS 7.6 64位,目前对于oracle没有任何必要使用32位操作系统了!! 磁盘在40GB系统盘的基础上增加一块ESSD云盘 大小40GB,作为存放oracle数据库的基础配置。并启用每日自动备份! 网络设置使用默认配置,用户实际使用时:*
若应用服务器位于阿里云同机房,一般可以直接使用内网连接,不需要太大的公网带宽*
若应用服务器不在阿里云同机房,需要使用公网连接,则需要提高公网带宽 无需启动3389端口 安全组使用默认配置,后续需要为ORACLE监听配置安全组网络端口。 最终配置报价时317元/每月! 最后确认订单,服务器就绪后,ssh远程登陆。 首先划分磁盘并 测试ESSD的IO, 第一块ESSD的路径一般为/dev/vdb,
在vdb上划分1个分区,并创建XFS文件系统,挂在到/d01目录下
fdisk /dev/vdb
Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before using the write command. Device does not contain a recognized partition table Building a new DOS disklabel with disk identifier 0x5d899fda. Command (m for help): p Disk /dev/vdb: 42.9 GB, 42949672960 bytes, 83886080 sectors Units = sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disk label type: dos Disk identifier: 0x5d899fda Device Boot Start End Blocks Id System Command (m for help): nPartition type:
p primary (0 primary, 0 extended, 4 free)e extended
Select (default p): p Partition number (1-4, default 1): First sector (2048-83886079, default 2048): Using default value 2048 Last sector, +sectors or +size{K,M,G} (2048-83886079, default 83886079): Using default value 83886079 Partition 1 of type Linux and of size 40 GiB is set Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table.Syncing disks.
partprobe /dev/vdb
# ls -l /dev/vdb1 brw-rw---- 1 root disk 253, 17 Sep 11 12:51 /dev/vdb1mkfs.xfs /dev/vdb1
mkdir /d01
mount /dev/vdb1 /d01# df -h
Filesystem Size Used Avail Use% Mounted on /dev/vda1 40G 12G 27G 31% / devtmpfs 3.8G 0 3.8G 0% /dev tmpfs 3.8G 0 3.8G 0% /dev/shm tmpfs 3.8G 636K 3.8G 1% /run tmpfs 3.8G 0 3.8G 0% /sys/fs/cgroup tmpfs 768M 0 768M 0% /run/user/0 /dev/vdb1 40G 33M 40G 1% /d01chown oracle /d01
echo "/dev/vdb1 /d01 xfs" >> /etc/fstab 测试一下ESSD的IO :yum install fio
cd /d01
fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=test --bs=4k --iodepth=64 --size=4G --readwrite=randrw --rwmixread=75 test: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=64fio-3.1
Starting 1 process test: Laying out IO file (1 file / 4096MiB)Jobs: 1 (f=1):
test: (groupid=0, jobs=1): err= 0: pid=21835: Wed Sep 11 13:48:03 2019 read: IOPS=2847, BW=11.1MiB/s (11.7MB/s)(3070MiB/275992msec) bw ( KiB/s): min=10560, max=12232, per=100.00%, avg=11393.26, stdev=241.24, samples=551 iops : min= 2640, max= 3058, avg=2848.32, stdev=60.34, samples=551 write: IOPS=951, BW=3807KiB/s (3898kB/s)(1026MiB/275992msec) bw ( KiB/s): min= 3344, max= 4256, per=100.00%, avg=3807.62, stdev=165.68, samples=551 iops : min= 836, max= 1064, avg=951.90, stdev=41.42, samples=551 cpu : usr=0.59%, sys=2.51%, ctx=951009, majf=0, minf=22 IO depths : 1=0.1%, 2=0.1%, 4=0.1%, 8=0.1%, 16=0.1%, 32=0.1%, >=64=100.0% submit : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0% complete : 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.1%, >=64=0.0% issued rwt: total=785920,262656,0, short=0,0,0, dropped=0,0,0 latency : target=0, window=0, percentile=100.00%, depth=64 Run status group 0 (all jobs): READ: bw=11.1MiB/s (11.7MB/s), 11.1MiB/s-11.1MiB/s (11.7MB/s-11.7MB/s), io=3070MiB (3219MB), run=275992-275992msec WRITE: bw=3807KiB/s (3898kB/s), 3807KiB/s-3807KiB/s (3898kB/s-3898kB/s), io=1026MiB (1076MB), run=275992-275992msec Disk stats (read/write): vdb: ios=785887/263160, merge=0/3, ticks=13264955/4397142, in_queue=15400027, util=87.17% 可以看到 单块阿里云ESSD的随机读写 IOPS ,read: IOPS=2847 write: IOPS=951 还是不错的。 开始安装oracle 19c , 首先上传介质到服务器/root目录 使用浏览器下载以下2个介质并上传到服务器目录 https://download.oracle.com/otn/linux/oracle19c/190000/oracle-database-ee-19c-1.0-1.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpmsu - root
yum -y install git git clone https://github.com/macleanliu/ora-easy-deploy yum -y localinstall oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm rpm -ivh oracle-database-ee-19c-1.0-1.x86_64.rpm bash ora-easy-deploy/create_db.sh bash ora-easy-deploy/create_db.sh ,执行该脚本输入数据库名
,数据库目录和SYS/SYSTEM密码等,后自动建库。 安装完成后,执行: #设置ORACLE OS账户密码su - root
passwd oracle
su - oracle
lsnrctl start
sql
alter system register; alter system set "_optimizer_aggr_groupby_elim"=false; alter system set "_drop_stat_segment"=1; alter system set "_common_data_view_enabled"=false; alter system set optimizer_adaptive_features=false; alter system set "_optimizer_dsdir_usage_control"=0; alter system set "_enable_automatic_sqltune"=false scope=both; alter system set "_serial_direct_read"=false; alter system set "_nlj_batching_enabled" = 0; alter system set "_optimizer_undo_cost_change" = '10.2.0.4'; alter system set "_optimizer_null_aware_antijoin" = false; alter system set "_optimizer_extend_jppd_view_types" = false; alter system set "_replace_virtual_columns" = false; alter system set "_first_k_rows_dynamic_proration" = false; alter system set "_bloom_pruning_enabled" = false; alter system set "_optimizer_multi_level_push_pred" = false; alter system set "_optim_peek_user_binds"=false; alter system set client_result_cache_size=0 scope=spfile; alter system set result_cache_mode=MANUAL; alter system set "_diag_hm_rc_enabled"=false; alter system set audit_trail=none scope=spfile; alter system set "_memory_imm_mode_without_autosga"=false scope=both; alter system set "_enable_shared_pool_durations"=false scope=spfile; alter system set deferred_segment_creation=false; alter system set "_datafile_write_errors_crash_instance"=false ; alter system set "_fairness_threshold"=6 scope=spfile; alter system set "_gc_read_mostly_locking"=false scope=spfile; alter system set "_gc_policy_time"=0 scope=spfile; alter system set "_gc_defer_time"=3 scope=spfile; alter system set "parallel_force_local"=false; alter system set "_gc_bypass_readers"=false; alter system set "_row_cr"=false; alter system set ddl_lock_timeout=0; alter system set "_gby_hash_aggregation_enabled"=False scope=spfile; alter system set "_cleanup_rollback_entries"=400 scope=spfile; alter system set "_dbms_sql_security_level"=0 scope=spfile; alter system set "_bloom_pruning_enabled"=False scope=spfile; alter system set "_simple_view_merging"=True scope=spfile; alter system set "_enable_NUMA_optimization"=FALSE scope=spfile; alter system set "_fix_control"='9344709:OFF' scope=spfile; alter system set "_px_use_large_pool"=True scope=spfile; alter system set "_mv_refresh_use_hash_sj"=FALSE scope=spfile; alter system set "_mv_refresh_use_stats"=True scope=spfile; alter system set "_like_with_bind_as_equality"=TRUE scope=spfile; alter system set optimizer_secure_view_merging=false scope=spfile; alter system set optimizer_capture_sql_plan_baselines=False scope=spfile; alter system set event="10949 TRACE NAME CONTEXT FOREVER:28401 trace name context forever, level 1" scope=spfile; exec DBMS_AUTO_TASK_ADMIN.DISABLE( client_name => 'auto optimizer stats collection', operation => NULL,window_name => NULL); exec DBMS_AUTO_TASK_ADMIN.DISABLE( client_name => 'auto space advisor', operation => NULL,window_name => NULL); exec DBMS_AUTO_TASK_ADMIN.DISABLE( client_name => 'sql tuning advisor', operation => NULL,window_name => NULL);commit;
exec dbms_scheduler.disable('ORACLE_OCM.MGMT_CONFIG_JOB'); exec dbms_scheduler.disable('ORACLE_OCM.MGMT_STATS_CONFIG_JOB'); // to disable histogram , you set bucket size to 1 exec DBMS_STATS.SET_PARAM( 'method_opt','FOR ALL COLUMNS SIZE 1' );commit;
// disable 19c automatic indexing feature alter system set "_optimizer_auto_index_allow"=NEVER scope=spfile; alter system set "_optimizer_use_auto_indexes"=OFF scope=spfile; shutdown immediate;startup ;
完成配置。
以上完成了基础配置,但外网客户端还是无法访问oracle服务器监听的 ,例如使用tnsping工具ping服务器监听,或sqlplus均无法登陆 tnsping 47.XX.XX.XX TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 - Production on 12-9月 -2019 10:35:17 Copyright (c) 1997, 2014, Oracle. All rights reserved. 已使用的参数文件:sqlnet.ora
已使用 HOSTNAME 适配器来解析别名 尝试连接 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=47.XX.XX.XX)(PORT=1521))) TNS-12535: TNS: 操作超时 sqlplus system/oracle@47.XX.XX.XX:1521/ORCL SQL*Plus: Release 12.1.0.2.0 Production on 星期四 9月 12 10:39:07 2019 Copyright (c) 1982, 2014, Oracle. All rights reserved.ERROR:
ORA-12170: TNS: 连接超时 我们在阿里云控制台,点选ECS服务器,更多=》网络和安全组=》安全组配置=》配置规则 点击添加安全组规则: 选择协议类型,ORACLE 1521 ,如果你要使用非默认ORACLE端口,即不使用1521端口,那么需要在端口范围内自行选择端口;这里我们使用默认端口,因为可以指定默认端口允许的外网IP,所以一般使用默认端口即可; 授权对象中输入 应用服务器的外网IP 。 点击确定后1分钟后, 可以尝试登陆: tnsping 47.XX.XX.XX TNS Ping Utility for 64-bit Windows: Version 12.1.0.2.0 - Production on 12-9月 -2019 10:46:46 Copyright (c) 1997, 2014, Oracle. All rights reserved. 已使用的参数文件:sqlnet.ora
已使用 HOSTNAME 适配器来解析别名 尝试连接 (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=))(ADDRESS=(PROTOCOL=TCP)(HOST=47.XX.XX.XX)(PORT=1521)))OK (10 毫秒)
sqlplus system/oracle@47.XX.XX.XX:1521/ORCL SQL*Plus: Release 12.1.0.2.0 Production on 星期四 9月 12 10:47:33 2019 Copyright (c) 1982, 2014, Oracle. All rights reserved. 上次成功登录时间: 星期四 9月 12 2019 10:33:17 +08:00连接到:
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production 可以看到登陆成功,这样我们就可以愉快的使用阿里云上的ORACLE 19c了!!
Filed Under: aliyun
RMAN GENERATE SCRIPT SET UNTIL TIME2019/09/11 by admin
Leave a Comment
echo 'run {' > test2.cmd echo 'allocate channel t1' >> test2.cmd echo 'set until time="to_date('\'''`date "+%Y-%m-%d %H:%M:%S"`''\'','\''YYYY-MM-DD hh24:mi:ss'\'')";' >> test2.cmd echo 'set newname for database to '+datadg';' >> test2.cmd echo 'restore database;' >> test2.cmd echo 'switch datafile all;' >> test2.cmd echo 'recover database;' >> test2.cmd echo 'release channel t1;' >> test2.cmd echo '}' >> test2.cmdFiled Under: Oracle
,
Oracle数据恢复、数据库恢复、灾难恢复 关于绿盟扫描ORACLE漏洞的问题 说几点看法2019/09/09 by admin
Leave a Comment
之前看了这篇文 “坑爹”的绿盟数据库漏扫,求你专业一点 ,讲几点个人的看法。 因为近期国内勒索病毒问题频发,可以观测到QQ群内大量甲方人员提问关于绿盟扫描的问题。 文章的主旨是说 绿盟的ORACLE 数据库漏洞扫描的结果比较不靠谱,已经装了的补丁,扫描的结果仍是存在漏洞,让甲方的人员很苦恼。 绿盟号称是在企业安全市场占有率最高的公司,拥有自己的产品和服务,涉猎企业IT环境中的几乎所有的服务器、软件的安全问题,这几年由于安全问题越来越被重视,这类安全公司确实也跟着火了。 我曾经2013年在某省移动驻场负责维护几十套ORACLE数据库,每季度都会收到绿盟发来的漏洞列表,第一次发来几千项,企信部领导“高度重视”,让我连夜排查并给出解决方案。当时大多数数据库版本是11203,且安装了较新的PSU,我发现漏洞里面居然还存在2009年的CVE高危漏洞,当时就纳闷ORACLE自己在2009年公布的漏洞到现在咋还没修复呢? 通过原厂确认,首先ORACLE不认可任何第三方软件的漏洞扫描结果,其次绿盟的漏洞扫描机制简单粗暴,基本上没有可信度,后来和甲方DBA达成共识:1、安装最新的PSU,2、通过技术手段屏蔽绿盟的扫描。 没想到现在都2019年了,这个问题依然存在,不知道产品经理是不是去岘港度假被抓了,看看苦逼DBA们被坑害的反馈吧: 首先说说绿盟漏扫的”业余“机制吧,通过数据库版本号直接去匹配ORACLE官方的CVE漏洞列表,不会检测PSU。拜托,现在大多数科技公司都在应用AI、机器学习了,您还在通过几个数字匹配表格来定义企业的信息安全分数,真是太“LOW”,哪还有安全可言。 给出了一大堆漏洞,高危的红色,让领导瑟瑟发抖,我想绿盟可能还会觉得自己很牛X吧。然而却没有给出解决方案,最多丢一个ORACLE 的CVE链接给你,自己去找补丁,各个补丁之间还可能冲突,对了这里是CPU,-_-||无力吐槽!
给乙方DBA的建议: 1、不要浪费时间尝试根据不可信的漏洞列表一一去找单个的补丁,直接安装最新的PSU即可(不过最佳实践是次新,另外12.2改为RU)。 2、觉得不好交差,或者强迫症,可以通过防火墙、端口、数据库IP限制等方式限制绿盟机器的访问; 3、把“皮球”抛给现场的绿盟GG,让他们去跟甲方解释,承认这是绿盟漏扫软件的缺陷; 4、使用专业的数据库巡检平台检查数据库,从数据库的角度去排查安全问题。 给绿盟的建议: 1、希望绿盟专业一点,牢记“专功术业”的愿景,真正做到“成就所托”,不要学早期的360通过报大量高危漏洞吓唬用户来体现自身卑微的价值; 2、学习了解ORACLE的补丁策略,弄清楚ONE OF PATCH、CPU、PSU、RU的区别以及大版本小版本的关系,分别修复了哪些CVE漏洞,如果真的存在漏洞,那么给出专家的方案,不要给个CVE链接草草了事,我相信这些需求相对来说比较容易,如果需要我们可以免费支持; 3、多听听业界的声音和用户的反馈,快速迭代改进产品,不然没有核心竞争力,分分钟被替代被超越。 最后还是诚恳的呼吁绿盟团队,尽快把自己产品的缺陷修复,完善各项功能,真正为国内企业信息安全建设贡献更多的力量,“专功术业,成就所托”。 结论是让绿盟在扫描上专业一点,改进产品。 评论里又绿盟的相关人员驳斥了文章观点,认为绿盟扫描结果不准确是因为 没有做登陆扫描。 @楼主,看你的描述,13年就接触数据库漏洞处理并接触了漏洞扫描器,不过看起来这么多年你也没有潜心研究漏洞扫描器原理、没有思考为啥这么多年误报问题一直无法解决、也没有尝试去找厂家研究扫描功能、也没有思考国内安全厂商的技术瓶颈与困境,给出可供参考的意见和建议,通篇只有闹骚满腹,无尽抱怨,看来你这么多年也没有进步,也没有看到别人的进步,希望你还是摆正心态,踏实做事。 完全站在DBA的角度去考虑安全,实话说挺无知的 1.先搞清楚基于网络的漏洞扫描原理,存活判别,应用识别,发包探测和回应到底能获取目标对象多少信息? 2.登录扫描原理,登录目标对象后到底能获取多少信息,是否会执行命令?什么情况下执行POC 3.想问问LZ,哪个大厂的漏扫可以精准判断ORACLE漏洞?如果都不行,自己有思考过原因何在吗?光在这里瞎BB 楼主难道不知道登录扫描么?给建议,据说绿盟登录扫描很早就实现了,楼主没用过么?怪不得不知道,发文 首先,远程扫描返回的BANNER不带PATCH,其次,还有登陆扫描的功能。 但,更多的情况是甲方不愿意把数据库的登陆方式交给除了数据库厂家外的其他乙方。吃得咸鱼抵得渴,不提供密码,扫描结果不准确那就自己受着。所以,涉密的东西还是甲方或者相关厂家自己做吧,别什么都赖给别人,自己不作为还怪别人呢。 太可怕了,LZ 6年还没搞懂什么是登录扫描 上面陈述了一些问题,这里讲讲我的看法,一家之言*
没有做登陆扫描,主要原因一般是甲方人员并不放心把账户密码给来做扫描的技术人员;以人之常情而论,我相信90%的甲方同学并不愿意做登陆扫描* 因为
第一点的这个情况,导致绿盟的扫描结果,大多数情况下不准确和无价值*
打一个不恰当的比方,用户去医院看病,医生让验血/拍片,但用户都不愿意验血/拍片;因为不愿意验血/拍片,所以医生几乎没有可参考的信息*
在这种情况下,医生罗列了所有病人可能患的病症,列可能性嘛,多列一些总不会错 * 用户面对医生罗列的一大堆病症可能性,无所适从 这里划分一下责任:*
这里可以看到,甲方的责任在于虽然有配合扫描漏洞的义务,但并不乐意真的提供账号密码来做登陆扫描。 * 绿盟方面可能没有强调登陆扫描的重要性, 实际上 不做登陆扫描的话 , 报告可以认为是没意义的,但这件事也就不用做了*
绿盟方面因为要在没有可能获得完整信息的情况下,给出报告。强行罗列了其可以确定的可能性,这导致维护方最后要么不处理,要么很吃瘪 最后说几点建议:*
如果甲方同意做漏洞扫描,就该开放账户密码给绿盟。绿盟在做扫描前应该确认这一点,如果甲方不愿意提供,那么强行去做这些事,可以说是走过场的形式主义*
国内大部分非外企或上市企业使用的要么是盗版ORACLE,要么从来不购买ORACLE标准服务;这种情况下做漏洞扫描,即便出了准确结果,甲方也并没有合法途径去获得相关的安全性补丁,从网上的非官方渠道下载一些补丁,岂不是更不安全? 所以对于使用盗版ORACLE或者从不购买ORACLE标准服务的甲方,从法理上不建议去做这些漏洞扫描。这类甲方应当适当提高内网安全系数,避免ORACLE有暴露在外的可能性 * ORACLE每季度都会出新的PSU/SPU(以前叫CPU 即安全补丁),虽然重要度可能并不均匀(例如一年中只有一个季度发布了适应面很广,影响很大的漏洞);但可以说永远可能会发现新的安全漏洞;如果是顶级的企业,无所谓人力成本,当然可能每年升级个几次,但一般来说是不可能的,成本不可控*
就Maclean的经验来看,中国和美国的顶级银行或企业都并不会如第三条这样做,打SPU的情况都是少数,除非特别需要*
目前阶段,国内的主要安全趋势还是做好内网安全,能把弱密码和低版本的Windows/Linux全干掉,把无密码的MongoDB/Redis干掉,已经功德无量了*
如果还有同学被绿盟的问题难住,可以耐心看下网上的许多评论,耐心和领导说明;毕竟我们纯技术人员,能做的事,或者说能做到的事并不多啊!Filed Under: Oracle
,
Oracle数据库安全Security LINUX内存使用的FREE命令 改进 添加AVAILABLE项 进一步避免FREE内存不足的误会2019/09/06 by admin
Leave a Comment
在各种QQ群里有大量同学会问,为什么LINUX/UNIX上free内存太少会不会有问题。 为了避免这种不必要的误会,不同的OS版本,采用了不同的策略。 例如最狠的是Solaris SUNOS ,在Solaris 8中将文件系统缓存直接算作free内存: 而Linux中从大约2014年 , 内核版本kernels 2.6.27+开始引入了MemAvailable ,其解释为:$ free -h
total used free shared buff/cache available Mem: 31G 9.1G 422M 5.8G 21G 15G Swap: 15G 11G 3.8Gavailable
Estimation of how much memory is available for starting new applications, without swapping. Unlike the data provided by the cache or free fields, this field takes into account page cache and also that not all re-claimable memory slabs will be reclaimed due to items being in use (MemAvailable in /proc/meminfo, available on kernels 3.14, emulated on kernels 2.6.27+, otherwise the same as free) Linux Kernel 的GIT中,有比较明确的概述: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=34e431b0ae398fc54ea69ff85ec700722c9da773 /proc/meminfo: provide estimated available memory Many load balancing and workload placing programs check /proc/meminfo to estimate how much free memory is available. They generally do this by adding up "free" and "cached", which was fine ten years ago, but is pretty much guaranteed to be wrong today. It is wrong because Cached includes memory that is not freeable as page cache, for example shared memory segments, tmpfs, and ramfs, and it does not include reclaimable slab memory, which can take up a large fraction of system memory on mostly idle systems with lots of files. Currently, the amount of memory that is available for a new workload, without pushing the system into swap, can be estimated from MemFree, Active(file), Inactive(file), and SReclaimable, as well as the "low" watermarks from /proc/zoneinfo. However, this may change in the future, and user space really should not be expected to know kernel internals to come up with an estimate for the amount of free memory. It is more convenient to provide such an estimate in /proc/meminfo. If things change in the future, we only have to change it in one place. Signed-off-by: Rik van RielDiffstat
-rw-r--r-- Documentation/filesystems/proc.txt 9 -rw-r--r-- fs/proc/meminfo.c 37 2 files changed, 46 insertions, 0 deletions diff --git a/Documentation/filesystems/proc.txt b/Documentation/filesystems/proc.txt index 22d89aa3..8533f5f 100644 --- a/Documentation/filesystems/proc.txt +++ b/Documentation/filesystems/proc.txt @@ -767,6 +767,7 @@ The "Locked" indicates whether the mapping is locked in memory or not. MemTotal: 16344972 kB MemFree: 13634064 kB +MemAvailable: 14836172 kB Buffers: 3656 kB Cached: 1195708 kB SwapCached: 0 kB @@ -799,6 +800,14 @@ AnonHugePages: 49152 kB MemTotal: Total usable ram (i.e. physical ram minus a few reserved bits and the kernel binary code) MemFree: The sum of LowFree+HighFree +MemAvailable: An estimate of how much memory is available for starting new + applications, without swapping. Calculated from MemFree, + SReclaimable, the size of the file LRU lists, and the low + watermarks in each zone. + The estimate takes into account that the system needs some + page cache to function well, and that not all reclaimable + slab will be reclaimable, due to items being in use. The + impact of those factors will vary from system to system. Buffers: Relatively temporary storage for raw disk blocks shouldn't get tremendously large (20MB or so) Cached: in-memory cache for files read from the disk (the diff --git a/fs/proc/meminfo.c b/fs/proc/meminfo.c index a77d2b2..24270ec 100644 --- a/fs/proc/meminfo.c +++ b/fs/proc/meminfo.c @@ -26,7 +26,11 @@ static int meminfo_proc_show(struct seq_file *m, void *v) unsigned long committed; struct vmalloc_info vmi;long cached;
+ long available; + unsigned long pagecache; + unsigned long wmark_low = 0; unsigned long pages; + struct zone *zone;int lru;
/*
@@ -47,12 +51,44 @@ static int meminfo_proc_show(struct seq_file *m, void *v) for (lru = LRU_BASE; lru < NR_LRU_LISTS; lru++) pages = global_page_state(NR_LRU_BASE + lru); + for_each_zone(zone) + wmark_low += zone->watermark;+
+ /*
+ * Estimate the amount of memory available for userspace allocations, + * without causing swapping.+ *
+ * Free memory cannot be taken below the low watermark, before the + * system starts swapping.+ */
+ available = i.freeram - wmark_low;+
+ /*
+ * Not all the page cache can be freed, otherwise the system will + * start swapping. Assume at least half of the page cache, or the + * low watermark worth of cache, needs to stay.+ */
+ pagecache = pages + pages; + pagecache -= min(pagecache / 2, wmark_low); + available += pagecache;+
+ /*
+ * Part of the reclaimable swap consists of items that are in use, + * and cannot be freed. Cap this estimate at the low watermark.+ */
+ available += global_page_state(NR_SLAB_RECLAIMABLE) - + min(global_page_state(NR_SLAB_RECLAIMABLE) / 2, wmark_low);+
+ if (available < 0) + available = 0;+
/*
* Tagged format, for easy grepping and expansion.*/
seq_printf(m,
"MemTotal: %8lu kB\n" "MemFree: %8lu kB\n" + "MemAvailable: %8lu kB\n" "Buffers: %8lu kB\n" "Cached: %8lu kB\n" "SwapCached: %8lu kB\n" @@ -105,6 +141,7 @@ static int meminfo_proc_show(struct seq_file *m, void *v),
K(i.totalram),
K(i.freeram),
+ K(available),K(i.bufferram),
K(cached),
K(total_swapcache_pages()), 其中提到的是大量 对内存敏感的程序 是简单的将 /proc/meminfo 接口中的FREE+CACHED 的2者相加,算作可用的内存。而我们国内的同学的大多内存焦虑症,是只将FREE算作可用内存。 按照Linux Kernel Rik van Rielstarting new
+ applications, without swapping. Calculated from MemFree, + SReclaimable, the size of the file LRU lists, and the low + watermarks in each zone. + The estimate takes into account that the system needs some + page cache to function well, and that not all reclaimable + slab will be reclaimable, due to items being in use. The + impact of those factors will vary from system to system. 其详细算法如上文引用。 因为都9102年了,可以让小伙伴不要再看 free memory了, 基本上关注 available memory 就可以了!对领导也耐心解释下,看available更有意义! 另有同学问,为什么有free内存的情况下,会用到SWAP空间。 stackexchange上有大量相关的解释,这里引用高赞的回答: It is normal for Linux systems to use _some_ swap even if there is still RAM free. The Linux kernel will move to swap memory pages that are very seldom used (e.g., the getty instances when you only use X11, and some other inactive daemon). Swap space usage becomes an issue _only when there is not enough RAM available,_ and the kernel is forced to continuously move memory pages to swap and back to RAM, just to keep applications running. In this case, system monitor applications would show a lot of disk I/Oactivity.
用一句话说 就是有free memory情况下,用SWAP很正常;很少用到的内存页就会被换出去,交换导致性能不好的情况是 内存真不够了,SWAP一会换出一会换入,造成I/O开销;否则问题不大。Filed Under: Linux
PRM DUL恢复ORACLE数据库数据表 中文最简易说明2019/08/23 by admin
Leave a Comment
视频播放器
https://zcdn.parnassusdata.com/s1.mp4 Media error: Format(s) not supported or source(s) not found Download File: https://zcdn.parnassusdata.com/s1.mp4?_=100:00
00:00
00:00
使用上/下箭头键来增高或降低音量。 软件下载地址: https://zcdn.parnassusdata.com/DUL5108.zip 本软件为JAVA编写,可用于WINDOWS LINUX(红帽,Centos,Ubuntu)AIX SOLARIS HPUX
但必须先安装 JDK 1.8 !!!JDK 下载地址:
LINUX X86: http://zcdn.parnassusdata.com/jdk-8u201-linux-i586.rpm32位LIUNX
LIUNX X86-64: http://zcdn.parnassusdata.com/jdk-8u91-linux-x64.rpm64位LIUNX
Windows X86: http://zcdn.parnassusdata.com/jdk-8u201-windows-i586.exe32位Windows
Windows X86-64:
http://zcdn.parnassusdata.com/jdk-8u181-windows-x64.exe 64位Windows 目前的操作系统,基本都是64位的,推荐用64位JDK!! 确认JAVA 版本,打开命令行,在windows上是cmdjava -version
解压DUL5108.zip
Windows双击prm.bat Linux 在满足X-Windows的条件下运行sh prm.sh,可以安装XSHELL Xmanager等远程图形化客户端: xmanager 下载地址: xmanager 4 https://zcdn.askmaclean.com/Xme4.exe xmanager 6 https://zcdn.askmaclean.com/Xme6.exe 选择字典模式, 加入所有数据文件即可!! 必须加入所有你找的到的数据文件,所有的属于整个数据库的数据文件!! 不要加入其他数据库的数据文件!! 所有数据文件!! 所有数据文件!! 不要只加入SYSTEM01.DBF!! 不要只加入SYSTEM01.DBF!! 不要只加入你认为有问题的数据文件!! 不要只加入你认为有问题的数据文件!! 所有数据文件!! 所有数据文件!! 必须包含 SYSTEM01.DBF!! 必须包含 SYSTEM01.DBF!! 必须包含 SYSTEM01.DBF!! 如何找到所有数据文件???在命令行中
sqlplus / as sysdba
conn / as sysdba
shutdown immediate;
startup mount;
select name from v$datafile; 最简单模式下不用选择任何参数,只要加入数据文件!! ctrl+A 选择目录下所有dbf/ora文件!! 双击查看表中的样例数据, 这只是样例数据!!不是全部数据!! 这只是样例数据!!不是全部数据!! 这只是样例数据!!不是全部数据!! 找到你要的用户名,下面查看重要表是否有数据!! 你看到的只是样例数据!!不是全部数据!! 你看到的只是样例数据!!不是全部数据!! 社区版最多抽1万行,可能会略多于1万行!!! 社区版最多抽1万行,可能会略多于1万行!!! 社区版最多抽1万行,可能会略多于1万行!!! 社区版最多抽1万行,可能会略多于1万行!!! 右键unload 数据抽取到文件。 抽取完 就给你 这个文件的路径了!!! 抽取完 就给你 这个文件的路径了!!! 抽取完 就给你 这个文件的路径了!!! 按照路径去 就能看到这个文件!!!! 建议使用databridge数据搭桥模式!! 建议使用databridge数据搭桥模式!! 建议使用databridge数据搭桥模式!! 不推荐用 unload 抽取模式!! 数据搭桥模式,在新数据库/目标数据库新建一个用户, create user pd1 identified by oracle;grant dba to pd1;
注意给dba权限!!!! 注意给dba权限!!!! 注意给dba权限!!!! 没有新数据库,那就自己建一个!! 用dbca命令,新建一个!! 注意字符集要和原来数据库一样!!!! 注意目标数据库监听是否打开了??????? 注意目标数据库监听是否打开了??????? 确保 监听打开了, 服务注册了!!!! 确保 监听打开了, 服务注册了!!!! 选择你想要的表空间!!! 可以数据搭桥整个用户,整个用户,整个用户下的所有表!!!! 不是只能一张张表抽!!! 不是只能一张张表抽!!! 可以数据搭桥整个用户,整个用户,整个用户下的所有表!!!! 点用户名,右键,数据搭桥整个用户下所有表!!! 可以将用户的表结构,索引,主键约束,视图,存储过程,包,触发器,sequence序列导出成ddl文本!! 可以将用户的表结构,索引,主键约束,视图,存储过程,包,触发器,sequence序列导出成ddl文本!! 可以将用户的表结构,索引,主键约束,视图,存储过程,包,触发器,sequence序列导出成ddl文本!!右键用户
,选择一个可用的数据搭桥用户,最后给你一个文本文件!!!右键用户
,选择一个可用的数据搭桥用户,最后给你一个文本文件!!!右键用户
,选择一个可用的数据搭桥用户,最后给你一个文本文件!!! 导出ddl功能,要购买了企业版授权,才能生效!!!! 导出ddl功能,要购买了企业版授权,才能生效!!!! 导出ddl功能,要购买了企业版授权,才能生效!!!! 数据搭桥默认将varchar字段,修改为varchar(4000),以保证一定可以插入成功!!! 如果不希望使用varchar(4000),可以用上一步(导出表结构ddl)生成的建表语句先建表!! 如果不希望使用varchar(4000),可以用上一步(导出表结构ddl)生成的建表语句先建表!! 数据搭桥会直接插入数据到目标表,而不自己创建表!!!! 如果还有问题可以找我们 电话 13764045638 QQ 47079569 !!!Filed Under: Oracle
,
Oracle数据恢复、数据库恢复、灾难恢复 使用PRM DUL软件快速恢复被勒索病毒 恶意软件加密的ORACLE数据库数据文件2019/07/08 by admin
Leave a Comment
为什么可以恢复这些被加密的ORACLE数据库数据文件? 因为这些文件一般比较大,超过300MB。导致恶意加密软件要加密它们时要花费大量时间和CPU,因此这些勒索软件一般仅部分加密其内容。 通过PRM-DUL的强大功能,可以恢复出其中绝大部分未被加密的内容。 PRM DUL download: https://zcdn.parnassusdata.com/DUL5108.zip视频播放器
https://zcdn.parnassusdata.com/prm%20dul%20recover%20malware%20ransomware%20corrupted%20oracle%20datafile.mp4 Media error: Format(s) not supported or source(s) not foundDownload File:
https://zcdn.parnassusdata.com/prm%20dul%20recover%20malware%20ransomware%20corrupted%20oracle%20datafile.mp4?_=200:00
00:00
00:00
使用上/下箭头键来增高或降低音量。Filed Under: Oracle
,
Oracle数据恢复、数据库恢复、灾难恢复 常用软件下载地址2019/07/07 by admin
Leave a Comment
putty https://zcdn.askmaclean.com/putty.exe teamviewer 14 https://zcdn.askmaclean.com/tv14.exe xmanager 4 https://zcdn.askmaclean.com/Xme4.exe xmanager 6 https://zcdn.askmaclean.com/Xme6.exe cmder https://zcdn.askmaclean.com/cmder.zip sqldeveloper https://zcdn.askmaclean.com/sqldeveloper-19.1.0.094.2042-no-jre.zip chrome win https://zcdn.askmaclean.com/chrome-win.zip bbed linux https://zcdn.askmaclean.com/linux%20bbed.zip bbed windows https://zcdn.askmaclean.com/9ibbedfull.zip everything https://zcdn.askmaclean.com/Everything.exe notepad++ https://zcdn.askmaclean.com/npp.7.3.1.Installer.exe touch.exe https://zcdn.askmaclean.com/touch.exe winscp https://zcdn.askmaclean.com/winscp564setup.exe vncviewer https://zcdn.askmaclean.com/vncviewer.exe PRM DUL https://zcdn.parnassusdata.com/DUL5108.zipJDK
JDK 1.8 DOWNLOAD URL: AIX JAVA SDK: http://zcdn.parnassusdata.com/Java8_64.sdk.8.0.0.527.tar.gz AIX JRE: http://zcdn.parnassusdata.com/Java8_64.jre.8.0.0.527.tar.gz LINUX X86: http://zcdn.parnassusdata.com/jdk-8u201-linux-i586.rpm LIUNX X86-64: http://zcdn.parnassusdata.com/jdk-8u91-linux-x64.rpm Windows X86: http://zcdn.parnassusdata.com/jdk-8u201-windows-i586.exe Windows X86-64: http://zcdn.parnassusdata.com/jdk-8u181-windows-x64.exe HPUX Itanium: http://zcdn.parnassusdata.com/Itanium_JDK_8.0.16_December_2018_Z7550-63506_java8_18016_ia.depot squirrel-sql-3.9.0: http://zcdn.parnassusdata.com/squirrel-sql-3.9.0-standard.jar db-derby-10.14.2.0: http://zcdn.parnassusdata.com/db-derby-10.14.2.0-bin.zip Derby IJ Connection setting:Windows:
C:\> set DERBY_INSTALL=C:\Apache\db-derby-10.14.2.0-bin C:\> set CLASSPATH=%DERBY_INSTALL%\lib\derby.jar;%DERBY_INSTALL%\lib\derbytools.jar;. C:\> cd %DERBY_INSTALL%\bin C:\Apache\db-derby-10.14.2.0-bin\bin> setEmbeddedCP.batLINUX/UNIX
$ export DERBY_INSTALL=/opt/Apache/db-derby-10.14.2.0-bin $ export CLASSPATH=$DERBY_INSTALL/lib/derby.jar:$DERBY_INSTALL/lib/derbytools.jar:. $ cd $DERBY_INSTALL/bin$ . setEmbeddedCP
java org.apache.derby.tools.sysinfo java org.apache.derby.tools.ij connect 'jdbc:derby:\dbinfo\parnassus_dbinfo_DB_20190127144050';show schemas;
show tables;
clash for windows: https://zcdn.askmaclean.com/Clash.for.Windows-0.6.0-win.zip surge : https://zcdn.askmaclean.com/Surge-latest.zip prm dul恢复oracle数据库最简模式 http://zcdn.parnassusdata.com/prm%20dul%20recover%20oracle%20database%20easiest%20way.mp4 prm dul使用数据搭桥传输Oracle表数据 http://zcdn.parnassusdata.com/prm%20dul%20databridge%20transfer%20oracle%20table.mp4 prm dul在损坏数据库使用exportddl导出建表语句、索引、存储过程、函数等代码 http://zcdn.parnassusdata.com/prm%20dul%20export%20ddl%20from%20corrupted%20oracle%20database.mp4 prm dul恢复oracle中被delete的数据 http://zcdn.parnassusdata.com/prm%20dul%20recover%20oracle%20deleted%20rows.mp4 prm dul恢复oracle中被truncate的数据 http://zcdn.parnassusdata.com/prm%20dul%20recover%20oracle%20truncated%20table.mp4 prm dul用户级别的数据搭桥 http://zcdn.parnassusdata.com/prm%20dul%20schema%20level%20databridge.mp4 prm dul在ASM存储情况下的最简模式 http://zcdn.parnassusdata.com/prm%20dul%20easiest%20way%20with%20ASM%20storage.mp4 prm dul恢复oracle中被drop掉的表 http://zcdn.parnassusdata.com/prm%20dul%20recover%20oracle%20dropped%20table.mp4 prm dul恢复oracle 12c以后可拔插数据库PDB/CDB中的数据 http://zcdn.parnassusdata.com/prm%20dul%20work%20with%20oracle%2012c%20pdb%20pluggable%20database%20container%20database.mp4 prm dul恢复被恶意加密的Oracle数据文件 http://zcdn.parnassusdata.com/prm%20dul%20recover%20malware%20ransomware%20corrupted%20oracle%20datafile.mp4 prmscan oracle数据块重组恢复解决方案 http://zcdn.parnassusdata.com/prmscan.mp4Filed Under: Oracle
GIT NPM BREW YARN 配置PROXY2019/06/14 by admin
Leave a Comment
all
export https_proxy=http://127.0.0.1:6152 export http_proxy=http://127.0.0.1:6152 export all_proxy=socks5://127.0.0.1:6153 git npm brew yarn 配置代理//git列出
git config --global http.proxy//git设置
git config --global http.proxy 'socks5://127.0.0.1:6153'//git取消设置
git config --global --unset http.proxynpm
//列出所有配置npm config ls -l
//列出
npm config list
//设置
npm config set https-proxy http://127.0.0.1:6152 npm config set proxy http://127.0.0.1:6152//npm 取消配置
npm config list delete https-proxy npm config set proxy//yarn 列出
yarn config list
//yarn 设置
yarn config set proxy http://127.0.0.1:6152 yarn config set https-proxy http://127.0.0.1:6152 //yarn 取消配置 yarn config delete proxy yarn config delete https-proxy//brew 列出
all_proxy=socks5://127.0.0.1:6153 brew install mysql Filed Under: JavaScript 关于MYSQL的DOUBLEWRITE与ORACLE中类似的机制2019/05/22 by admin
2 Comments
大致看了下mysql 的double write buffer概念 : SO WHY DOUBLEWRITE IS NEEDED ? It is needed to archive data safety in case of partial page writes. Innodb does not log full pages to the log files, but uses what is called “physiological” logging which means log records contain page number for the operation as well as operation data (ie update the row) and log sequence information. Such logging structure is geat as it require less data to be written to the log, however it requires pages to be internally consistent. It does not matter which page version it is – it could be “current” version in which case Innodb will skip page upate operation or “former” in which case Innodb will perform update. If page is inconsistent recovery can’t proceed. NOW LETS TALK A BIT ABOUT PARTIAL PAGE WRITES – what are they and why are they happening. Partial page writes is when page write request submited to OS completes only partially. For example out of 16K Innodb page only first 4KB are updated and other parts remain in their former state. Most typically partial page writes happen when power failure happens. It also can happen on OS crash – there is a chance operation system will split your 16K write into several writes and failure happens just between their execution. Reasons for splitting could be file fragmentation – most file systems use 4K block sizes by default so 16K could use more than one fragment. Also if software RAID is used page may come on the stripe border requiring multiple IO requests. Same happens with Hardware RAID on power failure if it does not have battery backed up cache. If there is single write issued to the disk itself it should be in theory completed even if power goes down as there should be enough power accomulated inside the drive to complete it. I honestly do not know if this is always the case – it is hard to check as it is not the only reason for partial page writes. I just know they tend to happen and before Innodb doublewirite was implemented I had couple of data corruptions due to it. SO HOW DOES DOUBLE WRITE WORKS ? You can think about it as about one more short term log file allocated inside Innodb tablespace – it contains space for 100 pages. When Innodb flushes pages from Innodb buffer pool it does so by multiple pages. So several pages will be written to double write buffer (sequentially), fsync() called to ensure they make it to the disk, then pages written to their real location and fsync() called the second time. Now on recovery Innodb checks doublewrite buffer contents and pages in their original location. If page is inconsistent in double write buffer it is simply discarded, if it is inconsistent in the tablespace it is recovered from double write buffer. 我是这样认为的 其实oracle中也有写 partial page(block)的可能,只不过 o的redo和controlfile 检查点比较严谨, 不在需要这样一个区域了。 对于 partial page(block) 的前滚,o也有这样的情况,例如 一个已经写好的块, 增量检查点 未必更新了控制文件, o认为 这个块不是最新的, 那么o也会同样的再写一次 ,即便这个块已经是最新的。 这种机制在oracle中称为resilver write 镀银写。 Most data blocks are changed via redo and written by DBWR. These writes are coordinated by cache locks that insure there is only one current dirty buffer for any given block. If DBWR dies for any reason, its instance will also die. It will be necessary to do some form of recovery applying redo to reconstruct the blocks that were in the cache at the time of the failure. This recovery will have to either read or write any block that is both modified by redo, and might have been in the middle of a write when DBWR died. Thus, these blocks are a superset of the blocks that Oracle must resilver if it is responsible for resilvering. Hence, during recovery, Oracle will rewrite every block it examines in files it is responsible for resilvering. Since media recovery may be used to recover changes lost when an instance dies, Oracle must also resilver when doing media recovery. Data blocks used for sorting are modified without generating any redo. They are still written by DBWR. These blocks are never read by any process other than the one doing the sort, and if its DBWR dies then it too will die. Thus it is not important that these blocks becomeresilvered.
mysql里叫double write, o 里叫 resilver write。 目的应该是一样的,机制不同,mysql 里知名度很高 可能是因为其可以关闭。 o里面就没人研究能不能关这个了。Filed Under: Oracle
19C AUTOMATIC INDEXING 自动建索引 控制隐藏参数 _OPTIMIZER_AUTO_INDEX_ALLOW _OPTIMIZER_USE_AUTO_INDEXES2019/05/21 by admin
Leave a Comment
目前 (2019年5月21日)似乎MOS上找不到 控制19c Automatic Indexing 自动建索引特性的Notes,大致可以通过 _optimizer_auto_index_allow 和 _optimizer_use_auto_indexes 2个参数关闭该新特性。 col name format a40 SELECT x.ksppinm NAME, y.ksppstvl VALUE FROM SYS.x$ksppi x, SYS.x$ksppcv y WHERE x.inst_id = USERENV ('Instance') AND y.inst_id = USERENV ('Instance') AND x.indx = y.indx AND x.ksppinm LIKE '%index%'; NAME VALUE -------------------------------------------------- ------------------------------------------------------------ _optimizer_auto_index_allow AUTO _gc_defer_ping_index_only TRUE _kcl_index_split TRUE _gc_fast_index_split_wait 0 _index_partition_large_extents FALSE _index_partition_shrink_opt TRUE _db_index_block_checking TRUE _disable_index_block_prefetching FALSE _index_scan_check_skip_corrupt FALSE _index_scan_check_stopkey FALSE _index_max_inc_trans_pct 20 _index_split_chk_cancel 5 _advanced_index_compression_trace 0 db_index_compression_inheritance NONE _index_alert_key_not_found FALSE _reuse_index_loop 5 _reclaim_lob_index_scan_limit 0 _ignore_desc_in_index FALSE _index_load_buf_oltp_sacrifice_pct 10 _index_load_buf_oltp_under_pct 85 _index_load_buf_oltp_over_retry 0 _index_load_last_leaf_comp 85 _index_load_min_key_count 10 _index_load_analysis_frequency 4 _advanced_index_compression_umem_options 2147483647 _advanced_index_compression_options 0 _advanced_index_compression_cmp_options 0 _advanced_index_compression_tst_options 0 _advanced_index_compression_opt_options 0 _advanced_index_compression_options_value 0 _advanced_index_compression_recmp_cusz 90 _advanced_index_compression_recmp_crsz 10 _advanced_index_compression_recmp_nprg 10 _kdkv_index_lossy TRUE _kdkv_index_relocate FALSE _kdkv_indexinvalid FALSE _domain_index_batch_size 2000 _domain_index_dml_batch_size 200 _odci_index_pmo_rebuild FALSE _cell_index_scan_enabled TRUE optimizer_index_cost_adj 100 optimizer_index_caching 0 _system_index_caching 0 _index_prefetch_factor 100 _index_join_enabled TRUE _use_nosegment_indexes FALSE _optimizer_compute_index_stats TRUE skip_unusable_indexes TRUE _delay_index_maintain TRUE _disable_function_based_index FALSE _globalindex_pnum_filter_enabled TRUE _enable_online_index_without_s_locking TRUE _optimizer_fkr_index_cost_bias 10 optimizer_use_invisible_indexes FALSE _noseg_for_unusable_index_enabled TRUE _px_index_sampling_objsize TRUE _part_redef_global_index_update TRUE _fast_index_maintenance TRUE _modify_column_index_unusable FALSE _indexable_con_id TRUE _optimizer_use_auto_indexes AUTO _optimizer_gather_stats_on_load_index TRUE _optimizer_auto_index_allow _optimizer_use_auto_indexes SQL> alter system set "_optimizer_auto_index_allow"=0 scope=spfile; alter system set "_optimizer_auto_index_allow"=0 scope=spfile*
ERROR at line 1:
ORA-00096: invalid value 0 for parameter _optimizer_auto_index_allow, must be from among ALWAYS, AUTO, NEVER alter system set "_optimizer_auto_index_allow"=NEVER scope=spfile; alter system set "_optimizer_use_auto_indexes"=NEVER scope=spfile;ERROR at line 1:
ORA-00096: invalid value NEVER for parameter _optimizer_use_auto_indexes, must be from among ON, AUTO, OFF alter system set "_optimizer_use_auto_indexes"=OFF scope=spfile; 19C has a new feature database 19c is automatic indexing. How does itwork?
QUESTIONS AND ANSWERS How does automatic indexing work? This is fully automated process. Oracle will identify candidateindexes,
verify their effectiveness, perform online validations and then implement the indexes where appropriate. DBA does not need to do anything. Oracle internally picks the candidate indexes and validates the index or indexes. Does any parameters need to be set for the automatic indexing to work?Per documentation:
21.7.3 Enabling Automatic Indexing Automatic indexing is disabled by default in an Oracle database. Toenable
automatic indexing, set the AUTO_IMPLEMENT_INDEXES initializationparameter
to the Oracle database release number, for example, 19.1. You candisable
automatic indexing by setting the AUTO_IMPLEMENT_INDEXESinitialization
parameter to NONE.
Database Oracle
Oracle Database Release 19 Database Administrator’s Guide https://docs-stage.oracle.com/en/database/oracle/oracle-database/19/admin/managing-indexes.html#GUID-6E31777C-3BE3-4510-90D5-C715644E00CB However, the parameter does not seem to exist though and cannot beused in 19.1
The parameter to control/enable automatic indexing is available in thenext
refresh of the RDBMS, 19.2. per following internal bug: Bug 29001016 – 19CBETA CANNOT USE AUTOMATIC INDEXING FUNCTIONALITY – PARAMETER MISSINGFiled Under: Oracle
* 1
* 2
* 3
* …
* 315
* Next Page »
好用的站内搜索ABOUT ME
近期文
* 阿里云 ECS 快速安装Oracle 19c * rman generate script set until time * 关于绿盟扫描ORACLE漏洞的问题 说几点看法 * Linux内存使用的FREE命令 改进 添加available项 进一步避免FREE内存不足的误会 * prm dul恢复oracle数据库数据表 中文最简易说明 * 使用PRM DUL软件快速恢复被勒索病毒 恶意软件加密的ORACLE数据库数据文件 * 常用软件下载地址 * git npm brew yarn 配置proxyORACLE数据恢复
* rman generate script set until time * prm dul恢复oracle数据库数据表 中文最简易说明 * 使用PRM DUL软件快速恢复被勒索病毒 恶意软件加密的ORACLE数据库数据文件 * PRM-DUL Tool – Your Oracle Database Recovery Expert Here * Recovering a Deleted Oracle Datafile Without a Backup * Oracle PRM-DUL Undelete Oracle record/rows * PRM-DUL Undelete恢复被Delete操作删除的Oracle记录/行record/rows
* Oracle SSC紧急故障救援流程ORACLE 12C新特性
* Oracle 12c可插拔数据库通用架构图 * 【12c新特性】多LGWR进程SCALABLE LGWR “_use_single_log_writer” * 基于12c in-memory新特性的SQL优化比拼 * Oracle 12.1.0.2新特性 Approximate Count Distinct * 12c RMAN新特性restore/recover from service远程恢复 * 【Oracle 12c】In-Memory Database Cache内存数据库选项 * Oracle 12c新特性学习列表 * #ORACLE 12c in-memory#ORACLE SQL优化
* SQL 自动调优以及 SQL Profile (Doc ID 2331566.1) * 不建议把Oracle redo存放在SSD上 * 可视化Oracle调优与智能优化-2015oracle数据库大会版 * oracle中导出统计信息到其他表的过程 * 关于ROW CR特性_ROW_CR * Oracle SQL优化 trace 应用程序跟踪 * Oracle SQL 使用绑定变量bind variable * Oracle SQL CBO 优化器/优化程序 统计信息ORACLE RAC
* clssnmvDiskCheck: Aborting, 0 of 1 configured voting disksavailable, need 1
* Oracle RAC/Clusterware 多种心跳heartbeat机制介绍 RAC超时机制分析 * Oracle Acs资深顾问罗敏 老罗技术核心感悟:Clusterware是成熟产品吗? * 诗檀软件Biot 分享《使用VirtualBox在Oracle Linux 5.7上安装Oracle Database 11g Release 2 RAC的最佳实践》 * GC FREELIST等待事件 * ORACLE RAC节点意外重启Node Eviction诊断流程图 * ORACLE RAC clusterware/GI 启动诊断流程图 * ORACLE RAC安装故障的诊断流程图 Return to top of page Copyright © 2019 · Genesis Framework WordPress · Log in 沪ICP备14014813号 沪公网安备 31010802001379号Details
Copyright © 2024 ArchiveBay.com. All rights reserved. Terms of Use | Privacy Policy | DMCA | 2021 | Feedback | Advertising | RSS 2.0