Oracle常用操作

oracle数据库中用户、表空间、表之间的关系

用户=商家 表=商品 表空间=仓库 1个商家能有很多商品,1个商品只能属于一个商家 1个商品可以放到仓库A,也可以放到仓库B,但不能同时放入A和B 仓库不属于任何商家 商家都有一个默认的仓库,如果不指定具体仓库,商品则放到默认的仓库中 oracle中用户的所有数据都是存放在表空间中的,很多个用户可以共用一个表空间,也可以指定一个用户只用某一个表空间。 表空间:创建表空间会在物理磁盘上建立一个数据文件,作为数据库对象(用户、表、存储过程等等)的物理存储空间; 用户:创建用户必须为其指定表空间,如果没有显性指定默认表空间,则指定为users表空间;创建用户后,可以在用户上,创建表、存储过程等等其他数据库对象; 表:是数据记录的集合; 创建过程: 表空间—>用户—>表; 所属关系: 表空间 包含 用户 包含 表;

oracle数据库用户删除及表空间删除

以system用户登录,查找需要删除的用户:

--查找用户

select *from dba_users;

--查找工作空间的路径 select * from dba_data_files;

--删除用户 drop user 用户名称 cascade; --删除表空间 drop tablespace 表空间名称 including contents and datafiles cascade constraint;

例如:删除用户名成为LYK,表空间名称为LYK

--删除用户,及级联关系也删除掉 drop user LYK cascade; --删除表空间,及对应的表空间文件也删除掉 drop tablespace LYK including contents and datafiles cascade constraint;

/*第1步:创建ODPS数据表空间 / create tablespace ODPS logging datafile '/home/oracle/tablespace_dir/ODPS.dbf' size 100m autoextend on next 50m maxsize 20480m extent management local; /第2步:创建global用户并指定表空间 */ create user global identified by global default tablespace ODPS temporary tablespace temp profile default;

/*第3步:给global用户授予权限 */ grant connect,resource to global; grant dba to global;

/第4步:远程导入dmp文件/ cd /d D:\oraclexe\app\oracle\product\11.2.0\server\bin

imp global/global@192.168.0.1:1521/wzhorcl file=G:\global.dmp full=y

/第5步:给ydbggl用户授权访问global用户下的资源/ select 'GRANT SELECT ON global.'||object_name||' to ydbggl;' from dba_objects where owner='GLOBAL' and object_type='TABLE';

select * from user_constraints c where c.table_name='表名';

alter table 表名 disable constraint 约束名 CASCADE;

drop table 表名 cascade constraints;

问题2:删除表空间期间遭遇 ORA-02429

对于ORA-02429这个错误,MOS文档的描述也很清楚: Drop Tablespace Failed with ORA-02429: cannot drop index used for enforcement of unique/primary key (文档 ID 1918060.1)

现象:

删除表空间失败,伴随下面的错误:

SQL> DROP TABLESPACE REP_DATA INCLUDING CONTENTS AND DATAFILES;

DROP TABLESPACE REP_DATA INCLUDING CONTENTS AND DATAFILES

*ERRORat line 1:

ORA-00604: erroroccurred at recursive SQL level 1

ORA-02429: cannot drop index used forenforcement ofunique/primary key

解决方法:

Find the constraint name for the unique/primary key, disable the constraint and drop the tablespace again. 找到那些惟一/主键约束名,禁用这些约束然后再次删除表空间。

Steps:

=====1) Execute below query to find the constraint name:

执行下面的查询来找到约束名:

SQL> select owner, constraint_name,table_name,index_owner,index_namefrom dba_constraintswhere(index_owner,index_name) in (selectowner,index_name from dba_indexeswhere tablespace_name='<tablespace_name>');

  1. Disable the constraint:

禁用约束:

SQL> ALTER TABLE <table_name> DISABLE CONSTRAINT <constraint_name>;

  1. Drop the tablespace:

删除表空间:

SQL> DROP TABLESPACE <tablespace_name> INCLUDING CONTENTS AND DATAFILES;

Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)

2017-12-13 23:43:21 闲了么事干 阅读数 27880更多

分类专栏: 其他

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文链接:https://blog.csdn.net/u012092924/article/details/78798137

Oracle 导出、导入某用户所有数据(包括表、视图、存储过程...)

前提:在CMD 命令下

