ORACLE基本操作备忘

通过CMD登录SQLPLUS 的语句

C:\Users\Administrator>sqlplus /nolog

SQL> conn sys/pwd as sysdba;

 

导入导出数据库(来源网络):

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 将数据库中的表table1 、table2导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1,table2)
 4 将数据库中的表table1中的字段filed1以"00"打头的数据导出
   exp system/manager@TEST file=d:\daochu.dmp tables=(table1) query=\" where filed1 like  '00%'\"
 
  要想压缩,在上面命令后面 加上 compress=y  就可以了

数据的导入
 1 将D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp system/manager@TEST  file=d:\daochu.dmp FULL=Y
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
 2 将d:\daochu.dmp中的表table1 导入
 imp system/manager@TEST  file=d:\daochu.dmp  tables=(table1) FULL=Y

 

oracle 10g以上可以采用新的备份还原方式,该备份还原方式的好处是对于大数据库备份还原速度会比之前的方法快很多

1,导出表

expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp TABLES=dept,emp

2,导出方案

expdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp

SCHEMAS=system,scott

3.导出表空间

expdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp

TABLESPACES=user01,user02

4,导出数据库

expdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=Y

 

使用IMPDP

默认路径备份文件存放路径:OracleApp\Administrator\admin\dbtest\dpdump

IMPDP命令行选项与EXPDP有很多相同的,不同的有:

1,REMAP_DATAFILE

该选项用于将源数据文件名转变为目标数据文件名,在不同平台之间搬移表空间时可能需要该选项.

REMAP_DATAFIEL=source_datafie:target_datafile

2,REMAP_SCHEMA

该选项用于将源方案的所有对象装载到目标方案中.

REMAP_SCHEMA=source_schema:target_schema

3,REMAP_TABLESPACE

将源表空间的所有对象导入到目标表空间中

REMAP_TABLESPACE=source_tablespace:target:tablespace

4.REUSE_DATAFILES

该选项指定建立表空间时是否覆盖已存在的数据文件.默认为N

REUSE_DATAFIELS={Y | N}

5.SKIP_UNUSABLE_INDEXES

指定导入是是否跳过不可使用的索引,默认为N

6,SQLFILE

指定将导入要指定的索引DDL操作写入到SQL脚本中

SQLFILE=[directory_object:]file_name

Impdp scott/tiger DIRECTORY=dump DUMPFILE=tab.dmp SQLFILE=a.sql

7.STREAMS_CONFIGURATION

指定是否导入流元数据(Stream Matadata),默认值为Y.

8,TABLE_EXISTS_ACTION

该选项用于指定当表已经存在时导入作业要执行的操作,默认为SKIP

TABBLE_EXISTS_ACTION={SKIP | APPEND | TRUNCATE | FRPLACE }

当设置该选项为SKIP时,导入作业会跳过已存在表处理下一个对象;当设置为APPEND时,会追加数据,为TRUNCATE时,导入作业会截断表,然后为其追加新数据;当设置为REPLACE时,导入作业会删除已存在表,重建表病追加数据,注意,TRUNCATE选项不适用与簇表和NETWORK_LINK选项

9.TRANSFORM

该选项用于指定是否修改建立对象的DDL语句

TRANSFORM=transform_name:value

Transform_name用于指定转换名,其中SEGMENT_ATTRIBUTES用于标识段属性(物理属性,存储属性,表空间,日志等信息),STORAGE用于标识段存储属性,VALUE用于指定是否包含段属性或段存储属性,object_type用于指定对象类型.

Impdp scott/tiger directory=dump dumpfile=tab.dmp

Transform=segment_attributes:n:table

10.TRANSPORT_DATAFILES

该选项用于指定搬移空间时要被导入到目标数据库的数据文件

TRANSPORT_DATAFILE=datafile_name

Datafile_name用于指定被复制到目标数据库的数据文件

Impdp system/manager DIRECTORY=dump DUMPFILE=tts.dmp

TRANSPORT_DATAFILES=’/user01/data/tbs1.f’

调用IMPDP

1, 导入表

Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=tab.dmp

TABLES=dept,emp

Impdp system/manage DIRECTORY=dump_dir DUMPFILE=tab.dmp

TABLES=scott.dept,scott.emp REMAP_SCHEMA=SCOTT:SYSTEM

第一种方法表示将DEPT和EMP表导入到SCOTT方案中,第二种方法表示将DEPT和EMP表导入的SYSTEM方案中.

注意,如果要将表导入到其他方案中,必须指定REMAP SCHEMA选项.

2,导入方案

Impdp scott/tiger DIRECTORY=dump_dir DUMPFILE=schema.dmp

SCHEMAS=scott

Impdp system/manager DIRECTORY=dump_dir DUMPFILE=schema.dmp

SCHEMAS=scott REMAP_SCHEMA=scott:system

3,导入表空间

Impdp system/manager DIRECTORY=dump_dir DUMPFILE=tablespace.dmp

TABLESPACES=user01

4,导入数据库

Impdp system/manager DIRECTORY=dump_dir DUMPFILE=full.dmp FULL=y

 

注意事项:

impdp test/test SCHEMAS=APP  DIRECTORY=work_dir LOGFILE=imp_app.log  DUMPFILE=app.dmp

1. 创建user test和directory work_dir
   create user test identified by test; 另外也有identified by value test的形式,注意区别
   create directory work_dir as '/u01/home/t';

2. work_dir的路径必须保证OS中已经创建好了
   mkdir -p /u01/home/t

3. 赋予test用户对work_dir的读和写权限
   grant read,write on directory work_dir to test;

4. 保证app.dmp文件在work_dir的目录下

5. impdp的时候 尽量采用noarchivelog方式,否则会产生大量的archivelog 影响速度
   
如果使用的是RAC环境, 还需要特别注意. 因为你当前使用的instance并不一定是你当前所在的host. 这样就会出现即使你以上几步都没问题, 但由于impdp时查找的并不是你当前的node从而导致失败. 解决的方法是关闭其它的instance, 确保使用的是当前node上的instance.

 

新建表空间

create tablespace demo datafile 'E:\oracle\TableSpace\tsdemo.dbf' size 100M autoextend on next 1M maxsize unlimited;

新建用户,并赋予默认空间

create user demouser
identified by "userpwd"
default tablespace demo
temporary tablespace TEMP
profile default;
grant dba to demo; //复DBA权限
grant unlimited tablespace to demo;

 

删除所有的用户表

select 'drop table '||table_name||';'
from CAT
where table_type='TABLE'

删除视图

select 'drop VIEW '||table_name||';'
from CAT
where table_type='VIEW'

该语句能生成所有用户新建的表的删除语句,可以按照需要使用

 delete tables

  1. select 'drop table ' || table_name ||';'||chr(13)||chr(10) from user_tables;   

--delete views

  1. select 'drop view ' || view_name||';'||chr(13)||chr(10) from user_views;   

--delete seqs

  1. select 'drop sequence ' || sequence_name||';'||chr(13)||chr(10) from user_sequences;  

--delete functions

  1. select 'drop function ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='FUNCTION';   

--delete procedure

  1. select 'drop procedure ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PROCEDURE';   

--delete package

  1. select 'drop package ' || object_name||';'||chr(13)||chr(10) from user_objects where object_type='PACKAGE';  

你可能感兴趣的:(oracle)