oracle 查询备份任务,ORACLE备份、恢复、常用查询

--第一,启动服务,(如果数据库处于启动状态,那么略过这一步) 打开命令行执行以下语句

net start OracleServiceORCL

net start  OracleOraDb10g_home2TNSListener

net start OracleOraDb10g_home2iSQL*Plus

--以上方式是在windows服务中启动服务,当windows服务不能启动数据库实例的时候,应用以下的语句

set oracle_sid=orcl

oradim -startup -sid orcl

sqlplus internal/oracle   startup

--第二清理以前还原过的痕迹,如果我们在数据库曾经还原过,我们先来清理一下,痕迹,

--删除用户

drop user xxxx cascade;

--删除表空间

drop tablespace xxxx;

--删除数据库文件

e:\xxxxxx.dbf

--第三,接下来,准备工作做好后,我们就可以开始还原了

--创建用户

create user yhhg identified by yhhg default tablespace EAS_D_YHHG temporary tablespace EAS_T_YHHG;

--给予用户权限

grant connect,resource,dba to yhhg;

--创建表空间,并指定文件名,和大小

create tablespace EAS_D_YHHG datafile 'E:\oracle11g\oradata\easdb\EAS_D_YHHG.dbf' size 15000m REUSE autoextend on next 500M ;

create temporary tablespace EAS_T_YHHG tempfile 'E:\oracle11g\oradata\EAS_T_YHHG.dbf' size 1000m autoextend on next 200m maxsize 2000m extent management local;

--开始导入(完全导入),file:dmp文件所在的位置, ignore:因为有的表已经存在,对该表就不进行导入。

--在后面加上 ignore=y 。指定log文件 log=e:\log.txt

imp user/pass@orcl full=y file=e:\xxx.dmp ignore=y log=e:\log.txt

--当我们不需要完整的还原数据库的时候,我们可以单独地还原某个特定的表

imp user/pass@datbase file=e:\xxx.dmp ignore=y log=e:\log.txt tables=(xxxx)

imp user/pass@database file=e:\xxx.dmp ignore=y log=e:\log2.txt tables=(xxxx)

--oracle常用的操作命令

--查看实例名

select name from v$database

select instance_name from v$instance

--查看表空间的属性

select tablespace_name,extent_management,allocation_type from dba_tablespaces

--查找一个表的列,及这一列的列名,数据类型

select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns where TABLE_NAME='xxxx'

--查找表空间中的用户表

select * from all_tables where owner='xxx' order by table_name desc

--在指定用户下,的表的数量

select count(*) from user_tab_columns

--查看数据库中的表名,表列,所有列

select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns order by table_name desc

--查看用户ZBFC的所有的表名及表存放的表空间

select table_name,tablespace_name from all_tables where owner='xxxx' order by table_name desc

--生成删除表的文本

select 'Drop   table '||table_name||';' from all_tables where owner="ZBFC";

--删除表级联删除

drop table table_name [cascade constraints];

--查找表中的列

select TABLE_NAME,COLUMN_NAME,DATA_TYPE   from user_tab_columns where column_name like '%'||'地'||'%' order by table_name desc

--查看数据库的临时空间

select tablespace_name,EXTENT_SIZE,current_users,total_extents,used_extents,MAX_SIZE,free_extents from v$sort_segment;

--查看用户的连接状况

select username,sid,serial# from v$session

--搜出该用户的session的SID,SERIAL码,然后kill掉

select sid,serial# from v$session where username='user_name';

alter system kill session 'sid,serial';

--oracle 查看所有用户及密码

select * from dba_users;

--Oracle密码过期

--查看用户的proifle是哪个,一般是default

SELECT username,PROFILE FROM dba_users;

--查看指定概要文件(如default)的密码有效期设置

SELECT * FROM dba_profiles s WHERE s.profile=\'DEFAULT\' AND resource_name=\'PASSWORD_LIFE_TIME\';'

--将密码有效期由默认的180天修改成“无限制”

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

--oracle修改用户密码方法

--set oracle_sid=数据库名称,输入sqlplus“/ as sysdba”进入oracle后台管理界面

--在oracle后台管理界面输入语句查找system用户的密码。

--具体命令为输入:

Select username,password from dba_users where username=‘SYSTEM’

--数据导出:

--1 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中

exp system/manager@TEST file=d:\daochu.dmp full=y

--2 将数据库中system用户与sys用户的表导出

exp system/manager@TEST file=d:\daochu.dmp owner=(system,sys)

--3 将数据库中的表inner_notify、notify_staff_relat导出

exp aichannel/aichannel@TESTDB2 file= d:\data\newsmgnt.dmp tables=(inner_notify,notify_staff_relat)

--4 将数据库中的表table1中的字段filed1以"00"打头的数据导出

exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like '00%'\";

--上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩,也可以在上面命令后面 加上 compress=y 来实现。

--数据的导入

--1 将D:\daochu.dmp 中的数据导入 TEST数据库中。

imp system/manager@TEST file=d:\daochu.dmp

imp aichannel/aichannel@HUST full=y file=file= d:\data\newsmgnt.dmp ignore=y

--上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入,在后面加上 ignore=y 就可以了。

--2 将d:\daochu.dmp中的表table1 导入

imp system/manager@TEST file=d:\daochu.dmp tables=(table1)

--基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。注意:

--操作者要有足够的权限,权限不够它会提示。

--数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值