备份/恢复Oracle数据库
1、备份指定的表空间
首先,你要确认自己电脑上有exp.exe这个东东,才能进行备份工作。
我想要备份的是用户名为cyy的表空间,备份文件打算放在D盘,并以backup_oracle.dmp命名,顺便把日志文件也备份一下好了。
在命令行敲入:
C:\Documents and Settings\Administrator>exp cyy/cyy@bsrs file=D:\backup_oracle.dmp log=D:\backup_oracle.log owner = (cyy);
这样就OK了。
2、将备份的数据恢复到指定的表空间
首先,你要确认自己的电脑上有imp.exe这个东东,才能进行恢复工作。
我想要将上面备份的数据恢复到另一台机器上,新的数据库实例叫bsrs2,,新的表空间名称叫DBMS2,这个表空间对应的用户叫cyy2,密码仍为cyy。
得先进入sqlplus,以dba身份登录,执行以下几行:
SQL> grant resource,connect to cyy2;
SQL> grant dba to cyy2; //赋DBA权限
SQL> revoke unlimited tablespace from cyy2; //撤销此权限
SQL> alter user cyy2 quota 0 on system; //将用户cyy2在System表空间的配额置为0
SQL> alter user cyy2 quota unlimited on DBMS2; //设置用户cyy2在DBMS2表空间配额不受限。
经过上述设置后,就可以用imp导入数据,数据将会进入指定的DBMS2表空间:
在命令行敲入:
C:\Documents and Settings\Administrator>imp cyy2/cyy@bsrs2 fromuser=cyy touser=cyy2 file=D:\backup_oracle.dmp ignore=y grants=n;
这样就OK了。
相关文档:
--oracle jobs批处理命令参考
qlplus /nolog
connect sys/lee as sysdba
--以下两句在sys(即具有dba权限的用户)用户下执行
show parameter job_queue_processes;
alter system set job_queue_processes=10;
exit
sqlplus /nolog
connect jcy/jcy
ALTER TABLE T_OA_AFFICHE MODIFY (INPUT_TIME DATE);
ALTER TABLE ......
基本从来不用left/right join
一个项目被迫要用别人写的 sql
本打算改写一下,提高效率
发现:
【1】
select * from a
left outer join b on a.id= b.id AND ...1...
where ...2...
与
【2】
select * from a , b
where a.id= b.id(+)
A ......
使用SYS用户以SYSDBA身份登录系统
查看修改前sga_max_size,sga_target大小
show parameter sga_max_size;
show parameter sga_target;
修改参数
alter system set sga_max_size=1600m scope=spfile;
alter system set sga_target=1600m scope=spfile;
查看修改后sga_max_size,sga_target大小
show parameter sga_ ......