天空LP之城 天空LP之城
历史上的8月15日,是法西斯日本政府向世界宣布无条件投降的日子!
关注数: 2 粉丝数: 70 发帖数: 978 关注贴吧数: 26
RJYY 数据库检查 20180924 1. *.open_cursors=300 参数过小,对大规模的应用有限制,不合理。2. SQL> ARCHIVE LOG LIST; 数据库日志模式 非存档模式 自动存档 禁用 存档终点 USE_DB_RECOVERY_FILE_DEST 最早的联机日志序列 232 当前日志序列 234数据库为非归档模式,不能进行热备份,如果数据库损坏,无法从备份中恢复数据。 数据备份采用EXPORT的静态模式,恢复需要很长时间,不利于灾难恢复。而且备份路径和数据文件在同一个路径,没有容灾的意识。NAME TYPE VALUE ------------------------------------ ----------- ------------------------------ db_recovery_file_dest string F:\\ db_recovery_file_dest_size big integer 50048M备份空间F:总空间1TB,而数据库的备份空间限额只设置了50GB,很不合理。 COL TABLESPACE_NAME FOR A20 col total_gb for 9999999.99 col used_gb for 9999999.99 col free_gb for 9999999.99 col pct_used for 999.99 select a.tablespace_name,a.gb total_gb, (a.gb-b.gb) used_gb, b.gb free_gb, 100*(a.gb-b.gb)/a.gb PCT_USED from (select tablespace_name,sum(bytes)/1024/1024/1024 GB from dba_data_files group by tablespace_name) A, (select tablespace_name,sum(bytes)/1024/1024/1024 GB from dba_free_space group by tablespace_name) B where a.tablespace_name=b.tablespace_name ORDER BY 4 DESCTABLESPACE_NAME TOTAL_GB USED_GB FREE_GB PCT_USED -------------------- ----------- ----------- ----------- -------- KTHIS5 30.00 .58 29.42 1.92 KT_HMISW2003 30.00 2.18 27.82 7.28 HMISW_OTHER 20.00 .02 19.98 .12 XK 10.00 .01 9.99 .12 KT_JKXX 10.00 .06 9.94 .63 KTMC 10.00 2.13 7.87 21.33 UNDOTBS1 .67 .12 .56 17.14 USERS 5.62 5.30 .32 94.25 SYSAUX 1.46 1.38 .08 94.84 SYSTEM 2.86 2.83 .03 98.83SELECT FILE_NAME,AUTOEXTENSIBLE FROM DBA_DATA_FILES;SQL> R 1* SELECT FILE_NAME,AUTOEXTENSIBLE FROM DBA_DATA_FILESFILE_NAME AUT ------------------------------ --- E:\KTHIS\USERS01.DBF YES E:\KTHIS\UNDOTBS01.DBF YES E:\KTHIS\SYSAUX01.DBF YES E:\KTHIS\SYSTEM01.DBF YES E:\KTHIS\KT_HMISW2003_03.DBF YES E:\KTHIS\KT_HMISW2003_02.DBF YES E:\KTHIS\KT_HMISW2003_01.DBF YES E:\KTHIS\KTHIS5_03.DBF YES E:\KTHIS\KTHIS5_02.DBF YES E:\KTHIS\KTHIS5_01.DBF YES E:\KTHIS\HMISW_OTHER_02.DBF YESFILE_NAME AUT ------------------------------ --- E:\KTHIS\HMISW_OTHER_01.DBF YES E:\KTHIS\KT_JKXX_01.DBF YES E:\KTHIS\XK_01.DBF YES E:\KTHIS\KTMC.DBF YES已选择15行。问题: SYSTEM, SYSAUX 表空间均只有一个数据文件,最大32GB,建议加到2~3个数据文件. UNDO 表空间空间过小,只有32GB最大的量。不利于长时间的QUERY,会耗尽UNDO空间而失败。建议加到96GB(多加两个数据文件) SQL> select group#,status,bytes/1024/1024/1024 GB 2 from v$log; GROUP# STATUS GB ---------- ---------------- ---------- 1 INACTIVE .48828125 2 INACTIVE .48828125 3 CURRENT .48828125REDO GROUP只有500MB,是初始化大小,不适用于医院的高业务量的压力型系统。不更改会严重影响性能。 数据库大小: SQL> r 1 select sum(bytes)/1024/1024/1024 GB 2* from dba_data_files GB ---------- 120.612793SQL> 2 from dba_segments SQL> r 1 select sum(bytes)/1024/1024/1024 GB 2* from dba_segments GB ---------- 15.4351196 现在系统刚上线,库还比较小。 DEFAULT FAILED_LOGIN_ATTEMPTS 50密码输入错误50次会锁住账户。D:\app\Administrator\product\11.2.0\dbhome_1\OPatch>opatch lsinventoryOracle 中间补丁程序安装程序版本 11.2.0.3.4 版权所有 (c) 2012, Oracle Corporation。保留所有权利。 Oracle Home : D:\app\Administrator\product\11.2.0\dbhome_1 Central Inventory : C:\Program Files\Oracle\Inventory from : n/a OPatch version : 11.2.0.3.4 OUI version : 11.2.0.4.0 Log file location : D:\app\Administrator\product\11.2.0\dbhome_1\cfgtoollogs\opa tch\opatch2018-09-24_15-39-28下午_1.logLsinventory Output file location : D:\app\Administrator\product\11.2.0\dbhome_1\ cfgtoollogs\opatch\lsinv\lsinventory2018-09-24_15-39-28下午.txt--------------------------------------------------------------------------------已安装的顶级产品 (1):Oracle Database 11g 11.2.0.4.0 此 Oracle 主目录中已安装 1 个产品。 此 Oracle 主目录中未安装任何中间补丁程序。 -------------------------------------------------------------------------------- OPatch succeeded. 没有安装过Oracle PSU,没有打过补丁,无法预防11.2.0.4.0之后出现的bug,即2014年之后的bug都无法预防。Release Date Version Download link Included in Windows Bundle 17-Jul-2018 11.2.0.4.180717 (Jul 2018) Database Patch Set Update (DB PSU) Patch 27734982 Patch 27695940 17-Apr-2018 11.2.0.4.180417 (Apr 2018) Database Patch Set Update (DB PSU) Patch 27338049 Patch 27426753 16-Jan-2018 11.2.0.4.180116 (Jan 2018) Database Patch Set Update (DB PSU) Patch 26925576 Patch 26925576 17-Oct-2017 11.2.0.4.171017 (Oct 2017) Database Patch Set Update (DB PSU) Patch 26392168 Patch 26581376 14-Aug-2017 11.2.0.4.170814 (Jul 2017) Database Patch Set Update (DB PSU) Patch 26609445 Patch 26194138 18-Jul-2017 11.2.0.4.170718 (Jul 2017) Database Patch Set Update (DB PSU) Patch 25869727 11.2.0.4 Patch 170718 18-Apr-2017 11.2.0.4.170418 (Apr 2017) Database Patch Set Update (DB PSU) Patch 24732075 11.2.0.4 Patch 170418 17-Jan-2017 ** 18-Oct-2016 11.2.0.4.161018 (Oct 2016) Database Patch Set Update (DB PSU) Patch 24006111 11.2.0.4 Patch 161018 19-Jul-2016 11.2.0.4.160719 (Jul 2016) Database Patch Set Update (DB PSU) Patch 23054359 11.2.0.4 Patch 160719 19-Apr-2016 11.2.0.4.160419 (Apr 2016) Database Patch Set Update (DB PSU) Patch 22502456 11.2.0.4 Patch 160419 19-Jan-2016 11.2.0.4.160119 (Jan 2016) Database Patch Set Update (DB PSU) Patch 21948347 11.2.0.4 Patch 160119 20-Oct-2015 11.2.0.4.8 (Oct 2015) Database Patch Set Update (DB PSU) Patch 21352635 11.2.0.4 Patch 20 14-Jul-2015 11.2.0.4.7 (Jul 2015) Database Patch Set Update (DB PSU) Patch 20760982 11.2.0.4 Patch 17 14-Apr-2015 11.2.0.4.6 (Apr 2015) Database Patch Set Update (DB PSU) Patch 20299013 11.2.0.4 Patch 15 20-Jan-2015 11.2.0.4.5 (Jan 2015) Database Patch Set Update (DB PSU) Patch 19769489 11.2.0.4 Patch 12 14-Oct-2014 11.2.0.4.4 (Oct 2014) Database Patch Set Update (DB PSU) Patch 19121551 11.2.0.4 Patch 10 14-Jul-2014 11.2.0.4.3 (Jul 2014) Database Patch Set Update (DB PSU) Patch 18522509 11.2.0.4 Patch 7 15-Apr-2014 11.2.0.4.2 (Apr 2014) Database Patch Set Update (PSU) Patch 18031668 11.2.0.4 Patch 4 15-Jan-2014 11.2.0.4.1 (Jan 2014) Database Patch Set Update (PSU) Patch 17478514 11.2.0.4 Patch 1************************************* *************************************建议在上线之前做的调整:1.调整open_cursors 到2000 2.增加SYSTEM, SYSAUX, UNDO 表空间的数据文件。 3.增加五组10GB的redo group,并把旧的三组删除掉 4.开启归档模式(需要重启数据库实例),进行数据库全备份。建议在之后慢慢调整的:1.增加备份策略,一天一次全备份(现在数据库量较小,全备时间少) 2.找一个时间对小版本进行升级(需要停库维护窗口),避免bug对数据库的影响。
增加分区 在VARCHAR2上可以使用分区功能。 建立分区表 CREATE TABLE PARTT2(ID NUMBER(8),NAME VARCHAR2(20),EMPLOYED VARCHAR2(14))PARTITION BY RANGE (EMPLOYED)( PARTITION JAN VALUES LESS THAN ('20100200000000')   TABLESPACE NEWS , PARTITION FEB VALUES LESS THAN ('20100300000000')   TABLESPACE NEWS , PARTITION MAR VALUES LESS THAN ('20100400000000')   TABLESPACE NEWS , PARTITION APR VALUES LESS THAN ('20100500000000')   TABLESPACE NEWS , PARTITION MAY VALUES LESS THAN ('20100600000000')   TABLESPACE NEWS , PARTITION JUN VALUES LESS THAN ('20100700000000')   TABLESPACE NEWS , PARTITION JUL VALUES LESS THAN ('20100800000000')   TABLESPACE NEWS , PARTITION AUG VALUES LESS THAN ('20100900000000')   TABLESPACE NEWS , PARTITION SEP VALUES LESS THAN ('20101000000000')   TABLESPACE NEWS , PARTITION OCT VALUES LESS THAN ('20101100000000')   TABLESPACE NEWS , PARTITION NOV VALUES LESS THAN ('20101200000000')   TABLESPACE NEWS , PARTITION DEC VALUES LESS THAN ('20110100000000')   TABLESPACE NEWS , PARTITION MOR VALUES LESS THAN (MAXVALUE)   TABLESPACE NEWS); 录入数据 INSERT INTO PARTT2(ID,NAME,EMPLOYED)SELECT ID,NAME,TO_CHAR(EMPLOYED,'YYYYMMDDHH24MISS') EMPLOYEDFROM PARTT; 建立索引 CREATE INDEX PARTT2_IND ON PARTT2(ID) LOCAL; 收集统计信息 BEGIN DBMS_STATS.GATHER_TABLE_STATS(   ownname => 'DRUID',    tabname => 'PARTT2',      estimate_percent => 60,    method_opt => 'FOR ALL INDEXED COLUMNS SIZE AUTO',   degree => 4,   cascade => TRUE ); END; / 查询分区表以及分区索引的信息 SELECT PARTITION_NAME,NUM_ROWS,HIGH_VALUEFROM DBA_TAB_PARTITIONSWHERE TABLE_OWNER='DRUID'AND TABLE_NAME='PARTT2'; SELECT INDEX_NAME,PARTITION_NAME,HIGH_VALUE,STATUSFROM DBA_IND_PARTITIONSWHERE INDEX_OWNER='DRUID' ########## ALTER TABLE PARTT2 ADD PARTITION NJAN VALUES LESS THAN ('20110200000000')TABLESPACE NEWS,ADD PARTITION NFEB VALUES LESS THAN ('20110300000000')TABLESPACE NEWS,ADD PARTITION NMAR VALUES LESS THAN ('20110400000000')TABLESPACE NEWS,ADD PARTITION NAPR VALUES LESS THAN ('20110500000000')TABLESPACE NEWS,ADD PARTITION NMAY VALUES LESS THAN ('20110600000000')TABLESPACE NEWS,ADD PARTITION NJUN VALUES LESS THAN ('20110700000000')TABLESPACE NEWS,ADD PARTITION NJUL VALUES LESS THAN ('20110800000000')TABLESPACE NEWS,ADD PARTITION NAUG VALUES LESS THAN ('20110900000000')TABLESPACE NEWS,ADD PARTITION NSEP VALUES LESS THAN ('20111000000000')TABLESPACE NEWS,ADD PARTITION NOCT VALUES LESS THAN ('20111100000000')TABLESPACE NEWS,ADD PARTITION NNOV VALUES LESS THAN ('20111200000000')TABLESPACE NEWS,ADD PARTITION NDEC VALUES LESS THAN ('20120100000000')TABLESPACE NEWS; ALTER TABLE PARTT2 ADD PARTITION NJAN VALUES LESS THAN ('20110200000000')TABLESPACE NEWS; 有MAXVALUE的分区表无法ADD PARTITION,需要用SPLIT来做。
HIGHLIGHTS http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Funix-cd.com%2Fvc%2Fwww%2F16%2F2007-06%2F1125.html&urlrefer=ac1e4344498b54a4e39822c6111a9d23 背景:一直都用Oracle 10g,每次配置的时候都是做成RAW+RAC /OCFS+RAC;一直没研究过ASM的特性,,,环境:    Linux AS3    Oracle 10.1.0.3    ASM     RAW配置步骤:1、安装Oracle ASMLib 需要的安装包 asmlib asm-support asm-kernel asm-smp-kernel(多process版本) 下载地址:http://tieba.baidu.com/mo/q/checkurl?url=http%3A%2F%2Fwww.oracle.com%2Ftechnology%2Fsoftware%2Ftech%2Flinux%2Fasmlib%2Frhel4.html&urlrefer=a123a6f80a3cdae65a8ca35042e9e3e5 安装3个软件包: # rpm -Uvh oracleasm-support-2.0.3-1.i386.rpm # rpm -Uvh oracleasm-2.6.9-34.EL-2.0.3-1.i686.rpm # rpm -Uvh oracleasmlib-2.0.2-1.i386.rpm 2、配置ASMLib # /etc/init.d/oracleasm configure Default user to own the driver interface [oracle]: oracle Default group to own the driver interface [oinstall]: oinstall Start Oracle ASM library driver on boot (y/n) [y]: y Fix permissions of Oracle ASM disks on boot (y/n) [y]: y Writing Oracle ASM library driver configuration: [ OK ] Loading module "oracleasm": [ OK ] Mounting ASMlib driver filesystem: [ OK ] Scanning system for ASM disks: [ OK ] 以上操作将加载oracleasm.o驱动,并且mount上ASM文件系统,同时我们可以通过以下命令来手工的卸载和加载ASMLib #/etc/init.d/oracleasm disable   //出错检查/var/log/messages文件,确认需要更新的内核版本 #/etc/init.d/oracleasm enable添加init文件使系统启动时自动加载ASMLib $su - #cd /etc/rc3.d #ln -s ../init.d/oracleasm S99oracleasm #ln -s ../init.d/oracleasm K01oracleasm 注意:如果系统启动是自动进入图形界面,也就是系统的init level是5,那么上面生成链接的命令应该在/etc/rc5.d目录中操作重新启动系统,确认ASMLib已经可以自动加载 #lsmod |grep oracleasm#dmesg |grep oracleasm3、创建ASM磁盘(说明:createdisk 是针对分区,不是针对磁盘,即:先应将磁盘分区) #/etc/init.d/oracleasm createdisk VOL1 /dev/sdb1 #/etc/init.d/oracleasm createdisk VOL2 /dev/sdc1 ... ...       #/etc/init.d/oracleasm listdisks   //列出ASM磁盘 VOL1 VOL2 VOL3 VOL4如果要删除ASM磁盘通过以下命令 #/etc/init.d/oracleasm deletedisk VOL4 注意:     如果是在RAC环境中的某一个节点中添加了ASM磁盘,那么需要在其他的节点上运行scandisk来获取这种变化 #/etc/init.d/oracleasm scandisksOK,现在已经完成了创建ASM实例的物理基础,下面开始安装数据库4、安装数据库软件5、创建ASM实例&建库 以 oracle 身份登录并启动 DBCA: $ dbca 1).欢迎      单击 Next。   2).操作       选择 Create a Database。   3).数据库模板        选择 General Purpose。   4).数据库标识      输入全局数据库名称。   5).管理选项        选择 Configure the Database with Enterprise Manager。      选择 Use Database Control for Database Management。  
1 下一页