1.jsp调用oracle
1.安装tomcat [root@h1 ROOT]# cd /var/App/ [root@h1 App]# unzip apache-tomcat-6.0.14.zip 2.复制ojdbc.jar [root@h1 ~]# cd /app/oracle/product/11.2.0/dbhome_2/jdbc/lib [root@h1 webapps]# cd /var/App/apache-tomcat-6.0.14/webapps/ROOT
<%
<% out.println("Hello,Everybody"); "1.jsp" [New] 17L, 81C written 3.安装jdk,修改/etc/profile [root@h1 ROOT]# cd /var/App/ [root@h1 APP]# ./jdk-6u27-linux-x64.bin [root@h1 App]#vi /etc/profile export JAVA_HOME=/var/App/jdk1.6.0_27 "/etc/profile" 84L, 1905C written windwos 下修改系统环境变量 用户环境变量添加JAVA_HOME 系统环境变量添加CLASSPATH=%JAVA_HME%\lib 系统环境变量添加PATH=.;%JAVA_HME%\bin; 4.启动tomcat [root@h1 bin]# cd /var/App/apache-tomcat-6.0.14/bin [root@h1 bin]# ./startup.sh [root@h1 ROOT]# cd /var/App/apache-tomcat-6.0.14/webapps/ROOT [root@h1 ROOT]# vi [root@h1 ROOT]# vi db.jsp <%@ page contentType="text/html;charset=gbk" import="java.sql.*"%> <% ~ |
2.冷·备份
前提:有两台服务器,一台是oracle数据库服务器SERVER130 ip=192.168.5.130,另一台是新机 Server128=192.168.5.128
现在冷备份数据库将Server130中的TEST迁移至Server128
#-------------------其中SERVER130 数据库重命名过,原名ORCL,所以按照数据库安装时生成的/app/oracle/admin/orcl/pfile/
init.ora.[num]中db_name=安装数据库时的ORCL;迁移次文件,生成的数据库是ORCL
1.SERVER1 上BITC实例关闭,监听关闭 [oracle@h1 ~]$ sqlplus "/as SYSDBA" SQL*Plus: Release 11.2.0.1.0 Production on Mon Nov 12 14:42:08 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. NAME TYPE VALUE LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 12-NOV-2012 14:44:23 Copyright (c) 1991, 2009, Oracle. All rights reserved. Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.5.130)(PORT=1522))) 2.转移参数文件 SERVER130上下载参数文件 [oracle@h1 oracle]$ cd /app/oracle/admin/orcl/pfile [oracle@h1 pfile]$ sz * ----------------------------------------------- SERVER128上传参数[root@instructor app]# mkdir -p /app/oracle/admin/orcl/pfile [root@instructor app]# yum install lrzsz [root@instructor pfile]# cd /app/oracle/admin/orcl/pfile [root@instructor pfile]# ls [root@instructor pfile]# more init.ora.103201271612 查看得知 * db_name=ORCL *control_files=("/app/oracle/oradata/orcl/control01.ctl", "/app/oracle/flash_recovery_area/orcl/control02.ctl" *local_listener=LISTENER_ORCL *processes=300 *audit_file_dest=/app/oracle/admin/orcl/adump #因此:数据库db_name=orcl ----------------------------------------------- [root@instructor app]# mkdir -p /app/oracle/flash_recovery_area --------------------------------------[root@instructor pfile]# mkdir -p /app/oracle/oradata/orcl [root@instructor pfile]# cp init.ora.103201271612 /app/oracle/product/11.2.0/dbhome_1/dbs/initbitc.ora 3.转移dbf和ctl文件 在SERVER130上 在SERVER128上 [root@instructor dbs]# mkdir -p /app/oracle/oradata/orcl [root@instructor dbs]# cd /app/oracle/oradata/orcl [root@instructor orcl]# rz ?[root@instructor orcl]# rz 4.SERVER128配置用户.bash_profile [root@instructor app]# su oracle [oracle@instructor bin]$ cd /home/oracle/ [oracle@instructor ~]$ vi .bash_profile export PATH 5.SERVER128用户ORACLE配置监听和namespace [oracle@instructor dbhome_1]$ export DISPLAY=192.168.5.1:0.0 (配监听) [oracle@instructor dbhome_1]$ lsnrctl start LSNRCTL for Linux: Version 11.2.0.1.0 - Production on 23-NOV-2012 23:44:59 Copyright (c) 1991, 2009, Oracle. All rights reserved. Starting /app/oracle/product/11.2.0/dbhome_1/bin/tnslsnr: please wait... TNSLSNR for Linux: Version 11.2.0.1.0 - Production Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521))) (配置namespace) 6.修改有oracle目录相关的权限和所用者 [oracle@instructor dbhome_1]$ sqlplus "/as SYSDBA" SQL*Plus: Release 11.2.0.1.0 Production on Fri Nov 23 23:56:35 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. ERROR: [oracle@instructor dbhome_1]$ su root SQL*Plus: Release 11.2.0.1.0 Production on Sat Nov 24 00:03:17 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup nomount pfile=/app/oracle/admin/orcl/pfile/init.ora.103201271612 Total System Global Area 263049216 bytes SQL> show parameter background_dump_dest;#查看alertlog文件位置 #-------------------------以下是oracle缺失了一个控制文件 NAME TYPE VALUE ----------------------------------- [root@instructor orcl]# cd /app/oracle/diag/rdbms/bitc/orcl/trace 在SERVER130上 [oracle@h1 ~]$ cd /app/oracle/flash_recovery_area/orcl/ [oracle@h1 orcl]$ sz * 在SERVER128上 [root@instructor ~]# cd /app/oracle/flash_recovery_area/orcl/ --------------------------------------- [oracle@instructor ~]$ sqlplus "/as SYSDBA" SQL> startup Total System Global Area 263049216 bytes
|
3.备份概念
差异备份:备份自上一次完全备份之后有变化的数据
增量备份:备份自上一次备份(包含完全备份、差异备份、增量备份)之后有变化的数据
RMAN备份:
用恢复管理器备份数据文件、控制文件、归档日志和SPFILE的方法。
RMAN是由目标数据库的服务器进程执行备份操作。
因为RMAN备份由目标数据库的服务器进程来完成,所以当使用RMAN执行备份操作时,目标数据库必须处于MOUNT状态或OPEN状态。
-------------------------------(1)查看归档模式 [oracle@h1 ~]$ sqlplus "/as SYSDBA" SQL*Plus: Release 11.2.0.1.0 Production on Tue Nov 13 23:04:08 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> archive log list; -------------------------------(2)启动归档模式 SQL> select status from v$instance; STATUS SQL> shutdown immediate; Total System Global Area 501059584 bytes STATUS SQL> alter database archivelog; Database altered. SQL> alter database open; Database altered. -------------------------------(3)建立目录 [oracle@h1 ~]$ cd /home/oracle ------------------注:需要时备份文件夹需要授权 chmod 777 dbbackup -------------------------------(4)Rman 登陆 Last login: Tue Nov 13 22:44:07 2012 from 192.168.5.1 ----------------------- Recovery Manager: Release 11.2.0.1.0 - Production on Tue Nov 13 23:27:30 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1326142752) RMAN> exit Recovery Manager: Release 11.2.0.1.0 - Production on Tue Nov 13 23:27:52 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1326142752) -------------------------------(5)rman 全备份 RMAN> backup database format='/home/oracle/dbbackup/db_full_%d_%s_%T.dbf'; ------------_%d_%s_%T是 -----------%d 是 数据库name -----------%s 是 数据库第几次备份 -----------%T 是 时间戳 Starting backup at 13-NOV-12 RMAN> exit --------备份结果
-------------------------------(4)Rman 恢复时间点数据 -----------*用户u01建表 SQL> conn u01/abc Table created. -----------*Rman全备RMAN> backup database format='/home/oracle/dbbackup/db_full_%d_%s_%T.dbf'; Starting backup at 13-NOV-12 RMAN> exit ----------------蓝色体为最新全备 -----------*u01 drop表SQL> drop table salgrade; Table dropped. SQL> -----------*数据库进入mount状态SQL> shutdown immediate; Total System Global Area 501059584 bytes -----------*rman restore RMAN> restore database; Starting restore at 13-NOV-12 channel ORA_DISK_1: starting datafile backup set restore -----------*rman recover RMAN> recover database; Starting recover at 14-NOV-12 starting media recovery Finished recover at 14-NOV-12 -----------*数据库open SQL> select status from v$instance; STATUS SQL> alter database open; Database altered. SQL> SQL> conn u01/abc ---------------------------------------因为没有设置时间点数据库recover后日志redo到drop table阶段 [oracle@h1 dbbackup]$ pwd RMAN> run{ executing command: SET until clause Starting restore at 14-NOV-12 channel ORA_DISK_1: starting datafile backup set restore Starting recover at 14-NOV-12 starting media recovery Finished recover at 14-NOV-12 sql statement: alter database open resetlogs
----------------(5)Rman 恢复datafile丢失 -----------*模拟datafile丢失 [oracle@h1 orcl]$ sqlplus "/as SYSDBA" SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 14 01:45:17 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> shutdown immediate; SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 14 01:46:56 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. Connected to an idle instance. SQL> startup
ORACLE instance started. Total System Global Area 501059584 bytes ----------------------数据文件users01.dbf丢失,数据库无法启动 Total System Global Area 501059584 bytes
-----------*Rman恢复数据文件 Recovery Manager: Release 11.2.0.1.0 - Production on Wed Nov 14 01:54:07 2012 Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. connected to target database: ORCL (DBID=1326142752, not open) RMAN> restore database; Starting restore at 14-NOV-12 channel ORA_DISK_1: starting datafile backup set restore RMAN> recover database; Starting recover at 14-NOV-12 starting media recovery archived log for thread 1 with sequence 1 is already on disk as file /app/oracle/flash_recovery_area/ORCL/archivelog/2012_11_14/o1_mf_1_1_8b50djx1_.arc RMAN> exit
-----------*数据库启动 SQL*Plus: Release 11.2.0.1.0 Production on Wed Nov 14 02:01:41 2012 Copyright (c) 1982, 2009, Oracle. All rights reserved. SQL> alter database open; Database altered. SQL> |