一、备份数据库
1.在图形工具中,如sqldeveloper,pl/sqldeveloper用以下这句查找空表
select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0;
2.把第一步执行得到的结果当用sql语来再次执行
3.到oracle服务器上执行备份语句. 运行-cmd 执行下面命今
exp 用户名/密码@数据库实例 file=备份文件存放路径 owner=用户名
例: exp ezeip/123456@orcl file=d:\bak.dmp owner=MyDataBase
二、还原数据库
(如果已有数据库,则执行第1、2步)
--1.删除表空间
DROP TABLESPACE shjc INCLUDING CONTENTS AND DATAFILES;
--2.删除用户
DROP USER shjc CASCADE
--3.创建表空间
Create tablespace shjc datafile'c:\oracle\product\10.2.0\db_1\admin\orcl\dpdump\SHJC.DBF' size 500M autoextend on next 50M;
(存放路径可以由脚本7来查看)
--4.创建用户
create user shjc identified by shjc123 default tablespace shjc;
--5.授权给用户
grant connect,resource,dba to shjc;
--6.导入数据库(在cmd里执行)
--11g:IMPDP USERID='shjc/shjc123@orcl as sysdba' schemas=shjc directory=DATA_PUMP_DIR dumpfile=shjc.dmp logfile=shjc.log version=10.2.0.1.0
--10g:imp shjc/shjc123@orcl file=e:\shjc.dmp full=y ignore=y
--7.查看管理理员目录(DATA_PUMP_DIR)
select * from dba_directories;
--8.查看字符集
select * from V$NLS_PARAMETERS where parameter = 'NLS_CHARACTERSET'
三、备用脚本
--1)查看用户的连接状况
select username,sid,serial# from v$session
--2)找到要删除用户的对应的sid,和serial,并删除
alter system kill session '158,2009';
--3)查看session的状态来确定该session是否被kill 了!!status 为要删除用户的session状态,如果还为inactive,说明没有被kill掉,如果状态为killed,说明已kill。
select saddr,sid,serial#,paddr,username,status from v$session where username is not null AND username = 'SHJC'
四、综合脚本
--查询所有表空间和物理文件存放路径
SELECT b.file_name AS 物理文件路径,
b.tablespace_name AS 表空间名,
b.bytes / 1024 / 1024 表空间大小MB,
(b.bytes -SUM(nvl(a.bytes, 0))) / 1024 / 1024 使用表空间大小,
substr((b.bytes -SUM(nvl(a.bytes, 0))) / (b.bytes) * 100, 1, 5) 利用率
FROM dba_free_space a,
dba_data_files b
WHERE a.file_id = b.file_id
GROUP BY
b.tablespace_name,
b.file_name,
b.bytes
ORDER BY
b.tablespace_name
五、批处理文件+windows定时任务 自动备份数据库:
for /F "usebackq tokens=1,2 delims= " %%i IN (`date /t`) do set datapath=%%i
for /F "usebackq tokens=1,2 delims=: " %%i IN (`time /t`) do set datapath=%datapath%%%i%%j
exp shjc/shjc123@orcl file=e:\%datapath:/=%.dmp owner=shjc
将上面的三行脚本复制到记事本,修改数据库链接相关参数后,另存为已批处理文件即可。备份数据库文件的命名是按时间来命名。
再在windows里定时任务里,添加一个定时任务,定时执行这个批处理文件,就实现了简单数据库备份。
分享到:
相关推荐
oracle10g数据库备份与还原总结,包括热备、冷备,导出与导入等常用的数据库备份与还原的方法、命令等。
linux下oracle11g 数据库冷备份异机还原,适用于可以停机备份的数据库,方便数据库文件过大还原,本人测试的数据库文件有一百多G
oracle10g数据库备份与还原总结[文].pdf
用C#实现oracle实现数据库的备份与还原
Oracle11g数据库的数据泵还原与备份
oracle备份与还原数据库Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP)、热备份和冷备份。导出备件是一种逻辑备份,冷备份和热备份是物理备份。
介绍 本实例均为linux系统下操作,采用exp与imp方式导出和导入。其中还包含linux服务器间sftp传输。
inux下oracle11g 数据库冷备份异机还原,适用于可以停机备份的数据库,方便数据库文件过大还原,本人测试的数据库文件有一百多G
如何备份还原oracle数据库
oracle9i数据库备份和还原.doc
关于解决oracle11g数据库备份空间不足方法
Mssql、Oracle、Mysql数据库备份与还原语句命令及方法整理总结。
oracle的数据库备份与还原,有数据泵的导入导出
k9中Oracle 10G数据库还原备份
EAS AIX服务器ORACLE 数据库备份和还原过程.
Oracle数据库10g备份和恢复:RMAN和闪回技术
oracle备份数据库 oracle还原数据库 oracle备份还原数据库
oracle备份与还原主要内容包含了 oracle11g数据库的 rman 的一些简单使用,oracle 数据崩的使用,数据库闪回功能的理解和应用。
oracle数据库的备份和还原
oracle数据库表备份及还原:详细讲述了方法,适合新手~(傻瓜式方法)