当前位置: 首页 > news >正文

如何把物流做免费网站商标域名查询官网

如何把物流做免费网站,商标域名查询官网,金阊网站建设,网页设计师证书考什么前言: 本文主要描述Oracle11g升19c rolling upgrade升级测试#xff0c;通过逻辑DGautoupgrade方式实现rolling upgrade#xff0c;从而达到在较少停机时间内完成Oracle11g升级到19c的目标 升级介绍#xff1a; 升级技术: rolling upgrade轮询升级#xff0c;通过采用跨版…前言: 本文主要描述Oracle11g升19c rolling upgrade升级测试通过逻辑DGautoupgrade方式实现rolling upgrade从而达到在较少停机时间内完成Oracle11g升级到19c的目标 升级介绍 升级技术: rolling upgrade轮询升级通过采用跨版本主备数据库同步方式(11g逻辑备库方式同步到19c)在不影响业务的情况下提前升级备环境的数据库以作为升级测试环境或者待迁移环境减少停机升级数据库版本的操作时间从而在停机窗口正式迁移中花费较少的停机时间就可以将数据库切换到新环境大大缩短了数据库升级的时间以及风险适合同平台或是官方支持的DG异构平台的Oracle 11.1及以上跨版本升级 升级过程 1 部署ADG主备物理同步环境: 2 ADG主备物理同步转为逻辑备库同步: 3 逻辑备库取消同步使用autoupgrade工具将备库升级为19c: 4 逻辑备库重新恢复与主库的同步此时主库为11g逻辑备库为19c: 5 正式迁移应用停机将主库切换为逻辑备库新环境切换为主库应用连接新环境 6 迁移之后对于旧环境的升级可以有三种方式 a.旧环境不再使用直接使用新环境作为主库没有容灾 b.旧环境也同样使用autoupgrade的方式升级为19c然后作为逻辑备库与主库进行同步后面也可以重新switchover到旧环境 c.旧环境恢复到物理备库(需要使用闪回点)然后作为物理备库与主库进行同步通过应用新环境的redo日志升级到19c后面也可以重新switchover到旧环境 升级步骤: 1 升级环境信息: 2 部署物理ADG: 按照部署物理ADG的方式部署即可这里省略 3 安装19c软件并准备好环境变量配置文件: 安装19c软件安装即可这里省略 4 转化逻辑备库准备 检查逻辑复制不支持的表字段类型: 不支持的字段类型: ROWID UROWID Nested tables Objects with nested tables Identity columns(Oracle 12c) 查询不支持的字段类型,对应不支持的字段表需要再迁移后单独导入 select DISTINCT OWNER, TABLE_NAME,COLUMN_NAME,DATA_TYPE FROM DBA_LOGSTDBY_UNSUPPORTED; 检查逻辑复制不支持的表: 表包只包含LOB (CLOB, NCLOB, BLOB),LONG,LONG RAW,OBJECT TYPE,COLLECTIONS,XML,VARCHAR2 (with a declared column length 4000 bytes),NVARCHAR2 (with a declared column length 4000 bytes),RAW (with a declared column length 4000 bytes)列的表 分区包含系统分区以及关联子分区 检查询不支持的表,对于不支持的字段表需要再迁移后单独导入 select owner,table_name from DBA_LOGSTDBY_UNSUPPORTED_TABLE; 检查逻辑复制不支持的PL/SQL包: 不支持的PL/SQL包会对系统元数据进行修改的 DBMS_JAVA DBMS_REGISTRY DBMS_ALERT,DBMS_SPACE_ADMIN DBMS_REFRESH DBMS_AQ,DBMS_RESOURCE_MANAGER 检查逻辑复制没有主键的表 逻辑复制需要主键或非null唯一键,如果没有主键以及唯一键则默认用非clobblob字段的全部列作为主键 检查没有主键的表包含无长度限定范围的列如clobblob SELECT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_NOT_UNIQUEWHERE (OWNER, TABLE_NAME) NOT IN (SELECT DISTINCT OWNER, TABLE_NAME FROM DBA_LOGSTDBY_UNSUPPORTED) AND BAD_COLUMN Y; 对于应用可以确保数据唯一但实际没有创建主键的可以通过创建RELY DISABLE告诉数据库数据是符合唯一要求的但是实际上约束并没有起作用。比如在创建逻辑standby的时候oracle建议对那些没有主键或者唯一索引且检查发现DBA_LOGSTDBY_NOT_UNIQUE.BAD_COLUMNY的表创建rely disable的主键。 ALTER TABLE mytab ADD PRIMARY KEY (id, name) RELY DISABLE; 检查逻辑复制不支持的同步用户 SELECT OWNER FROM DBA_LOGSTDBY_SKIP - WHERE STATEMENT_OPT INTERNAL SCHEMA; ​ OWNER ------------------------------ SYS SYSTEM MDSYS ORDSYS EXFSYS DBSNMP WMSYS ORACLE_OCM APPQOSSYS XS$NULL APEX_030200 ORDDATA CTXSYS ANONYMOUS OUTLN DIP SYSMAN XDB ORDPLUGINS OWBSYS MGMT_VIEW SI_INFORMTN_SCHEMA OLAPSYS 逻辑复制的DDL事务: 对于CTAS操作的在备库应用会变成createinsert 对于在同一时间发生DDL,DML事务在同一个对象上的逻辑备库应用会丢弃DML操作 如表执行DDL操作触发了表的DML操作那这一部分DML操作会被逻辑备库丢掉 主库执行的DDL操作会在逻辑备库重新执行所以对应DDL里面包含确定的非文本值如sysdate(),会导致主备之间两边的数据不一致 如:ALTER TABLE hr.employees ADD (start_date date default sysdate); 逻辑复制包含数据字典的语句: 升级之后备库应用主库涉及数据字典的语句可能会操作失败因为主备两端的数据字典已经不一致 比如:create table test.test1 as select * from dba_objects,dba_objects在11g是15列而在19c已经是26列了表早已发生变化这时候只能通过备库skip 问题表 5 主库创建闪回点(可选) 对于切换之后主库计划作为物理备库的需要先在主库创建闪回点备库转为为逻辑备库之前确保时间点是在逻辑备库新的incarnation之前 主库创建闪回点需要确保闪回区的空间足够归档日志空间足够 create restore point pre_standby guarantee flashback database; 6 物理备库转化为逻辑备库         备库关闭日志应用 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL; 主库初始化日志数据字典 --执行会等待数据库事务结束 EXECUTE DBMS_LOGSTDBY.BUILD --会自动开启补充日志 SQL select SUPPLEMENTAL_LOG_DATA_FK,SUPPLEMENTAL_LOG_DATA_ALL,SUPPLEMENTAL_LOG_DATA_MIN from gv$database; SUP SUP SUPPLEME --- --- -------- NONO IMPLICIT 将备库启动为mount --单机关闭启动到mount SHUTDOWN immediate; STARTUP MOUNT ; --如果是RAC需要启动为独占模式 SQL ALTER SYSTEM SET CLUSTER_DATABASEFALSE SCOPESPFILE; SQL SHUTDOWN immediate; SQL STARTUP MOUNT EXCLUSIVE; 将备库转化为逻辑DG角色 方式一:指定新的db_name 对于db_name请指定与主数据库不同的数据库名称以标识新的逻辑备用数据库。如果使用的是服务器参数文件spfile 在您发出此语句时数据库将更新该文件有关新逻辑备用数据库的相应信息。如果您没使用spfile文件然后数据库发出一条消息提醒您设置关闭数据库后DB_NAME参数 ALTER DATABASE RECOVER TO LOGICAL STANDBY db_name; 方式二:保留相同的db_name(rolling upgrade使用这种方式) ALTER DATABASE RECOVER TO LOGICAL STANDBY KEEP IDENTITY; --语句会等待读取到从主库发送过来的日志里面包含LogMiner dictionary 确认备库角色转为为逻辑备库 select database_role,NAME,controlfile_type from v$database DATABASE_ROLE NAME CONTROL ---------------- --------- ------- LOGICAL STANDBY DB CURRENT 调整逻辑备库的日志路径因为逻辑备库日志有4种类型online log(archive log),standby logForeign Archived Logs需要将日志归档分开 --归档online log alter system set LOG_ARCHIVE_DEST_1LOCATION/u01/app/oracle/arch/onlinelog/newdb VALID_FOR(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAMEnewdb; --primary role的链路 alter system set LOG_ARCHIVE_DEST_2servicedb LGWR ASYNC NOAFFIRM delay0 optional compressiondisable max_failure0 max_connections1 reopen30 net_timeout300 valid_for(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_namedb; --归档standby log ,也叫Foreign Archived Logs逻辑备库接收到主库的日志由于日志的DBID可能不一样所以叫做外部归档日志日志无法通过RMAN进行备份删除 --如果设置了闪回区则日志会存放在闪回区里面 alter system set LOG_ARCHIVE_DEST_3LOCATION/u01/app/oracle/arch/standbylog/newdb VALID_FOR(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAMEnewdb; 打开逻辑备库 --如果使用KEEP IDENTITY则不需要使用RESETLOGS,使用RECOVER TO LOGICAL STANDBY db_name的方式需要open resetlogs shutdown immediate; startup mount; ALTER DATABASE OPEN; 逻辑备库开启event记录记录不支持的操作这样可以在切换之前确认更新的数据库的事务是否存在没有应用的情况 EXEC DBMS_LOGSTDBY.APPLY_SET(MAX_EVENTS_RECORDED,DBMS_LOGSTDBY.MAX_EVENTS); EXEC DBMS_LOGSTDBY.APPLY_SET(RECORD_UNSUPPORTED_OPERATIONS, TRUE); 逻辑备库开启日志同步 ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE; 7 检查逻辑备库同步 检查进程状态 SELECT SESSION_ID, STATE FROM V$LOGSTDBY_STATE; SELECT SID, SERIAL#, SPID, TYPE FROM V$LOGSTDBY_PROCESS; SELECT STATUS FROM V$LOGSTDBY_PROCESS WHERE TYPE READER; 检查日志应用进度 ALTER SESSION SET NLS_DATE_FORMAT DD-MON-YYYY HH24:MI:SS; SELECT SYSDATE,APPLIED_TIME, APPLIED_SCN, MINING_TIME, MINING_SCN FROM V$LOGSTDBY_PROGRESS; 查看不支持事务 SET LONG 1000 SET PAGESIZE 180 SET LINESIZE 79 SELECT EVENT_TIMESTAMP, EVENT, STATUS FROM DBA_LOGSTDBY_EVENTS ORDER BY EVENT_TIMESTAMP; 8 逻辑备库升级19c 禁用自动删除foreign archive log避免升级完之后日志被删除 EXECUTE DBMS_LOGSTDBY.APPLY_SET(LOG_AUTO_DELETE, FALSE); 关闭日志应用 ALTER DATABASE stop LOGICAL STANDBY APPLY 关闭逻辑备库安全访问保护 ALTER DATABASE GUARD NONE; 使用autoupgrade将逻辑备库升级到19c 这里省略具体的autoupgrade执行步骤具体参考: Oracle-Autoupgrade方式升级19chttp://mp.weixin.qq.com/s?__bizMzkxODM0MzgwOAmid2247484478idx1snd046be5961b59a65183a5f060806c9adchksmc1b39dd1f6c414c7b3004860e357ba8e20a006d23a20136c4b4e49082d97fdacabb7bad5c820scene21#wechat_redirect java -jar /tmp/autoupgrade.jar -config /tmp/config.txt -mode analyze java -jar /tmp/autoupgrade.jar -config /tmp/config.txt -mode fixups java -jar /tmp/autoupgrade.jar -config /tmp/config.txt -mode deploy 查看升级后的组件 --升级之后注意环境变量使用19c的环境以及监听都要使用19c set linesize 400 set pagesize 400 Col Comp_name Format a60 Col Status Format a12 Select Comp_name, status, Version From Dba_Registry Order by Comp_name; COMP_NAME STATUS VERSION ------------------------------------------------------------ ------------ ------------------------------ JServer JAVA Virtual Machine VALID 19.0.0.0.0 OLAP Analytic Workspace VALID 19.0.0.0.0 Oracle Application Express VALID 3.2.1.00.12 Oracle Database Catalog Views VALID 19.0.0.0.0 Oracle Database Java Packages VALID 19.0.0.0.0 Oracle Database Packages and Types VALID 19.0.0.0.0 Oracle Multimedia VALID 19.0.0.0.0 Oracle OLAP API VALID 19.0.0.0.0 Oracle Real Application Clusters OPTION OFF 19.0.0.0.0 Oracle Text VALID 19.0.0.0.0 Oracle Workspace Manager VALID 19.0.0.0.0 Oracle XDK VALID 19.0.0.0.0 Oracle XML Database VALID 19.0.0.0.0 Spatial VALID 19.0.0.0.0 新环境19c的新逻辑备库开启复制 ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE; 9 正式迁移(应用停机) 主库切换为逻辑备库 --主库切换为逻辑备库,由于主备的版本已经不一致不能采用正常逻辑备库的二阶段切换方式prepareconvert ALTER DATABASE COMMIT TO SWITCHOVER TO LOGICAL STANDBY; 新环境备库关闭应用 ALTER DATABASE stop LOGICAL STANDBY APPLY ; 新环境通过impdp dblink导入逻辑备库不支持复制的表 --创建dblink create public database link old_prd connect to system identified by oracle using db; --查看不支持的表 SQL select owner,table_name from DBA_LOGSTDBY_UNSUPPORTED_TABLE; OWNER TABLE_NAME ------------------------------ ------------------------------ TEST TESTCLOB --新环境备库导入不支持的表 impdp SYSTEM/oracle directoryDATA_PUMP_DIR NETWORK_LINKold_prd TABLESTEST.TESTCLOB TABLE_EXISTS_ACTIONTRUNCATE 新环境备库正式切换为主库升级完成应用可以直接访问新环境 SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS -------------------- TO PRIMARYSQL ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; 10 旧环境升级 方式一:旧环境不再需要 新环境清空主备的配置信息以及链路信息 alter system set LOG_ARCHIVE_DEST_2 scopeboth; alter system set fal_server scopeboth; alter system set fal_client scopeboth; alter system set log_archive_configNODG_CONFIG scopeboth; 方式二:旧环境作为逻辑备库升级为19c 禁用自动删除foreign archive log避免升级完之后日志被删除 EXECUTE DBMS_LOGSTDBY.APPLY_SET(LOG_AUTO_DELETE, FALSE); 关闭日志应用 ALTER DATABASE stop LOGICAL STANDBY APPLY 关闭逻辑备库安全访问保护 ALTER DATABASE GUARD NONE; 使用autoupgrade将逻辑备库升级到19c java -jar /tmp/autoupgrade.jar -config /tmp/config.txt -mode analyze java -jar /tmp/autoupgrade.jar -config /tmp/config.txt -mode fixups java -jar /tmp/autoupgrade.jar -config /tmp/config.txt -mode deploy 查看升级后的组件 --升级之后注意环境变量使用19c的环境以及监听都要使用19c set linesize 400 set pagesize 400 Col Comp_name Format a60 Col Status Format a12 Select Comp_name, status, Version From Dba_Registry Order by Comp_name; ​ COMP_NAME STATUS VERSION ------------------------------------------------------------ ------------ ------------------------------ JServer JAVA Virtual Machine VALID 19.0.0.0.0 OLAP Analytic Workspace VALID 19.0.0.0.0 Oracle Application Express VALID 3.2.1.00.12 Oracle Database Catalog Views VALID 19.0.0.0.0 Oracle Database Java Packages VALID 19.0.0.0.0 Oracle Database Packages and Types VALID 19.0.0.0.0 Oracle Multimedia VALID 19.0.0.0.0 Oracle OLAP API VALID 19.0.0.0.0 Oracle Real Application Clusters OPTION OFF 19.0.0.0.0 Oracle Text VALID 19.0.0.0.0 Oracle Workspace Manager VALID 19.0.0.0.0 Oracle XDK VALID 19.0.0.0.0 Oracle XML Database VALID 19.0.0.0.0 Spatial VALID 19.0.0.0.0 调整日志的路径 --归档online log alter system set LOG_ARCHIVE_DEST_1LOCATION/u01/app/oracle/arch/onlinelog/db VALID_FOR(ONLINE_LOGFILES,ALL_ROLES) DB_UNIQUE_NAMEdb; --primary log 的链路 alter system set LOG_ARCHIVE_DEST_2servicenewdb LGWR ASYNC NOAFFIRM delay0 optional compressiondisable max_failure0 max_connections1 reopen30 net_timeout300 valid_for(ONLINE_LOGFILES,PRIMARY_ROLE) db_unique_namenewdb; --归档standby log ,也叫Foreign Archived Logs逻辑备库接收到主库的日志由于日志的DBID可能不一样所以叫做外部归档日志日志无法通过RMAN进行备份删除 alter system set LOG_ARCHIVE_DEST_3LOCATION/u01/app/oracle/arch/standbylog/db VALID_FOR(STANDBY_LOGFILES,STANDBY_ROLE) DB_UNIQUE_NAMEdb; 第一次开启复制 注意:由于之前的切换没有使用二阶段的方式所以数据字典没有初始化第一次开启需要使用NEW PRIMARY db_link_to_b的方式 ---创建dblink需要system用户级别的权限 create public database link new_prd connect to system identified by oracle using newdb; ---开启同步 ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE NEW PRIMARY new_prd; 如果想回切数据库到新环境可以进行switchover回切到原环境(可选) 主库检查切换状态 --需要为TO STANDBY或者SESSIONS ACTIVE SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS ----------------- TO STANDBY 主库执行切换逻辑备库前的准备prepare表示当前主库即将切换为逻辑备库准备接收LogMiner dictionary SQL ALTER DATABASE PREPARE TO SWITCHOVER TO LOGICAL STANDBY; 在备库(即将切换为主库)上执行prepare初始化LogMiner dictionary同时会启动日志传输将日志发送到当前的主库以及其他备库主库以及其他备库只接收但不应用 SQL ALTER DATABASE PREPARE TO SWITCHOVER TO PRIMARY; 在备库(即将切换为主库)检查SWITCHOVER_STATUS的状态 --需要为PREPARING SWITCHOVER SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE; --逻辑备库V$DATABASE.SWITCHOVER_STATUS的状态为PREPARING DICTIONARY表示LogMiner dictionary正在redo strem准备 --逻辑备库V$DATABASE.SWITCHOVER_STATUS的状态为PREPARING SWITCHOVER表示LogMiner dictionary已经初始化完成 注意:如果prepare阶段出现问题可以取消切换 a. 在主库执行取消prepare: SQL ALTER DATABASE PREPARE TO SWITCHOVER CANCEL; b. 在备库执行取消prepare: SQL ALTER DATABASE PREPARE TO SWITCHOVER CANCEL; 验证主数据库是否接收了LogMiner dictionary在没有LogMiner dictionary的情况下切换无法继续因为当前主数据库必须能够解析切换后新主数据库发送的redo记录。 --检查SWITCHOVER_STATUS如果为TO LOGICAL STANDBY表示已经接收完成可以切换 SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE; SWITCHOVER_STATUS ----------------- TO LOGICAL STANDBY 主库切换为逻辑备库角色会等待当前全部事务执行完成并阻止其他会话的新生成事务 SQL ALTER DATABASE COMMIT TO SWITCHOVER TO LOGICAL STANDBY; 在备库(即将切换为主库)检查是否为to primary SQL SELECT SWITCHOVER_STATUS FROM V$DATABASE;SWITCHOVER_STATUS-----------------TO PRIMARY 在备库(即将切换为主库)正式切换为主库 SQL ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY; 在新备库上执行日志应用: SQL ALTER DATABASE START LOGICAL STANDBY APPLY IMMEDIATE; 方式三:旧环境作为物理备库升级为19c 使用19c版本软件启动数据库到mount ​​startup mount 恢复到闪回点pre_standby flashback database to restore point pre_standby; 转化为物理备库角色 --当前还是逻辑备库角色 SQL select database_role,open_Mode from v$database; ​ DATABASE_ROLE OPEN_MODE ---------------- -------------------- LOGICAL STANDBY MOUNTED ---转成物理standby ROLE ALTER DATABASE CONVERT TO PHYSICAL STANDBY; 执行日志应用操作 ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; ---会自动应用完日志然后跳到下个incarnation日志 ---此时如果出现这个报错 Managed Standby Recovery starting Real Time Apply MRP0: Background Media Recovery waiting for new incarnation during transient logical upgrade procedure 要确认闪回点是否在备库convert to 逻辑备库之前转化逻辑备库会生成一个新的incarnation并在主库标致KCCDI2HMRP flag这样在备库media recovery的时候会主动 进行incarnation 切换以应用新的incarnation日志 打开物理备库 Alter database recover managed standby database cancel; Alter database open read only; ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION; 如果想回切数据库到新环境可以进行switchover回切到原环境(可选) 在主库执行切换检查,命令需要写明要切换的备库standby ALTER DATABASE SWITCHOVER TO standby_unique_name VERIFY; --验证如果出现warning或者失败(ORA-16475: succeeded with warnings, check alert log for more details)需要通过后台alert日志确认检查不通过的原因需要进行修复后重新执行检查 验证通过后主库执行主备一键切换命令 ALTER DATABASE SWITCHOVER TO standby_unique_name; 11 COMPATIBLE参数修改 修改COMPATIBLE为19c注意修改为19c之后无法再进行回退 ALTER SYSTEM SET COMPATIBLE 19.0.0 SCOPESPFILE; --重启数据库生效
http://www.w-s-a.com/news/996447/

