代码改变世界

Oracle 创建表空间,用户,授权,导入,导出

2013-02-26 15:43  Spring.Guo  阅读(2799)  评论(0编辑  收藏  举报

--1 创建表空间:

   CREATE TABLESPACE test_data
DATAFILE 'C:\ORACLE\PRODUCT\10.1.0\ORADATA\ORCL\TEST_DATA01.DBF'
SIZE 32M
AUTOEXTEND ON
NEXT 32M MAXSIZE 2048M
EXTENT MANAGEMENT LOCAL;

--2 创建账户:

  CREATE USER  账户名
   IDENTIFIED BY 密码 
  DEFAULT TABLESPACE Users; 

--如果是纯数字密码,如123 ,要加引号  "123"

--3 授权链接:

grant connect,resource to 账户名; 

--4 授权表

GRANT
CREATE SESSION, CREATE ANY TABLE, CREATE ANY VIEW ,CREATE ANY INDEX, CREATE ANY PROCEDURE,
ALTER ANY TABLE, ALTER ANY PROCEDURE,
DROP ANY TABLE, DROP ANY VIEW, DROP ANY INDEX, DROP ANY PROCEDURE,
SELECT ANY TABLE, INSERT ANY TABLE, UPDATE ANY TABLE, DELETE ANY TABLE
TO 账户名;

--5 查询用户所属表空间

select username,default_tablespace from user_users;

--6 查询所有表

select * from user_tables;

--7 查看索引

select index_name,index_type,table_name from user_indexes order by table_name;

--8 查看表空间文件地址

select * from dba_data_files;

--删除账户

drop user 账户名 cascade;

--删除表空间

DROP TABLESPACE tablespace_name INCLUDING CONTENTS AND DATAFILES;

 

--9 删除,禁用,启用约束

删除所有外键约束

Sql代码
  1. select 'alter table '||table_name||' drop constraint '||constraint_name||';' from user_constraints where constraint_type='R'  

禁用所有外键约束

Sql代码
  1. select 'alter table '||table_name||' disable constraint '||constraint_name||';' from user_constraints where constraint_type='R'  

启用所有外键约束

Sql代码
  1. select 'alter table '||table_name||' enable constraint '||constraint_name||';' from user_constraints where constraint_type='R'

8 使用EXP,IMP 出导入:

导出:

开始,运行,敲入cmd 进入dos 命令窗口

路径进入本地oracle 安装目录:

image

使用导出数据命令:

exp system/sys@BSY2-NQQX-IP11 file=d:\daochu.dmp  tables=(prnbsn_account) rows=n;

注意:

system/sys@BSY2-NQQX-IP11

登陆格式:账号/密码@服务名

这里的服务名,指net mananger 里的名字

image

或者你习惯修改 tnsnames.ora 文件 (这都是本地oracle客户端里配置的链接)

image

确认命令无错,执行结果如下:

image

按照命令路径: D盘就有一个 daochu.dmp 文件.

 

导入:

执行命令:imp system/sys@BSY2-SMY-IP11  full=y file=d:\daochu.dmp ignore=y

执行结果如图:

image

导入导出到此结束。

 

8 其他导入导出参考命令:(摘自网络)

常用导出命令:

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:\datanewsmgnt.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%'"

常用导入命令:

1. 获取帮助

 imp help=y

2. 导入一个完整数据库

 imp system/manager file=bible_db log=dible_db full=y ignore=y

3. 导入一个或一组指定用户所属的全部表、索引和其他对象

 imp system/manager file=seapark log=seapark fromuser=seapark imp 
 system/manager file=seapark log=seapark fromuser=(seapark,amy,amyc,harold)

4. 将一个用户所属的数据导入另一个用户

 imp system/manager file=tank log=tank fromuser=seapark touser=seapark_copy
 imp system/manager file=tank log=tank fromuser=(seapark,amy)
 touser=(seapark1, amy1)

5. 导入一个表

 imp system/manager file=tank log=tank fromuser=seapark TABLES=(a,b)

6. 从多个文件导入

 imp system/manager file=(paycheck_1,paycheck_2,paycheck_3,paycheck_4) 
log=paycheck, filesize=1G full=y

7. 使用参数文件

 imp system/manager parfile=bible_tables.par

bible_tables.par参数文件:

 #Import the sample tables used for the Oracle8i Database Administrator's 
Bible. fromuser=seapark touser=seapark_copy file=seapark log=seapark_import

8. 增量导入

 imp system./manager inctype= RECTORE FULL=Y FILE=A