磁力网站怎么做的源码,网站优化方案书,个人养老金制度出台有望年底,那样的网站18年原文#xff1a;https://www.cnblogs.com/daizhengyang/p/13353783.html 一个环境是oracle 11.2.0.1#xff0c;一个环境是oracle 11.2.0.4#xff0c;同样的数据#xff0c;同样的sql#xff0c;在两个版本数据库表现不一样。于是#xff0c;干脆都统一为11.2.0.4。 但… 原文https://www.cnblogs.com/daizhengyang/p/13353783.html 一个环境是oracle 11.2.0.1一个环境是oracle 11.2.0.4同样的数据同样的sql在两个版本数据库表现不一样。于是干脆都统一为11.2.0.4。 但由于环境限制只能用静默的方法把oracle 11.2.0.1 升级到 11.2.0.4。 不过还好根据网上的文档升级过程还算顺利。 下面我记录一下升级过程供自己以后查看也供有需要的人参考。 1、11.2.0.1环境待升级数据库
SQL select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bit Production
PL/SQL Release 11.2.0.1.0 - Production
CORE11.2.0.4.0Production
TNS for Linux: Version 11.2.0.1.0 - Production
NLSRTL Version 11.2.0.1.0 - Production [rootlocalhost ~]# su - oracle
[oraclelocalhost ~]$ cat .bash_profile
export ORACLE_SIDorcl
export ORACLE_BASE/u01/app/oracle
export ORACLE_HOME$ORACLE_BASE/product/11.2.0/db_1
export LD_LIBRARY_PATH$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH$ORACLE_HOME/bin:$PATH:$HOME/bin
alias sqlplusrlwrap sqlplus 2、升级前的准备工作
2.1、 备份数据库 升级数据库是一个有风险的过程需要仔细规划和慎重处理。首先要做数据库的完全备份备份的内容包括数据文件控制文件归档文件日志文件参数文件密码文件等。 可以备份一下整个ORACLE_HOME目录如果升级有问题还可以还原回来。备份的方法可以使用dump数据泵tarrman等。 如RMAN全备 [oraclelocalhost ~]$ export ORACLE_SIDorcl
[oraclelocalhost ~]$ rman target /
RMANrun
{allocate channel c1 type disk;
allocate channel c2 type disk;
backup database filesperset 20 format /onlbak/rman_Data/avcache/full_%d_%T_%s_%p;
sql alter system archive log current;
backup archivelog all format /onlbak/rman_Data/avcache/arch_%d_%T_%s_%p delete input;
backup current controlfile format /onlbak/rman_Data/avcache/ctl_%d_%T_%s_%p;
crosscheck backup;
crosscheck archivelog all;
delete noprompt obsolete;
delete noprompt expired backup;
delete noprompt expired archivelog all;
}备份老的ORACLE_HOME和oraInventory [oraclelocalhost ~]$tar –cvfp product.tar.gz /u01/app/oracle/
[oraclelocalhost ~]$tar –cvfp oraInventory.tar.gz /u01/app/oraInventory/
2.2、干净的关闭数据库
SQL shutdown immediate;
2.3、 关闭数据库的监听 在数据库的升级中会对数据库的监听文件做重新的配置建议正常的关闭监听如下 [oraclelocalhost ~]$ lsnrctl stop
[oraclelocalhost ~]$ netstat -tnlp |grep 1521
2.4、 关闭OEM 在升级中需要关闭EM没有EM可以省略这一步 [oraclelocalhost ~]$emctl stop dbconsole
[oraclelocalhost ~]$netstat -an |grep 1158
2.5、不 对数据库的任何原有文件做操作 本人在升级中编辑数据库的监听文件导致配置监听和EM错误故不对数据库的任何原有文件做操作。 3、安装oracle 11.2.0.4软件包 把oracle 11.2.0.4的安装包上传到/home/oracle目录下解压后得到database目录。 [oraclelocalhost ~]$ ls
p13390677_112040_Linux-x86-64_1of7.zip p13390677_112040_Linux-x86-64_2of7.zip
[oraclelocalhost ~]$ unzip p13390677_112040_Linux-x86-64_1of7.zip
[oraclelocalhost ~]$ unzip p13390677_112040_Linux-x86-64_2of7.zip
[oraclelocalhost ~]$ ls
database 开始安装数据库软件11.2.0.4。 [oraclelocalhost ~]$ cd database
[oraclelocalhost ~]$./runInstaller -silent -debug -force -ignorePrereq \
DECLINE_SECURITY_UPDATEStrue \
oracle.install.optionINSTALL_DB_SWONLY \
UNIX_GROUP_NAMEoinstall \
INVENTORY_LOCATION/u01/app/oraInventory \
ORACLE_HOME/u01/app/oracle/product/11.2.0.4/dbhome_1 \
ORACLE_BASE/u01/app/oracle \
oracle.install.db.InstallEditionEE \
oracle.install.db.DBA_GROUPdba \
oracle.install.db.OPER_GROUPoinstall 说明 1.INVENTORY_LOCATION可以和老版本共用一个目录。 2.ORACLE_BASE和老版本保持一样 3.ORACLE_HOME指向了一个新的目录11.2.0.4/dbhome_1(以前是11.2.0/db_1)。 不过这些目录都是可以随意指定我上面做是只是为了版本管控方便。 安装过程大概需要15分钟左右(根据机型配置时间也不同)安装过程中有警告[WARNING] 时需要安装一些i386 的包。查看log安装即可。 出现以下字样表示升级成功。 As a root user, execute the following script(s):1. /u01/oracle/app/product/11.2.0.4/dbhome_1/root.sh
Successfully Setup Software. 切换到 root 用户执行脚本。 [rootlocalhost ~]# /u01/oracle/app/product/11.2.0.4/dbhome_1/root.sh 4、配置新环境变量拷贝参数文件和监听文件
4.1、配置新环境变量
[oraclelocalhost ~]$ whoami
oracle
[oraclelocalhost ~]$ cat .bash_profile
export ORACLE_SIDorcl
export ORACLE_BASE/u01/app/oracle
export ORACLE_HOME$ORACLE_BASE/product/11.2.0.4/dbhome_1
export LD_LIBRARY_PATH$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export PATH$ORACLE_HOME/bin:$PATH:$HOME/bin
alias sqlplusrlwrap sqlplus 上面看到新环境变量和老环境变量相比我只修改了一个参数 新参数ORACLE_HOME$ORACLE_BASE/product/11.2.0.4/dbhome_1
老参数ORACLE_HOME$ORACLE_BASE/product/11.2.0/db_1 注意 在10g以后一般情况下环境变量中没有必要设置LD_LIBRARY_PATH但是一旦将ORACLE_HOME迁移到其他目录则环境变量中还需要添加这个变量。 source一下后环境变量就指向新安装的11.2.0.4位置了。 [oraclelocalhost ~]$ source .bash_profile
[oraclelocalhost ~]$ env |grep ORA
ORACLE_SIDorcl
ORACLE_BASE/u01/app/oracle
ORACLE_HOME/u01/app/oracle/product/11.2.0.4/dbhome_1
4.2、修改 /etc/oratab 内容为最新位置
[oraclelocalhost ~]$ vim /etc/oratab
orcl:/u01/app/oracle/product/11.2.0.4/db_1:N
4.3、 将参数文件copy到新的目录下
[oraclelocalhost ~]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs/
[oraclelocalhost dbs]$ cp -a * /u01/app/oracle/product/11.2.0.4/dbhome_1/dbs/
4.4、 拷贝监听TNS配置文件到新的目录下
[oraclelocalhost admin]$ cd /u01/app/oracle/product/11.2.0/db_1/network/admin/
[oraclelocalhost dbs]$ cp -a * /u01/app/oracle/product/11.2.0.4/dbhome_1/network/admin
4.5、启动监听 先修改新位置下的listener.ora里面的路径然后启动监听。 vim listener.ora [oraclelocalhost admin]$ lsnrctl start
5、升级数据库 要注意退出oracle用户重新su - oracle下然后sqlplus能看到11.2.0.4.0字样才行。 [oracle19_mysql-slave ~]$ sqlplus / as sysdba
SQL*Plus: Release 11.2.0.4.0 Production on Mon Mar 30 12:10:30 2020
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to an idle instance.
SQL startup upgrade
ORACLE instance started.
Total System Global Area 1603411968 bytes
Fixed Size 2253664 bytes
Variable Size 1006636192 bytes
Database Buffers 587202560 bytes
Redo Buffers 7319552 bytes
Database mounted.
Database opened.
SQL $ORACLE_HOME/rdbms/admin/catupgrd.sql ---该脚本会运行30分钟左右 以上catupgrd.sql脚本整整运行了30分钟执行完之后会shutdown immediate数据库。这个时候我们重启数据库即可。 [oraclelocalhost admin]$ sqlplus /nolog
SQL conn / as sysdba
SQL startup
SQL select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
6、 运行 utlrp.sql 编译失效对象
SQL select * from dba_objects where status !VALID;
SQL SELECT count(*) FROM dba_objects WHERE statusINVALID; 运行utlrp.sql编译失效对象。 SQL ?/rdbms/admin/utlrp 该脚本耗时约为3分钟左右。 至此数据库已经升级完成。 最后重启数据库没有问题就是升级成功了。 7、更新数据库服务脚本 将/u01/app/oracle/product/11.2.0.4/dbhome_1/bin/ 下的 dbstart 和 dbshut ORACLE_HOME_LISTNER$1 改为 $ORACLE_HOME #ORACLE_HOME_LISTNER$1
ORACLE_HOME_LISTNER$ORACLE_HOME
8、 升级后的检查确认
SQL select status from v$instance;
STATUS------------
OPEN #注意成功打开数据库后这里将是OPEN而非OPEN MIGRATE
SQL select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
PL/SQL Release 11.2.0.4.0 - Production
CORE 11.2.0.4.0 Production
TNS for Linux: Version 11.2.0.4.0 - Production
NLSRTL Version 11.2.0.4.0 - Production
9、升级成功后需重建EM没有EM可忽略该步 手工创建EM资料库: ####emca -repos drop
[oraclelocalhost admin]$ emca -reposdrop
####emca -repos create[oraclelocalhost admin]$ emca -reposcreate###emca -config dbcontrol db
[oraclelocalhost admin]$ emca-config dbcontrol db