相关文章:

  • 白领兼职做网站贵阳网站设计哪家好
  • 热水器网站建设 中企动力企业网站开发需要多钱
  • 北京市建设工程信息网交易网站静态网页模板免费下载网站
  • 福田欧曼服务站网站前台设计
  • 网站做系统叫什么软件吗注册域名需要实名认证吗
  • jsp网站开发教学视频ui设计风格
  • 注册网站建设开发怎么自己做导航网站
  • 设计做网站品牌咖啡主题网页界面设计
  • 个人网站制作总体设计宿迁房价2023年最新房价
  • 服装网站建设进度及实施过程马鞍山网站设计制作
  • 郑州网站优化顾问济宁网站制作
  • 网站开发简单吗网站引导页分为三个板块设计风格
  • 湖南做网站 在线磐石网络百度一下百度搜索
  • 现在建网站多少钱推广营销费
  • 联想企业网站建设的思路西安网站建设阳建
  • 网站内容 内链网站建设电话销售工作总结
  • 系统网站开发知名的摄影网站有哪些
  • 网站拍照的幕布扬中网站建设价位
  • 网站ie兼容性差西安小程序开发的公司
  • 上海网站建设培训app网站开发成本
  • 个人网站icp外贸网站开发 河南
  • 遵义建设网站无锡市规划建设局网站
  • 海外留学网站建设方案门户网站的发布特点
  • 网站建设不赚钱net112企业建站系统
  • 网站建设团队管理模板贵州省住房和城乡建设部网站
  • 曲沃网站建设网上学编程的有哪些比较好的网站
  • 厦门网站建设慕枫学做网站需要多久
  • 爱奇艺做任务领vip网站设计广告图片
  • 中科汇联网站建设手册上海公司名称注册查询网
  • 网站建设电子商务课总结和体会关于做网站书籍