精华内容
下载资源
问答
  • oracle版本升级

    2020-11-05 14:43:04
    如何实现oracle从11.2.0.1升级到11.2.0.4 从而能打补丁堵塞漏洞,能顺利通过安全漏洞扫描
  • Oracle升级性能优化须注意的 1.在升级过程中,简单SQL(指单表操作,where条件与索引第一二键匹配)通常不会有性能影响,这类SQL不是最需要关注的。 2.复杂的sql(比如多子表查询、多表关联、循环嵌套)运行过程中...
    • Oracle升级性能优化须注意的

            1.在升级过程中,简单SQL(指单表操作,where条件与索引第一二键匹配)通常不会有性能影响,这类SQL不是最需要关注的。
            2.复杂的sql(比如多子表查询、多表关联、循环嵌套)运行过程中,有些SQL会遇到性能变化情况,重点关注。
            3.Oracle优化器方面,优化器模式有两种主要原则:
                (1)第一种模式_optimzer_cost_based_transformation=off, _optimizer_squ_bottomup=false
                (2)第二种模式_optimzer_cost_based_transformation=on, _optimizer_squ_bottomup=true
                (3)这两种模式优化器需要在性能测试时,重点评估选择哪种模式。目前看,对于SQL很复杂与OLAP查询类比较多的建议选择第二种模式。
            4.通过测试已决定优化器选择哪种优化器模式的情况下,需要重点关注部分复杂SQL性能发生了变化的,对于个别性能变化的SQL需要通过hint等指定执行计划,规避优化器对此类SQL的性能影响。
            5.对于在程序开发、编码和测试过程中,已明确SQL执行计划的,也可以采用hint固定执行计划,确保SQL执行效率不受软件版本升级影响。

    • sql性能问题查找,如何确定哪些SQL性能会在升级后发生变化呢?

            1.测试场景要齐全。很多人在性能测试时只关注联机交易(一直在压测联机交易tips),其实联机交易通常SQL简单,反而不容易出问题;可能有时候就容易忽略批处理、报表类交易(因为相比联机,这些交易相对来说显得不重要),但此类交易往往是复杂SQL,更容易在升级过程中出现问题,此部分交易也需要重点压测;
            2.测试数据需来自生产,确保数据量一致,性能测试结果才准确;
            3.重要系统、报表类系统,推荐全面对比执行计划,确保执行效率稳定(非常有效)  但是有点耗时
              方法一:采用SPA获取Oracle 11g下业务系统所有SQL与SQL执行计划,然后将这些SQL在待投产的Oracle 19C数据库进行回放,然后比对执行计划效率变化,对于有执行计划变化的SQL,继续宁重点分析或固定执行计划。(此方法需要花费很多开发DBA工作量),需要两套环境,一套Oracle 11G,一套Oracle 19C;
              方法二:对于无法对比的业务系统,可在压测过程中(覆盖所有业务场景),捕获平均执行时间大于X秒的语句,然后批量解释这些SQL在Oracle 19C的执行计划,然后进行挨个优化或固定执行计划;
              方法三:类似于方法二,捕获SQL后,在Oracle 11G批量解释执行计划;然后在Oracle 19C环境批量解释一下执行计划,获取执行计划变化的SQL,继续调优。

    • 实际项目中的解决办法

    系统采用的是优化器降级的方式进行性能优化,在升级了19C之后报表或者复杂sql的执行计划变大,效率变低,怀疑是高版本的19C导致的
            1.查看优化器版本,对比11g和19c  
                show parameter optimizer_features_enable;---用Oracle用户登录查询
            2.调整优化器版本
                alter system set optimizer_features_enable='11.2.0.3' scope=both;
            3.收集统计信息
                exec dbms_stats.gather_schema_stats (ownname=>'数据库实例名',estimate_percent=>dbms_stats.auto_sample_size,method_opt=>
                'for all columns size auto',degree=>4,cascade=>true);
     

    mark学习。

    展开全文
  • mkdir -p /u01/app/oracle/product/18.0.1/dbhome_1 2、设置各种环境变量 export ORACLE_HOME=/u01/app/oracle/product/18.0.1/dbhome_1 export PATH=$ORACLE_HOME/bin:$PATH export LD_LIBRARY_PATH=$ORACLE_...


    1、创建新版数据库路径
    mkdir -p /u01/app/oracle/product/18.0.1/dbhome_1
    2、设置各种环境变量
    export ORACLE_HOME=/u01/app/oracle/product/18.0.1/dbhome_1
    export PATH=$ORACLE_HOME/bin:$PATH
     
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib

    3、使用新库的脚步下检查升级前环境

    [oracle@localhost bin]$ java -jar /u01/app/oracle/product/18.0.1/dbhome_1/rdbms/admin/preupgrade.jar
    INFORMATION - Container: PDBTEST is in: MOUNTED status and will not be processed unless opened.
    ==================
    PREUPGRADE SUMMARY
    ==================
      /u01/app/oracle/cfgtoollogs/orcl/preupgrade/preupgrade.log
      /u01/app/oracle/cfgtoollogs/orcl/preupgrade/preupgrade_fixups.sql
      /u01/app/oracle/cfgtoollogs/orcl/preupgrade/postupgrade_fixups.sql

    Execute fixup scripts across the entire CDB:

    Before upgrade:

    1. Execute preupgrade fixups with the below command
    $ORACLE_HOME/perl/bin/perl -I$ORACLE_HOME/perl/lib -I$ORACLE_HOME/rdbms/admin $ORACLE_HOME/rdbms/admin/catcon.pl -l /u01/app/oracle/cfgtoollogs/orcl/preupgrade/ -b preup_orcl /u01/app/oracle/cfgtoollogs/orcl/preupgrade/preupgrade_fixups.sql

    2. Review logs under /u01/app/oracle/cfgtoollogs/orcl/preupgrade/

    After the upgrade:

    1. Execute postupgrade fixups with the below command
    $ORACLE_HOME/perl/bin/perl -I$ORACLE_HOME/perl/lib -I$ORACLE_HOME/rdbms/admin $ORACLE_HOME/rdbms/admin/catcon.pl -l /u01/app/oracle/cfgtoollogs/orcl/preupgrade/ -b postup_orcl /u01/app/oracle/cfgtoollogs/orcl/preupgrade/postupgrade_fixups.sql

    2. Review logs under /u01/app/oracle/cfgtoollogs/orcl/preupgrade/

    Preupgrade complete: 2019-10-27T06:36:24

    4、使用以上生成的脚本在老库环境下下执行

    5、在新库环境下执行DBUA
    export ORACLE_HOME=/u01/app/oracle/product/18.0.1/dbhome_1
    export PATH=$ORACLE_HOME/bin:$PATH
     
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib

    cd $ORACLE_HOME/bin
    dbua

    注意:原库一定要配置TNS和Listener,要不然会报错

    主、从容器中都要执行EXECUTE DBMS_STATS.GATHER_FIXED_OBJECTS_STATS;
     

    6、然后按提示一步一步执行就可以了
     

    展开全文
  • 下面我就简单总结下,Oracle版本升级的经历:  升级数据库: 1. 先检查数据库当前版本:SELECT * FROM v$version; 2. 使用RMAN或exp 进行全库备份 【这一步非常非常重要,因升级到数据部分时,虚拟机没空间了,导致...
  • oracle版本升级11.2.0.3升级11.2.0.4

    千次阅读 2018-09-19 17:54:44
    大致步骤:  1,核实数据库和操作系统相关信息  检查升级条件 安装12c数据库软件 执行dbua升级db或者采用手工执行命令的方式,但根据官方资料看,建议放弃...[oracle@zg3 soft]$ uname -a Linux zg3 2.6.32-43...

    大致步骤:

     1,核实数据库和操作系统相关信息 

    • 检查升级条件
    • 安装12c数据库软件
    • 执行dbua升级db或者采用手工执行命令的方式,但根据官方资料看,建议放弃这个想法,DBUA 真的简化了很多,如果手工执行,会多很多步骤,这样会增加出错的概率。这里用的手工命令
    • 检查数据库状态和无效对象
    [oracle@zg3 soft]$ uname -a
    Linux zg3 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
    [oracle@zg3 soft]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.3.0 Production on Sat Sep 15 16:08:44 2018
    
    Copyright (c) 1982, 2011, Oracle.  All rights reserved.
    
    
    Connected to:
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    
    SQL> select name from v$database;
    
    NAME
    ---------
    ORCL
    SQL> select * from v$version;
    
    BANNER
    ----------------------------------------------------------------------
    Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    PL/SQL Release 11.2.0.3.0 - Production
    CORE    11.2.0.3.0      Production
    TNS for Linux: Version 11.2.0.3.0 - Production
    NLSRTL Version 11.2.0.3.0 - Production
    SQL> col comp_name for a35
    SQL> col version for a20
    SQL> col name for a20
    SQL> set linesize 1000
    SQL> set pagesize 1000
    SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
    COMP_NAME                        VERSION              STATUS
    ------------------------------ -------------------- ----------------------
    OWB                            11.2.0.3.0           VALID
    Oracle Application Express     3.2.1.00.12          VALID
    Oracle Enterprise Manager      11.2.0.3.0           VALID
    OLAP Catalog                   11.2.0.3.0           VALID
    Spatial                        11.2.0.3.0           VALID
    Oracle Multimedia              11.2.0.3.0           VALID
    Oracle XML Database            11.2.0.3.0           VALID
    Oracle Text                    11.2.0.3.0           VALID
    Oracle Expression Filter       11.2.0.3.0           VALID
    Oracle Rules Manager           11.2.0.3.0           VALID
    Oracle Workspace Manager       11.2.0.3.0           VALID
    Oracle Database Catalog Views  11.2.0.3.0           VALID
    Oracle Database Packages and Types 11.2.0.3.0       VALID
    JServer JAVA Virtual Machine   11.2.0.3.0           VALID
    Oracle XDK                     11.2.0.3.0            VALID
    Oracle Database Java Packages  11.2.0.3.0           VALID
    OLAP Analytic Workspace        11.2.0.3.0           VALID
    Oracle OLAP API                11.2.0.3.0           VALID
    
    18 rows selected.
    SQL> SELECT name, value FROM v$parameter WHERE name = 'compatible';

    2, rman对数据库执行全备

    [oracle@zg3 ~]$ rman target /
    Recovery Manager: Release 11.2.0.3.0 - Production on Sat Sep 15 16:34:01 2018
    
    Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
    
    connected to target database: ORCL (DBID=1514683624)
    
    RMAN> backup database plus archivelog delete input format '/oracle/back/full_%U.dbf';
    …………………………

    3,关闭数据库和监听

    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> exit
    Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    [oracle@zg3 ~]$ lsnrctl stop
    
    LSNRCTL for Linux: Version 11.2.0.3.0 - Production on 15-SEP-2018 16:40:45
    
    Copyright (c) 1991, 2011, Oracle.  All rights reserved.
    
    Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
    The command completed successfully
    [oracle@zg3 ~]$ ps -ef |grep ora

    4,备份ORACLE_HOME和oraInventory

    tar –cvf oraInventory.zip /oracle/app/oraInventory/
    tar –cvf product.zip /oracle/app/oracle/product/

    5,上传并解压11.2.0.4安装包

    [root@zg3 oracle]# cd database/
    [root@zg3 database]# ls
    install  readme.html  response  rpm  runInstaller  sshsetup  stage  welcome.html

    6,开始安装11.2.0.4软件

    这里替换了软件目录

    [root@zg3 ~]# /oracle/app/oraInventory2/orainstRoot.sh 
    Changing permissions of /oracle/app/oraInventory2.
    Adding read,write permissions for group.
    Removing read,write,execute permissions for world.
    
    Changing groupname of /oracle/app/oraInventory2 to oinstall.
    The execution of the script is complete.
    [root@zg3 ~]# /oracle/app/oracle/product/11.2.0/db_2/root.sh 
    Performing root user operation for Oracle 11g 
    
    The following environment variables are set as:
        ORACLE_OWNER= oracle
        ORACLE_HOME=  /oracle/app/oracle/product/11.2.0/db_2
    
    Enter the full pathname of the local bin directory: [/usr/local/bin]: 
    The file "dbhome" already exists in /usr/local/bin.  Overwrite it? (y/n) 
    [n]: y
       Copying dbhome to /usr/local/bin ...
    The contents of "oraenv" have not changed. No need to overwrite.
    The contents of "coraenv" have not changed. No need to overwrite.
    
    Entries will be added to the /etc/oratab file as needed by
    Database Configuration Assistant when a database is created
    Finished running generic part of root script.
    Now product-specific root actions will be performed.
    Finished product-specific root actions.

    (监听配置这一步根据具体情况,可以选择直接将原版本的监听文件拷贝过来)

    到这里11.2.0.4的软件就已经安装完成,但是还需要进行后续的升级操作。监听配置完会自动跳转下面的界面,这里直接关闭,跳过报错,手动进行后续的操作。

    修改环境变量:

    [root@zg3 ~]# su - oracle
    [oracle@zg3 ~]$ vi .bash_profile 
    export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_2  --改成新的目录
    [oracle@zg3 ~]$ source ~/.bash_profile 
    [oracle@zg3 ~]$ echo $ORACLE_HOME
    /oracle/app/oracle/product/11.2.0/db_2
    [oracle@zg3 ~]$ vi /etc/oratab
    orcl:/oracle/app/oracle/product/11.2.0/db_2:N  --改成新的目录

    拷贝监听文件和参数文件:

    [oracle@zg3 ~]$ cp /oracle/app/oracle/product/11.2.0/db_1/network/admin/* /oracle/app/oracle/product/11.2.0/db_2/network/admin/
    [oracle@zg3 ~]$ cp /oracle/app/oracle/product/11.2.0/db_1/dbs/* /oracle/app/oracle/product/11.2.0/db_2/dbs/

    执行预升级脚本检查

    [oracle@zg3 ~]$ sqlplus / as sysdba
    
    SQL*Plus: Release 11.2.0.4.0 Production on Sat Sep 15 17:54:47 2018
    
    Copyright (c) 1982, 2013, Oracle.  All rights reserved.
    
    Connected to an idle instance.
    
    SQL> startup upgrade;
    ORACLE instance started.
    
    Total System Global Area 4375998464 bytes
    Fixed Size                  2260328 bytes
    Variable Size             956301976 bytes
    Database Buffers         3405774848 bytes
    Redo Buffers               11661312 bytes
    Database mounted.
    Database opened.
    SQL> @?/rdbms/admin/utlu112i.sql  --执行升级检查
    Oracle Database 11.2 Pre-Upgrade Information Tool 09-15-2018 17:56:45
    Script Version: 11.2.0.4.0 Build: 001
    .
    **********************************************************************
    Database:
    **********************************************************************
    --> name:          ORCL
    --> version:       11.2.0.3.0
    --> compatible:    11.2.0.0.0
    --> blocksize:     8192
    --> platform:      Linux x86 64-bit
    --> timezone file: V14
    .
    **********************************************************************
    Tablespaces: [make adjustments in the current environment]
    **********************************************************************
    --> SYSTEM tablespace is adequate for the upgrade.
    .... minimum required size: 917 MB
    --> SYSAUX tablespace is adequate for the upgrade.
    .... minimum required size: 624 MB
    --> UNDOTBS1 tablespace is adequate for the upgrade.
    .... minimum required size: 400 MB
    --> TEMP tablespace is adequate for the upgrade.
    .... minimum required size: 60 MB
    .
    **********************************************************************
    Flashback: OFF
    **********************************************************************
    **********************************************************************
    Update Parameters: [Update Oracle Database 11.2 init.ora or spfile]
    Note: Pre-upgrade tool was run on a lower version 64-bit database.
    **********************************************************************
    --> If Target Oracle is 32-Bit, refer here for Update Parameters:
    -- No update parameter changes are required.
    .
    
    --> If Target Oracle is 64-Bit, refer here for Update Parameters:
    -- No update parameter changes are required.
    .
    **********************************************************************
    Renamed Parameters: [Update Oracle Database 11.2 init.ora or spfile]
    **********************************************************************
    -- No renamed parameters found. No changes are required.
    .
    **********************************************************************
    Obsolete/Deprecated Parameters: [Update Oracle Database 11.2 init.ora or spfile]
    **********************************************************************
    -- No obsolete parameters found. No changes are required
    .
    
    **********************************************************************
    Components: [The following database components will be upgraded or installed]
    **********************************************************************
    --> Oracle Catalog Views         [upgrade]  VALID
    --> Oracle Packages and Types    [upgrade]  VALID
    --> JServer JAVA Virtual Machine [upgrade]  VALID
    --> Oracle XDK for Java          [upgrade]  VALID
    --> Oracle Workspace Manager     [upgrade]  VALID
    --> OLAP Analytic Workspace      [upgrade]  VALID
    --> OLAP Catalog                 [upgrade]  VALID
    --> EM Repository                [upgrade]  VALID
    --> Oracle Text                  [upgrade]  VALID
    --> Oracle XML Database          [upgrade]  VALID
    --> Oracle Java Packages         [upgrade]  VALID
    --> Oracle interMedia            [upgrade]  VALID
    --> Spatial                      [upgrade]  VALID
    --> Expression Filter            [upgrade]  VALID
    --> Rule Manager                 [upgrade]  VALID
    --> Oracle Application Express   [upgrade]  VALID
    ... APEX will only be upgraded if the version of APEX in
    ... the target Oracle home is higher than the current one.
    --> Oracle OLAP API              [upgrade]  VALID
    .
    **********************************************************************
    Miscellaneous Warnings
    **********************************************************************
    WARNING: --> Your recycle bin is turned on and currently contains no objects.
    .... Because it is REQUIRED that the recycle bin be empty prior to upgrading
    .... and your recycle bin is turned on, you may need to execute the command:
            PURGE DBA_RECYCLEBIN
    .... prior to executing your upgrade to confirm the recycle bin is empty.
    WARNING: --> Database contains schemas with objects dependent on DBMS_LDAP package.
    .... Refer to the 11g Upgrade Guide for instructions to configure Network ACLs.
    .... USER APEX_030200 has dependent objects.
    .
    **********************************************************************
    Recommendations
    **********************************************************************
    Oracle recommends gathering dictionary statistics prior to
    upgrading the database.
    To gather dictionary statistics execute the following command
    while connected as SYSDBA:
    
        EXECUTE dbms_stats.gather_dictionary_stats;
    
    **********************************************************************
    Oracle recommends removing all hidden parameters prior to upgrading.
    
    To view existing hidden parameters execute the following command
    while connected AS SYSDBA:
    
        SELECT name,description from SYS.V$PARAMETER WHERE name
            LIKE '\_%' ESCAPE '\'
    
    Changes will need to be made in the init.ora or spfile.
    
    **********************************************************************
    Oracle recommends reviewing any defined events prior to upgrading.
    
    To view existing non-default events execute the following commands
    while connected AS SYSDBA:
      Events:
        SELECT (translate(value,chr(13)||chr(10),' ')) FROM sys.v$parameter2
          WHERE  UPPER(name) ='EVENT' AND  isdefault='FALSE'
    
      Trace Events:
        SELECT (translate(value,chr(13)||chr(10),' ')) from sys.v$parameter2
          WHERE UPPER(name) = '_TRACE_EVENTS' AND isdefault='FALSE'
    
    Changes will need to be made in the init.ora or spfile.
    
    

    升级之前执行 EXECUTE dbms_stats.gather_dictionary_stats;收集统计信息,缩短升级时间。而且需要清空回收站PURGE DBA_RECYCLEBIN;

    开启闪回,手动创建还原点

    SQL> shutdown immediate;
    Database closed.
    Database dismounted.
    ORACLE instance shut down.
    SQL> startup mount;
    ORACLE instance started.
    Total System Global Area 4375998464 bytes
    Fixed Size                  2260328 bytes
    Variable Size             956301976 bytes
    Database Buffers         3405774848 bytes
    Redo Buffers               11661312 bytes
    Database mounted.
    SQL>alter database flashback on;
    SQL> create restore point up_rollback guarantee flashback database;
    SQL> select * from v$restore_point;
       1048597                     2 YES     52428800
    15-SEP-18 06.07.00.000000000 PM
                                                                                YES
    UP_ROLLBACK
    SQL> shutdown immediate;
    SQL> startup upgrade;
    SQL>@?/rdbms/admin/utlu112i.sql   --再次运行检查

    执行升级操作:

    SQL> set echo on
    SQL> spool /oracle/upgrade.log
    SQL> set time on
    18:12:02 SQL> @?/rdbms/admin/catupgrd.sql
    ………………

    运行utlrp.sql编译失效对象

    SQL> startup
    ORACLE instance started.
    
    Total System Global Area 4375998464 bytes
    Fixed Size                  2260328 bytes
    Variable Size            1023410840 bytes
    Database Buffers         3338665984 bytes
    Redo Buffers               11661312 bytes
    Database mounted.
    Database opened.
    SQL> @?/rdbms/admin/utlrp
    TIMESTAMP
    --------------------------------------------------------------------------------
    COMP_TIMESTAMP UTLRP_BGN  2018-09-15 18:46:01
    
    DOC>   The following PL/SQL block invokes UTL_RECOMP to recompile invalid
    DOC>   objects in the database. Recompilation time is proportional to the
    DOC>   number of invalid objects in the database, so this command may take
    DOC>   a long time to execute on a database with a large number of invalid
    DOC>   objects.
    DOC>
    DOC>   Use the following queries to track recompilation progress:
    DOC>
    DOC>   1. Query returning the number of invalid objects remaining. This
    DOC>      number should decrease with time.
    DOC>         SELECT COUNT(*) FROM obj$ WHERE status IN (4, 5, 6);
    DOC>
    DOC>   2. Query returning the number of objects compiled so far. This number
    DOC>      should increase with time.
    DOC>         SELECT COUNT(*) FROM UTL_RECOMP_COMPILED;
    DOC>
    DOC>   This script automatically chooses serial or parallel recompilation
    DOC>   based on the number of CPUs available (parameter cpu_count) multiplied
    DOC>   by the number of threads per CPU (parameter parallel_threads_per_cpu).
    DOC>   On RAC, this number is added across all RAC nodes.
    DOC>
    DOC>   UTL_RECOMP uses DBMS_SCHEDULER to create jobs for parallel
    DOC>   recompilation. Jobs are created without instance affinity so that they
    DOC>   can migrate across RAC nodes. Use the following queries to verify
    DOC>   whether UTL_RECOMP jobs are being created and run correctly:
    DOC>
    DOC>   1. Query showing jobs created by UTL_RECOMP
    DOC>         SELECT job_name FROM dba_scheduler_jobs
    DOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';
    DOC>
    DOC>   2. Query showing UTL_RECOMP jobs that are running
    DOC>         SELECT job_name FROM dba_scheduler_running_jobs
    DOC>            WHERE job_name like 'UTL_RECOMP_SLAVE_%';
    DOC>#
    
    PL/SQL procedure successfully completed.
    
    
    TIMESTAMP
    --------------------------------------------------------------------------------
    COMP_TIMESTAMP UTLRP_END  2018-09-15 18:46:43
    
    DOC> The following query reports the number of objects that have compiled
    DOC> with errors.
    DOC>
    DOC> If the number is higher than expected, please examine the error
    DOC> messages reported with each object (using SHOW ERRORS) to see if they
    DOC> point to system misconfiguration or resource constraints that must be
    DOC> fixed before attempting to recompile these objects.
    DOC>#
    
    OBJECTS WITH ERRORS
    -------------------
                      0
    
    DOC> The following query reports the number of errors caught during
    DOC> recompilation. If this number is non-zero, please query the error
    DOC> messages in the table UTL_RECOMP_ERRORS to see if any of these errors
    DOC> are due to misconfiguration or resource constraints that must be
    DOC> fixed before objects can compile successfully.
    DOC>#
    
    ERRORS DURING RECOMPILATION
    ---------------------------
                              0
    
    
    Function created.
    
    
    PL/SQL procedure successfully completed.
    
    
    Function dropped.
    
    
    PL/SQL procedure successfully completed.

    至此数据库已经升级完成,查看各组件版本号:

    SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
    
    COMP_NAME                      VERSION              STATUS
    ------------------------------ -------------------- ----------------------
    OWB                            11.2.0.3.0           VALID
    Oracle Application Express     3.2.1.00.12          VALID
    Oracle Enterprise Manager      11.2.0.4.0           VALID
    OLAP Catalog                   11.2.0.4.0           VALID
    Spatial                        11.2.0.4.0           VALID
    Oracle Multimedia              11.2.0.4.0           VALID
    Oracle XML Database            11.2.0.4.0           VALID
    Oracle Text                    11.2.0.4.0           VALID
    Oracle Expression Filter       11.2.0.4.0           VALID
    Oracle Rules Manager           11.2.0.4.0           VALID
    Oracle Workspace Manager       11.2.0.4.0           VALID
    Oracle Database Catalog Views  11.2.0.4.0           VALID
    Oracle Database Packages and Types 11.2.0.4.0           VALID
    JServer JAVA Virtual Machine   11.2.0.4.0           VALID
    Oracle XDK                     11.2.0.4.0           VALID
    Oracle Database Java Packages  11.2.0.4.0           VALID
    OLAP Analytic Workspace        11.2.0.4.0           VALID
    Oracle OLAP API                11.2.0.4.0           VALID
    
    18 rows selected.

    处理OWB版本问题:

    SQL> @?/owb/UnifiedRepos/clean_owbsys.sql
    SQL> @?/owb/UnifiedRepos/cat_owb.sql
    SQL> @?/owb/UnifiedRepos/reset_owbcc_home.sql
    SQL> SELECT COMP_NAME, VERSION, STATUS FROM SYS.DBA_REGISTRY;
    COMP_NAME                           VERSION              STATUS
    ----------------------------------- -------------------- ----------------------
    OWB                                 11.2.0.4.0           VALID
    Oracle Application Express          3.2.1.00.12          VALID
    Oracle Enterprise Manager           11.2.0.4.0           VALID
    OLAP Catalog                        11.2.0.4.0           VALID
    Spatial                             11.2.0.4.0           VALID
    Oracle Multimedia                   11.2.0.4.0           VALID
    Oracle XML Database                 11.2.0.4.0           VALID
    Oracle Text                         11.2.0.4.0           VALID
    Oracle Expression Filter            11.2.0.4.0           VALID
    Oracle Rules Manager                11.2.0.4.0           VALID
    Oracle Workspace Manager            11.2.0.4.0           VALID
    Oracle Database Catalog Views       11.2.0.4.0           VALID
    Oracle Database Packages and Types  11.2.0.4.0           VALID
    JServer JAVA Virtual Machine        11.2.0.4.0           VALID
    Oracle XDK                          11.2.0.4.0           VALID
    Oracle Database Java Packages       11.2.0.4.0           VALID
    OLAP Analytic Workspace             11.2.0.4.0           VALID
    Oracle OLAP API                     11.2.0.4.0           VALID
    
    18 rows selected.

    检查无效对象

    SQL> select * from dba_objects where status<>'VALID';
    
    no rows selected

    升级成功后删除原来的目录,通过EMCA重建EM  (不用EM可忽略)

    [oracle@zg3 app]$ ls
    oracle  oraInventory  oraInventory2
    [oracle@zg3 app]$ pwd
    /oracle/app
    [oracle@zg3 app]$ rm -rf oraInventory
    [oracle@zg3 11.2.0]$ pwd
    /oracle/app/oracle/product/11.2.0
    [oracle@zg3 11.2.0]$ rm -rf db_1

    删除restore point

    SQL> select * from v$restore_point;
    
           SCN DATABASE_INCARNATION# GUA STORAGE_SIZE TIME                                                                        RESTORE_POINT_TIME                                                        PRE NAME
    ---------- --------------------- --- ------------ --------------------------------------------------------------------------- --------------------------------------------------------------------------- --- --------------------
       1048597                     2 YES    629145600 15-SEP-18 06.07.00.000000000 PM                                                              YES UP_ROLLBACK
    
    SQL> drop  restore point up_rollback;
    
    Restore point dropped.
    SQL> select * from v$restore_point;
    
    no rows selected

     

    展开全文
  • oracle 冷备到更高级的实例中 upgrade 方法
  • 运用transport tablespace进行快速oracle版本升级(9i-10g) http://www.orawh.com/81.html 11.03.06运用transport tablespace进行快速oracle版本升级(9i-10g) Posted in Oracle at 12:25 上午 由 wanghai 大家...

    运用transport tablespace进行快速oracle版本升级(9i-10g)

    http://www.orawh.com/81.html
    11.03.06运用transport tablespace进行快速oracle版本升级(9i-10g)
    Posted in Oracle at 12:25 上午 由 wanghai
    大家可能都知道在进行oracle数据库版本升级的时候会有2种方式

    1.通过dbua(database upgrade assistant)

    2.exp/imp

    通过dbua来升级的话由于不涉及到数据文件的改变,所以速度会比较快,但是如果dbua一旦在升级的过程中出现问题可能会导致原来的库不可用。

    而通过exp/imp虽然对原来的库不会有影响,但是如果数据库比较大的话那么升级的时间将会是不可接受的(尤其对24*7)的应用来说。



    针对这个问题,这次的2006 oracle openworld法国的amadeus公司提供了一个非常有创意的点子,就是利用dataguard和transport tablespace功能来实现最短时间内的安全升级。

    首先让我们来了解一下amadeus公司

    艾玛迪斯全球旅游分销系统公司(Amadeus Global Travel Distribution SA)是全球领先的旅游行业技术及分销供应商。1987年艾玛迪斯总部建立于西班牙马德里。在 Sophia Antipolis 法国尼斯附近)和美国波士顿设立有市场及开发部门。公司的数据中心位于德国慕尼黑附近的Erding公司提供各种先进的旅游行业技术解决方案,至今已成为成长最快并被最广泛使用的全球分销系统(GDS)。

    作为卓越的技术合作伙伴,艾玛迪斯把最先进的信息技术带入旅游行业,使众多的旅游供应商、休闲及商务旅游服务商从中获益。通过设立服务于当地市场的national marketing companies(NMCs),艾玛迪斯用其庞大的信息技术资源向全世界200个国家和地区提供优质的技术解决方案。

    我们再来看一下跟它们的数据库相关的信息

    他们的业务系统达到99.99%的可用率,每秒钟有30万次的数据库请求,每天有2亿8千万次transaction,这是一个相当大的数据库系统,如果用dbua或者exp/imp他们都不能接受升级的风险,于是他们的技术人员就想出了用dataguard和transport tablespace功能来实现最短时间内的安全升级。

    具体的实现方法是这样的

    1.先为主库建立一个dataguard数据库(可以在线做)

    2.在dataguard库上安装10g软件(可以在线做)

    3.整理一些不能通过transport tablespace搞定的东西,比如sequence,synonyms,grants……

    4.停止主库这边所有write的应用,提供read的服务(写入停止,提供查询)

    5.强制归档主库redo log并传到dataguard恢复(写入停止,提供查询)

    6.利用transport tablespace来转换数据库版本,并创建sequencee,synonyms,grants等(写入停止,提供查询)。

    7.验证新环境的过程,在验证过程中如果发现有问题,则可以切换会原来的系统(写入停止,提供查询)。

    8.切换应用到10g数据库(提供服务)

    amadeus在演习时做到10分钟内完成4,5,6,7并成功切换了系统,考虑到他们的数据库繁忙程度和数据库容量非常大,这真是一项伟大的成就。我们可以在以后的数据库版本的升级过程中借鉴他们的方法。

    我们再从技术上验证一下transport tablespace可以运用在版本升级

    在9i的库上创建一个test tablespace

    create tablespace test
    datafile ‘/opt/oracle/test.dbf’ size 10m
    extent management local autoallocate;

    创建一张表在test表空间上

    create table test1(a number) tablespace test;

    insert into test1 values(1);
    commit;

    SQL 9i>select * from test1;

             A
    ———-
             1

    把test表空间置为read only模式
    alter tablespace test read only;
    到处test tablespace的metadata

    exp \’sys/sys as sysdba\’  transport_tablespace=y tablespaces=(TEST)  file=test.dmp log=test.log

    传输dmp文件和数据文件(在amadeus的案例里面由于10g的库和9i的库在同一台机器上,所以避免了拷贝数据文件的时间,这也是整个方案的重点之一)到远程

    scp test.dmp oracle@10.0.100.115:/opt/oracle/

    scp /opt/oracle/test.dbf oracle@10.0.100.115:/opt/oracle/

    在目标库上导入metadata数据

    imp \’sys/sys as sysdba\’ transport_tablespace=y tablespaces=(TEST) file=’/opt/oracle/test.dmp’ datafiles=

    (’/opt/oracle/test.dbf’) tts_owners=test fromuser=test touser=test log=tts_i.log

    查看test1表,发现数据一致
    SQL 10G>select * from test1;

             A
    ———-
             1

    把test表空间置为read write模式

    alter tablespace test read write;

    insert into test1 values(2);
    SQL 10G>select * from test1;

             A
    ———-
             1
             2

    一切正常,测试完毕

    这个测试简单的模仿了transport tablespace升级数据库的可能性,当然在实际过程中我们要校验是否自包含表空间,是否需要创建sequence等,但是总体来说这种方案能提供最短时间内的数据库版本升级。


    3.整理一些不能通过transport tablespace搞定的东西,比如sequence,synonyms,grants……
    这些东西对某些系统来对说相当麻烦

    展开全文
  • 目标:将环境中APEX 19.2 版本升级到APEX20.1 方法:drop apex、ords相关用户,重新安装apex 20.1文件 为确保升级后数据及应用稳定,按流程进行: 进入APEX管理后台,查看所有工作区,避免遗漏应用 导出所有应用...
  • 本文演示了从oracle 10.2.0.1.0升级到10.2.0.4.0的过程,类似这种情况的升级就叫小版本升级,如果是从10.1.0.1.0 升级到10.2.0.4.0或者从oracle 10g升级到11g就叫大版本升级,在这种情况下通常是先将当前数据库通过...
  • oracle版本升级 10.2.0.1到10.2.0.3

    千次阅读 2010-07-21 20:35:00
    方法一: 今天又做了开发机的数据库的补丁升级。从10.2.0.1升级到10.2.0.3,服务器是Windows2003 R2 在win下升级主要过程记录如下: 1,下载升级包 2,关闭所有有关oracle的service(可以在服务中停止所有和 oracle...
  • Oracle GoldenGate版本升级时的注意点

    千次阅读 2014-12-20 21:16:19
    Oracle GoldenGate版本升级时的注意点
  • 运用transport tablespace进行快速oracle版本升级(9i-10g)大家可能都知道在进行oracle数据库版本升级的时候会有2种方式1.通过dbua(database upgrade assistant)2.exp/imp通过dbua来升级的话由于不涉及到数据文件的...
  • 升级oracle版本流程

    2016-04-13 10:21:57
    升级oracle版本流程 一、准备工作 下载Oracle补丁包,以root或oracle用户将补丁上传到服务器上,并解压该补丁。 二、数据备份 执行数据库全库备份,RMAN或exp或expdp等方式备份。 三、关闭Oracle相关服务 以Oracle...
  • 在网上看到一个非常不错的oracle版本升级路线图,这里分享给大家。 从oracle 7开始(甚至更早版本)到oracle 9iR2。 从oracle 7.3.4开始到oracle 10gR2。 从oracle 7.3.4开始到...
  • oracle 11.2.0.3 各版本升级包 11.2.0.3-linux-32 11.2.0.3-linux-64 11.2.0.3-HP-UX 11.2.0.3-WIN64 11.2.0.3-WINNT
  • 官方资料:Oracle Database 12c升级方法及实例...升级选项、升级/迁移较老的 Oracle 版本升级方法及准备工作、检查清单、清理重复对象、清理过时的参数、组件验证检查、组件删除、保存统计信息、完整性检查、软件下载
  • 今天在linux环境下做了一下10.2.0.1到10.2.0.4的升级,下面把主要过程记录一下:一、下载补丁 补丁为:p6810189_10204_Linux-x86.zip 可以到oracle官方网站上去下载二、 升级安装前准备工作 1、关闭数据库所有服务 ...
  • oracle的各个版本升级路线图

    千次阅读 2012-11-26 11:12:46
    在网上看到一个非常不错的oracle版本升级路线图,这里分享给大家。 从oracle 7开始(甚至更早版本)到oracle 9iR2。 从oracle 7.3.4开始到oracle 10gR2。 从oracle 7.3.4开始到...
  • 还有一个原因是随着新版本数据库的出现与成熟,oracle停止了对旧版本数据库的技术支持,升级到高版本,可以继续获得oracle的支持,还可以利用新版本数据库的新特新,可以改善系统的性能,健壮性,可扩张性和可用性,...
  • oracle8升级到Oracle10g数据库升级脚本,适用于oracle版本升级
  • 本篇文章主要参考自oracle官网12c的升级文档。 包含数据库升级准备工作(包含Database Replay,Sql Performance Analyzer,sql计划管理等内容)及升级步骤。
  • Oracle版本升级最佳实践手册9i-11g,rac,单实例 中文版
  • Oracle 数据库跨版本升级迁移实践

    千次阅读 2018-03-21 16:44:41
    原库是使用的 Raw,而且版本较低,无法直接升级到 12.2 版本,因此整个升级过程相对麻烦。实施思路我们在新环境部署了10g、11.2、12.2 的 Database 软件(其中 10g,11.2 均为单机,12.2 为已经安装好的 Oracle RAC ...
  • oracle10g小版本升级

    千次阅读 2012-09-07 19:47:29
    由 10.2.0.1.0升级到10.2.0.5.0 1、在“电脑”——“计算机管理”——“服务”中...3、在安装过程中在选择安装目录时选择要升级ORACLE主目录,比如ORACLE 10.2.0.1安装在D:\oracle\product\10.2.0\db_1,那就选择这
  • oracle数据库升级记(记一次10.2.0.3版本升级到11.2.0.1版本的过程) Oracle数据库升级 先交代一下背景: 操作系统:windows xp 已有数据库版本:10.2.0.3 升级目标版本:11.2.0.1 步骤大纲: 在源操作系统(安装有...
  • 1.首先新版增加了很多的新功能,具体为https://apex.oracle.com/zh-cn/platform/features/whats-new/ ...3.进行升级操作(示例为win环境下,linux下基本相同) 解压下的文件到指定的目录:如d:\ap...
  • Linux(RHEL5)下ORACLE 10g版本升级(10.2.0.1.0-10.2.0.5.0)操作手册,本文档规范oracle10.2.0.1.0升级到10.2.0.5.0版本的升级流程及操作,供DBA人员在进行数据库版本升级的时参考使用。
  • oracle10201升级10205.doc

    2020-05-20 17:13:00
    本文档规范oracle10.2.0.1.0升级到10.2.0.5.0版本的升级流程及操作,供DBA人员在进行数据库版本升级的时参考使用。
  • oracle升级版本矩阵图

    2015-09-14 09:39:42
    能够直接升级Oracle 12c Release 1的数据库最小版本 源数据库 目标数据库 10.2.0.5 12.1.x 11.1.0.7 12.1.x 11.2.0.2 (或更高版本) ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 61,073
精华内容 24,429
关键字:

oracle版本升级方法