导出命令:exp 用户名/密码@数据库 owner=用户名 file=文件存储路径(如:F:\abcd.dmp)

测试截图:exp ZM/sql123@ORCL owner=ZM file=F\abcd.dmp

[图片上传失败...(image-6aee4-1609396517256)]

导入命令:imp 用户名/密码@数据库 fromuser=用户名 touser=用户名 file=d:\cu.dmp ignore=y

imp:命令类型

cu/mycu@db:导入的数据库登陆(用户名/密码@数据库)

fromuser:文件的指定用户

touser:指定导入到当前登录的数据库某个用户

file:需要导入的数据文件

ignore:是否忽略创建错误

测试截图:imp ZM/sql123@ORCL fromuser=ZM touser=SZZM file=F:\test.dmp ignore=y

[图片上传失败...(image-8130b4-1609396517256)]

基本语法和实例: 1、EXP: 有三种主要的方式(完全、用户、表) 1、完全: EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y 如果要执行完全导出,必须具有特殊的权限 2、用户模式: EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC 这样用户SONIC的所有对象被输出到文件中。 3、表模式: EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC) 这样用户SONIC的表SONIC就被导出 2、IMP: 具有三种模式(完全、用户、表) 1、完全: IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y 2、用户模式: IMP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC 这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。 3、表模式: EXP SONIC/SONIC BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC) 这样用户SONIC的表SONIC就被导入。

TO_DATE('2019-10-09 00:00:00','yyyy-MM-dd hh24:mi:ss')

Oracle 查看表操作历史记录并恢复

前段时间一不小心把Oracle数据库表中了一条数据删除了,用的是delete from,记得delete删除的话数据是可以找回的,就去查询了一些资料,总结了一下。

一、查找表操作记录

1.首先查找表操作的历史记录 select * from v$sqlarea a where a.SQL_TEXT like '%表名%';

2,从上面的记录中找到update语句对应的sql_id select * from vsqltext a,vsqlarea b where a.SQL_ID=b.SQL_ID and b.SQL_ID in('cq53826tk4u3c','afftnrfhu5utk') order by b.LAST_ACTIVE_TIME desc;

3,从上面的记录中找到最新的sql操作记录,然后找到用户名和主机 select * from sys.v_session l,sys.v_sql s where s.SQL_ID='cq53826tk4u3c' and l.USERNAME is not null;

二、恢复数据

1.根据时间恢复

示例: select * from EMP; delete from EMP where EMPNO=7369;

查询当前电脑时间: select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss')from dual;

查询删除之前数据: select * from EMP as of timestamp to_timestamp('2018-04-12 09:12:11','yyyy-mm-dd hh24:mi:ss');

恢复数据: flashback table EMP to timestamp to_timestamp('2018-04-12 09:12:11','yyyy-mm-dd hh24:mi:ss');

注意:若出现报错:ORA-08189:未启用行移动功能,不能闪回表;

则: alter table EMP enable row movement; //开启行移动功能 alter table EMP disable row movement; //关闭行移动功能

2.根据数据库SCN恢复数据

查询当前数据库SCN号: select current_scn from v$database;(不能执行的话,切换到sys用户或system用户查询) //查询到的当前值为:91799986

缩小SCN号查询被删除表数据:(若无数据继续缩小SCN,由于数据库操作不止一人,SCN号变化比较多,可以多缩小几个号) select * from 表名 as of scn 91799980;

恢复数据: flashback table 表名 to scn 91799980;

恢复完成。若报错:ORA-08189:未启用行移动功能,不能闪回表;结果方案同上。

ORACLE导入导出expdp impdp命令

1.create public database link VANDADBLINK

connect to vanda identified by vanda

using '(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 192.168.33.204)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = c3mvideo)))';

  1. create directory backup as '/backup' grant read,write on directory backup to system

  2. select * from all_directories;

3.expdp "vanda"/"vanda@192.168.33.204:1521/c3mvideo" directory=vandadir dumpfile=vanda2019.dmp logfile=vanda2019.log schemas=vanda network_link=vandadblink

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,387评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,845评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,091评论 0 246
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,308评论 0 214
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,662评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,795评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,008评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,743评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,466评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,687评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,181评论 1 262
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,531评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,177评论 3 239
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,126评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,902评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,862评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,734评论 2 274

推荐阅读更多精彩内容