zoukankan      html  css  js  c++  java
  • oracle 学习笔记

    --2.2 进入和退出oracle数据库
    --在windows中输入cmd打开命令窗口 然后输入 sqlplu / as sysdba
    --验证数据库是否安装成功
    --select status from v$instance; 答案为open即安装成功
    --如果要退回到操作系统,使用exit
    --2.3 设置oracle的环境变量
    --ORACLE_HOME:这是Oracle数据库软件的安装目录
    --ORACLE_SID:这是Oracle数据库的实例名
    --Oracle 数据库实例名:是用于和操作系统进行联系的标识,,即数据库和操作系统之间的交换四通过数据库实例名来体现的。

    --三:如何对表进行增删改查操作
    --3.1 SQLPLUS是与oracle进行交互的客户端工具,是oracle数据库的一个命令窗口,通过SQLPLUS可以对数据库进行增删改查,启动,关闭数据库等所有数据库方面的操作
    --3.2 确定oracle数据库服务是否启动
    --OracleServiceORCL 服务:启动数据库的实例进程,启动实例是启动数据库。
    --进程(process):计算机内存中正在运行的某个程序
    --实例(Instance):访问数据库的机制,由内存结构和很多后台进程组成
    --OracleOraDb10g_home1TNSListener服务:这是oracle的监听程序,专门用来负责数据库用户远程访问数据库
    --3.3 查看数据库的状态
    --select status from v$instance;
    --3.4如何启动和关闭Oracle数据库
    --关闭 shutdown immediate
    --启动 startup
    --3.5 查看当前数据库的名称
    --show parameter db_name
    --show parameter:表示查看oracle数据库中的各种参数值 db_name表示数据库名称参数
    --3.7 查看默认用户SCOTT状态
    --select username,account_status from dba_users where username='SCOTT';
    --expired:表示数据库用户处于到期状态,不能正常连接上数据库
    --LOCKED:表示用户处于锁住状语,不能正常使用,如果要使用则需要解锁。
    --查看某个表有哪些列
    --desc 表名
    --对SCOTT用户进行解锁
    --ALTER USER 数据库用户名 account unlock; eg:alter user scot account unlock;
    --EXPIRED用户处于到期状态,需要使用原始密码登录,并更改密码
    --3.8 最简单的查询,插入,更新,删除SQL语句
    --3.8.1 查询用户拥有几个表
    --select table_name from user_tables;
    --在SQLPLUS中,英文字符默认是左对齐,而数字默认是右对齐
    --设置查询数据的时间格式
    --alter session nls_date_format='yyyy-mm-dd';
    --alter 更改参数的关键字
    --session 计算机中一个会话,表示更改当前会话的时间格式,其他用户连接则不会改变
    --set 设置的意思
    --nls_date_format oracle数据库的日期参数
    --查询每个员工的工作年限
    --select ename,round((sysdate-hiredate)/365,0) from emp;
    --round(x,y):表示对x进行四舍五入,y为多少就表示保留到小数点后几位
    --select ename,round((sysdate-hiredate)/365,0) from emp order by 2;
    --表示按第二列排序

    --在使用group by分组时,如有条件限制需要使用having,而不能使用where,即在group by中所对应的条件限制为having
    --foreign key ...references...这是创建表外键必需的sQL语句关键字
    --修改表的最大值 alter table 表名 modify(列名 类型)
    --删除表中的一列 alter table 表名 drop column 列名
    --六 新增 修改 删除用户及如何授权
    --创建用户 create user lisi identified by lisi;
    --授予登录权限 grant connect to lisi;
    --将Scott用户表授予lisi
    --以Scott登录, grant select on emp to lisi
    --回收权限 revoke select on emp from lisi;
    --授予增 删 改权限 grant select,insert,delete ,update on emp to lisi;
    --修改用户密码 alter user lisi identified by lisi1234
    --删除用户 drop user lisi /drop user lisi cascade(会删除与lisi用户相关联的表)
    --查看数据库用户本身拥有的权限
    --select * from session_privs; select * from user_role_privs;
    --查看connect角色在oracle中拥有哪些权限
    --select * from dba_sys_privs where grantee='CONNECT'
    --select * from dba_sys_privs where grantee='DBA'
    --七 数据库有哪些重要的对象
    --表 分区表
    --查看用户下面有多少个视图
    --select * from user_views;
    --创建函数
    --create or replace function GET_SAL(EMP_NO in number)
    --return number is
    -- emp_sal number;
    --begin
    -- select sal
    -- into emp_sal
    -- from emp
    -- where empno=emp_no;
    -- return(emp_sal);
    --end GET_SAL;


    --for循环简单应用
    --create or replace procedure insert_data is
    --temp varchar2(20):='Insert Data';
    --begin

    --for i in 1 .. 1000000 loop
    --insert into test_index(id,name)
    -- values(i,temp);
    -- end loop;
    -- commit;

    --end insert_data;



    --创建同义词
    --create synonym 新名 FOR 旧名


    --数据库启动的不同状态
    --数据库启动时,先要找到初始化文件(spfile或pfile),这时数据库处在nomount状态,这相当于酒店的初始状态,其次根据初始化文件找到控制文件,这时数据库处在mount状态,这相当于酒店在组建一个管理人员的团队,然后根据控制文件找到数据文件(Data file)重做日志文件(Redo file)这时数据库处在open状态,可以让用户访问数据库了。

    --查看数据库的数据文件位置
    --select name from v$datafile;
    --查看数据库的重做日志位置
    --select member from v$logfile
    --查看数据库是否允许远程登录数据库
    --show parameter remote_login_passwordfile --exclusive是允许
    --表空间和数据文件是一对多的关系,即表空间里可以包含多个数据文件,但一个数据文件只属于一个表空间。
    --九 linux
    --查询linux的内核版本
    -- uname -r /uname -a
    --查看linux系统的发行版本
    --cat /etc/redhat-release
    --查看linux的具体版本号
    -- cat /proc/version
    --清屏 clear
    --启动FTP服务
    --service vsftpd start
    --关闭ftp服务
    --service vsftpd stop
    --查看系统硬盘大小
    --df -lh
    --查看linux内存大小
    --free
    --查看cpu个数
    --ls /proc/acpi/processor --cpu0表示只有一个cpu
    --查看cpu的相关信息
    --cat /proc/cpuinfo

    --设置windows和linux之间可以相互通信
    --设置 --》Network Adapter NAT --> Host -only:A private network shared with the host -- >重启

    --telnet服务
    --关闭Telnet命令
    --service xinetd stop
    --启动Telnet服务
    --service xinetd start
    --重启Telnet命令
    --service xinetd restart
    --查看Telnet服务是否已打开
    --chkconfig --list|grep telnet
    --修改krb5-telnet为打开
    --chkconfig krb5-telnet on
    --防火墙
    --关闭防火墙
    --service iptables stop
    --开启防火墙
    --service iptables start
    --vi的常用命令
    --vi filename 打开文件或者新建一个文件,并将光标置于第一行行首
    --I:表示光标在当前位置编辑文本
    --A:光标进入下一个字符位置编辑文本
    --X:每按一次删除光标所在所在位置的前面一个字符
    --DD:删除光标所在行
    --set nu:列出行号
    --wq!:保存内容退出vi
    --q!:不保存退出VI

    --十 在linux中安装oracle数据库
    --1 使用ftp把压缩包传到linux系统
    --telnet 192.168.230.128 输入用户名和密码
    --su -root 切换到root用户
    --service vsftpd start 启动ftp服务
    --service iptables stop 防火墙关闭
    --ftp 192.168.230.128 输入用户名和密码
    --如果出现500 OOPS:cannot change directory
    --使用root用户在linux系统终端命令中执行
    --setsebool ftpd_disable_trans 1
    --重启ftp
    --service ftpd restart
    --ftp 192.168.230.128
    --bin
    --put D:LearnOralce10201_database_linux32.zip
    --如果是linux向windows传送的话将put改为get
    --bye 传送完之后退出ftp
    --2检查oracle数据库安装的相关软件是否已安装
    --rpm -q gcc make binutils openmotif setarch compat-db compat-gcc compat-gcc-c++ compat-libstdc++ compat-libstdc++-deve1

    --将光盘的内容装载入/media目录下
    --mount -t iso9660 /dev/cdrom /media
    --切换到media中
    --cd media
    --cd server
    --安装oracle所需要的文件包
    --rpm -Uvh setarch-2*
    --rpm -Uvh make-3*
    --rpm -Uvh glibc-2*
    --rpm -Uvh libaio-0*
    --rpm -Uvh compat-libstdc++-33-3*
    --rpm -Uvh compat-gcc-34-3*
    --rpm -Uvh compat-gcc-34-c++-3*
    --rpm -Uvh gcc-4*
    --rpm -Uvh libXp-1*
    --rpm -Uvh openmotif-2*
    --rpm -Uvh -compat-db-4*
    --在linux系统中弹出光盘
    --eject
    --检查安装oracle数据库的硬件要求
    --grep MemTotal /proc/meminfo --检查系统内存要求不小于1GB
    --grep SwapTotal /proc/meminfo --检查交换空间
    --df -h --查看磁盘空间大小
    --设置Linux系统的配置文件参数
    --/etc/sysctl.conf
    --#use for oracle
    --kernel.shmall = 2097152
    --kernel.shmmax = 2147483648
    --kernel.shmmni = 4096
    --kernel.sem = 250 32000 100 128
    --fs.file-max = 65536
    --net.ipv4.ip_local_port_range = 1024 65000
    --net.core.rmen_default=262144
    --net.core.rme_max-262144
    --net.core.wmwm_default=262144
    --net.core.wmem_max=262144


    --使用sysctl -p应用参数

    --/etc/security/limits.conf文件末尾加
    --#use for oracle
    --*soft nproc 2047
    --*hard nproc 16384
    --*soft npfile 1024
    --*hard nofile 65536
    --/etc/pam.d/login
    --session required pam_limits.so

    --创建安装oracle的用户及组
    --切换到root用户
    --su - root
    --改变目录权限
    --chmod -R 777 /home/slp
    --改变目录
    --cd /home/slp
    --解压oracle安装包
    --unzip 10201_database_linux32.zip
    --创建oracle的用户和组
    --创建oinstall组
    --groupadd oinstall
    --创建dba组
    --groupadd dba
    --创建oracle用户,并使该用户属于oinstall dba组
    --useradd -m -g oinstall -G dba oracle
    --确认oracle用户的属性
    --id oracle
    --设置oracle用户的密码
    --passwd oracle
    --创建安装oracle数据库所需目录
    --mkdir -p /u01/app/oracle
    --将目录设置成oracle用户和oinstall组
    --chown -R oracle.install /u01/app/oracle
    --设置/u01/app/oracle 设置成oracle用户可读写状态
    --chmod -R 775 /u01/app/oracle
    --更改解压出来文件夹的属性
    --chown -R oracle.install /home/slp/dataase
    --设置oracle用户的环境变量
    --/home/oracle/.bash_profile
    --# Oracle Settings
    --TMP=/tmp;export TMP
    --TMPDIR=$TMP; export TMPDIR
    --ORACLE_BASE=/u01/app/oracle;export ORACLE_BASE
    --ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1;export ORACLE_HOME
    --ORACLE_SID=orcl export ORACLE_SID
    --PATH=/usr/sbin:$PATH;export PATH
    --PATH=$ORACLE_HOME/bin:$PATH; export PATH
    --LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib; export LD_LIBRARY_PATH
    --CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
    --export CLASSPATH
    --if [$USER = "oracle"];then
    --if [$SHELL ="/bin/ksh"] ;them
    --ulimit -p 16384
    --ulimit -n 65536
    --else
    --ulimit -u 16384 -n 65536
    --fi
    --fi

    --修改 linux系统的主机名
    --vi /etc/hosts
    --如果修改完并没有马上改变
    --service network restart

    --使用Xmanager安装oracle数据库
    --如果linux系统的XDMCP服务没有启动,XManager软件就不能登录到linux系统中
    --查看177端口是否已打开
    --netstat -an|grep 177
    --如果端口没有开启
    --vi /etc/gdm/custom.conf --将Enable=0改成 Enable=1
    --修改为任何主机都可以登录
    --vi /usr/share/config/kdm/Xaccess
    --将#any host can get a login window的注释去掉
    --重启过linux系统 reboot
    --安装
    --cd /home/slp/database
    --export DISPLAY='192.168.230.1:0.0'
    --export LC_CTYPE=C.iso88591
    --./runInstaller
    -- /u01/app/oracle/oraInventory/orainstRoot.sh
    --/u01/app/oracle/product/10.2.0/db_a/root.sh
    --验证orale是否安装成功
    --su - oracle
    --sqlplus "/as sysdba"
    --select instance_name ,status from v$instance
    --查看数据库监听
    --lsnrctl status


    --使用Xmanager删除数据库
    --dbca
    --delete a database
    --finish

    --oracle数据库名称变更,需要改变linux系统的oracle的环境变量,如果不更改则不能访问
    --将/home/oracle/.bash_profile文件中的数据库名称改变
    --将windows中tnsnames.ora文件中额服务名改变

    --十一 异构环境oracle数据库迁移
    --Oracle Export/Import工具是一个操作简单,方便灵活的备份恢复和数据迁移工具,它可以实施全库级,用户级,表级的数据备份和恢复。是常用的逻辑备份方式。
    --Export从数据库中导出数据到dump文件中
    --Import从dump文件中导入数据到数据库中

    --使用场景
    --1)两个数据库之间传送数据:
    --同一个oracle数据库的版本之间
    --不同oracle数据库的版本之间
    --相同或不同的操作系统之间的oracle数据库
    --2)用户数据库的备份和恢复
    --3)从一个数据库用户传送到另一个用户中
    --4)从一个表空间传送到另一个表空间中

    --在windows中输入以下命令查看使用帮助
    --exp -help
    --imp -help

    --在windows的数据库中给开发人员新建一个用户及其表空间以测试新项目
    --查看数据库的状态
    --select instance_name,status from v$instance;
    --查看数据库数据文件dba_data_files的结果
    --desc dba_data_files
    --查看数据库的数据文件位置,以便确定创建表空间的数据文件
    --select file_name,tablespace_name from dba_data_file;
    --创建一个表空间
    --create tablespace bank_tbs datafile 'd:oracleproduct10.2.0oradataorcl bank_data02.dbf' size 5m autoextend on maxsize 10g
    --创建数据库用户
    --create user bankuser identified by bankpwd defult tablespace bank_tbs;
    --对数据库的用户进行授权
    --grant connect,resource to bankuser;
    --登录
    --sqlplus bankuser/bankpwd@ORCL
    --查看表所属的表空间
    --select table_name,tablespace_name from user_tables;

    --数据库迁移
    --在windows中查看使用的表空间
    --select distinct tablespace_name from user_tables;
    --查看用户拥有的角色
    --select * from user_role_privs;
    --查看linux上数据文件表的结构
    --select file_name,tablespace_name from dba_data_files;
    --在linux上创建新的表空间
    --create tablespace bank_tbs datafile 'u01/app/oracle/oradata/oms/bank_data01.dbf' size 5m autoextend on maxsize 10g;
    --在linux中创建用户
    --create user bankuser identified bu bankpwd default tablespace bank_tbs;
    --给用户授权
    --grant connect,resource to bankuser;
    --使用export导出数据
    --exp bankuser/bankpwd@orcl file=D:LearnOacleankuser.dmp log=D:LearnOracleankExp.log
    --在本地配置linux的监听
    --查看远程的监听是否打开
    --关闭远程的防火墙
    --service iptables status
    --service iptables stop
    --使用imp导入
    --imp bankuser/bankpwd@orcl fromuser=bankuser touser=bankuser file=D:LearnOracleankuser.dmp log=D:LearnOracleankuserImp.log


    --使用expdp impdp迁移数据库
    --expdp impdp exp imp的区别
    --exp和imp是客户端工具程序既可以在客户端使用,也可以在服务端使用
    --expdp和impdp是服务端的程序,他们只能在服务端使用,不能在客户端使用。
    --expdp -help 查看expdp的帮助
    --使用oracle用户登录到oracle数据库中
    --sqlplus "/as sysdba"
    --在数据库中创建导出数据的目录
    --create or replace directory expdp_dir as '/home/oracle/expdp_dir' ;
    --将目录授权给backuser用户
    --grant read,write on directory expdp_dir to bankuser;
    --执行exit回退到oracle数据库
    --刚指定了导出目录,需要创建该目录
    --mkdir -p /home/oracle/expdp_dir
    --为目录授予权限
    --chmod 777 expdp_dir
    --在linux系统中使用expdp导出数据
    --expdp bankuser/bankpwd director=expdp_dir dumpfile=bnuserLinx.dmp logfilr=bankuserLinuxExpdp.log
    --expdp:数据泵的关键字
    --directory:指定导出的目录
    --dumpfile:导出的文件名称
    --logfile:导出日志
    --打开linux的ftp 程序
    --su - root
    --service vsftpd status
    --service vsftpd start
    --windows中使用ftp连接linux系统
    --cmd中输入 ftp 192.168.230.128
    --然后输入用户名和密码
    --如果登陆失败则修改ftp配置文件的参数
    --setsebool ftpd_disable_trans 1
    --service vsftpd restart
    --在windows中切换linux目录,并且下载文件
    --cd expdp_dir
    --bin --二进制文件避免乱码
    --get bankuserLinux.dmp
    --bye --退出
    --impdp导入
    --impdp -help 查看帮助
    --sqlplus "/as sysdba"
    --创建导入数据的目录
    --create directory impdp_dir as 'D:LearnOracle'
    --为数据库用户授权
    --grant read,write on directory impdp_dir to bankuser;
    --执行导入
    --impdp bankuser/bankpwd@ORCL directory=impdp_dir dumpfile=bankuserLinux.dmp logfile=bankuserLinuxImpdp.log
    --impdp 数据泵的关键字 后面跟对用户名及密码
    --directory:指定导入数据的目录
    --dumpfile:为导入的文件名称
    --logfile:导入日志
    --验证是否导入


    --十二 不影响数据库运行如何快速恢复刚删除的表及其数据
    --flashback的恢复级别
    --事务闪回:对表进行了insert update delee操作,已经commit了,发现弄错了,需要恢复到某个commit操作之前的数据,则需要撤销刚才的某个操作
    --行级闪回:对表进行了insert update delete 操作需要恢复到某个时间点
    --表级闪回:错误的drop table操作,需要表和表中的数据
    --数据库级闪回:错误地对整个数据库导入很多表数据,需要将整个数据库恢复到过去的时间点
    --事务就是对数据执行的一组操作,这些操作把数据从一种状态更改为另一种状态,他们必须为一个单元运行,事务最主要的功能就是确保多个连续的操作必须全部执行成功,否则回复到未执行任何数据操作的最初状态。
    -------------------------------------------------------------------
    --查看数据库版本是否在oracle 10g以上
    --select * from v$version;
    --查看用户是否具有flashback的权限
    --select * from session_privs where privilege like 'FLASHBACK%'
    --如果没有的话 授予权限
    --grant flashback any table to bankuser;
    ---------------------------------------------------------

    ---------------------如何恢复刚才删除的一条数据---------------------------
    --对数据执行了insert update delete 操作,都已经提交。。想把刚才的操作撤销 恢复到update delete 之前
    --恢复刚删除的数据
    --select t.start_timestamp,t.commit_timestamp,t.logon_user,t.operation,t.table_name,t.table_owner,t.undo_sql from flashback_transaction_query t where table_name ='EMP'
    --查询结果中在undo_sql下面是为刚删除数据耳朵相反操作,执行即可恢复刚才删除的数据
    --start_timestamp:执行这条sql语句的时间
    --commit_timestamp:提交这条sql语句的时间
    --login_user:登录数据库的用户
    --operation:进行的操作(增删改)
    --table_name:操作的表名
    --table_owner:表的拥有者
    --undo_sql:恢复的sql语句
    -------------------------------------------------------------------

    ----------------------如何恢复刚更新的数百万条数据----------------------------
    --select t.start_timestamp,t.commit_timestamp,t.logon_user,t.operation,t.table_name,t.table_owner,t.undo_sql from flashback_transaction_query t where table_name ='EMP'
    --办法一就是按之前的一个一个恢复
    --恢复到多少时间之前
    --先查询是否正确
    --select * from emp as of timestamp to_timestamp('2011-4-3 10:00:00',yyyy-mm-dd hh24:mi:ss'');
    --更emp的行号
    --alter table emp enable row movement
    --闪回
    --flashback table emp to timestamp to_timestamp('2011-4-3 10:00:00','yyyy-mm-dd hh24:mi:ss');
    -- 使用flash_back受限于undo_retention 因此要是使用flashback必须启用自动撤销管理表空间 保证undo表空间的大小够用

    ------------------------------------------------------------------------------------------------

    ------------------------------------恢复刚删除的表-----------------------------------------------
    --flashback table emp to before drop
    --查看哪些删除的表可以恢复
    --查看回收站
    --select * from user_recyclebin order by droptime desc
    --select * from recyclebin order by droptime desc;
    --恢复
    --flashback table emp to before drop;
    ----------------------------------------------------------------------------------------------------

    -----------------------------在windows中备份linux系统中数据库中的数据--------------------
    --登录linux系统
    --sqlplus bankuser/bankpwd@orcl
    --查看版本
    --select * from v$version;
    --在windows系统中创建一个文件夹BackupBankuser用来存放linux数据库的备份的数据
    --创建备份的脚本
    --exp bankuser/bankpwd@orcl file=D:LearnOracleBankupBankuserMonday.dmp log=D:LearnOracleBankupBankuserMonday.log
    --使用windows系统的任务计划来定制时间调用备份脚本
    -------------------------------------------------------------------------------------

    ----------------------------演示恢复3天前的表数据-------------------------
    --登录linux系统
    --sqlplus "/as sysdba"
    --创建测试用户恢复数据
    --create user test identified by test;
    --grant connect,resource to test;
    --导入
    --imp test/test@orcl tables=('EMP') file=D:LearnOracleBackupBankuserMonday.dmp log=D:LearnOracleBankupBankuserMondayImp.log
    --将test用户emp表授权给bankuser用户
    --grant select,update,insert,delete on emp to bankuser;
    --------------------------------------------------------------------------


    --十三 如何备份数据库
    -----------------------------------------------备份需求和RMAN备份------------------------------------
    --备份的作用是作为后备支援,替补使用。如果能够确保任何时候数据库,操作系统 网络,存储都没有任何障碍,就不需要备份。所以在数据库中,备份是为了能够恢复数据,确保数据的安全。
    --1)备份时数据处于何种状态
    --open状态,这样数据库可以正常的工作
    --2)备份的数据备份杂什么地方
    --备份在本地磁盘。这样备份简单,不需要第三方工具。
    --3)备份的存储空间如何
    --可以用linux操作系统的df -lh来查看空间,准备留给备份的空间大小
    --4)应该以什么方式备份
    --使用RMAN的增量备份,这样备份和恢复都比较简单,所占用的空间比较小。

    ---------------------------------查看相关备份的环境-----------------------
    --查看linux的操作系统版本
    --cat /proc/version
    --查看数据库版本
    --select * from v$version
    --查看数据库的名称
    --show parameter db_name;
    --查看数据库是否为归档状态
    --archive log list
    --如果为非归档模式
    -------------------------------更改数据库的归档模式------------------
    --首先关闭数据库
    --shutdown immediate
    --启动到mount状态
    --startup mount
    --更改归档模式
    --alter database archivelog; (非归档为alter database noarchivelog)
    --打开数据库
    --alter database open;
    --验证是否成功
    --archive log list
    ---------------------------------------------------------------------------------------

    ------------------------------设置RMAN备份环境参数及自动备份控制文件--------------------------
    --查看RMAN备份的环境
    --rman target/
    --查看RMAN的所有参加配置
    --show all
    --如果看到CONFIGURE CONTROLFILE AUTOBACKUP OFF说明数据库的控制文件不自动备份
    --启动控制文件的自动备份
    --configure controlfile autobackup on;
    --验证是否成功
    --show controlfile autobackup;
    --------------------------------------------------------------------

    --------------------------------------全库备份--------------------------
    ---backup database;
    --查看备份的相关信息
    --list backup
    --查看备份的总体信息
    --list backup summary
    ------------------------------------------------------------------------------------------

    -----------------------------------------编写备份脚本------------------------------
    --查看linux系统oracle用户的环境变量,需要知道备份的数据库名称
    --cat /home/oracle/.bash_profile
    --找比较大的磁盘空间备份
    --df -lh 查看磁盘使用情况
    --根据具体情况设置rman的冗余
    --rman target/
    --configure retenticn policy to redundancy 10;
    --规划备份目录,并创建目录
    --mkdir RmanBackup
    --在备份目录下创建备份脚本BackupFull.sh
    --编写0级全库备份的脚本
    --# script.:BackupFull.sh
    --# creater:mengzhaoliang
    --# date:2011/4/10
    --# desc:backup full database datafile in archive with rman
    --# connect database
    --export ORACLE_BASE=/u01/app/oracle
    --export ORACLE_HOME=/u01/app/oracle/proguct/10/2/0/db_a
    --export ORACLE_SID=oms
    --export PATH=$ORACLE_HOME/bin:$PATH
    --rman PATH/ <<EOF_RMAN
    --run{
    --allocate channel c1 type disk;
    --backup incremental level 0 tag 'db0' format
    --'/u01/app/orale/RmanBackup/db0_%d_%T_%s' database include current
    --controlfile;
    --delete noprompt obsolete;
    --release channel c1;
    --}
    --#end

    --编写1级增量备份的脚本
    --# script.:Incr1.sh
    --# creater:mengzhaoliang
    --# date:2011/4/10
    --# desc:backup full database datafile in archive with rman
    --# connect database
    --export ORACLE_BASE=/u01/app/oracle
    --export ORACLE_HOME=/u01/app/oracle/proguct/10/2/0/db_a
    --export ORACLE_SID=oms
    --export PATH=$ORACLE_HOME/bin:$PATH
    --rman PATH/ <<EOF_RMAN
    --run{
    --allocate channel c1 type disk;
    --backup incremental level 1 tag 'db1' format
    --'/u01/app/orale/RmanBackup/db0_%d_%T_%s' database include current
    --controlfile;
    --delete noprompt obsolete;
    --release channel c1;
    --}
    --#end

    --测试备份脚本
    --chmod 755 BackupFile.sh
    --chmod 755 Incr1.sh
    --./BackupFull.sh
    --./Incr1.sh
    --------------------------------------使用linux的crontab设置自动执行备份脚本---------------------
    --使用linux系统的crontab来自动执行备份交半年
    --crontab -e
    --0 1 * * 0 /u01/app/oracle/RmanBackup/BackupFull.sh
    -->>/u01/app/oracle/RmanBackup/BackupFull.log
    --0 1 * * 3 /u01/app/oracle/RmanBackup/BackupFull.sh
    -->>/u01/app/oracle/RmanBackup/BackupFull.log
    --30 1 * * 1-2 /u01/app/oracle/RmanBackup/Incrl.sh
    -->>/u01/app/oracle/RmanBackup/BackupFull.log
    --30 1 * * 4-6 /u01/app/oracle/RmanBackup/Incrl.sh
    -->>/u01/app/oracle/RmanBackup/BackupFull.log

  • 相关阅读:
    宝物筛选
    [HAOI2008]糖果传递
    线段树(区间查询,区间修改)——标记永久化版
    图的割边
    图的割点
    P2066 机器分配
    SP1700 TRSTAGE
    P4568 [JLOI2011]飞行路线
    POJ 2533 Longest Ordered Subsequence
    HDU 2512 一卡通大冒险
  • 原文地址:https://www.cnblogs.com/dream-to-pku/p/5321476.html
Copyright © 2011-2022 走看看