转自
http://yangrenjun.iteye.com/blog/623839
Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库。
对于初学者来说,为了避免麻烦,可以用'Database Configuration Assistant'向导来创建数据库。
创建完数据库后,并不能立即在数据库中建表,必须先创建该数据库的用户,并且为该用户指定表空间。
下面是创建数据库用户的具体过程:
如下功能完成是在:sqlplusw 下完成的;
1.假如现在已经建好名为'news'的数据库,此时在F:\oracle\product\10.1.0\oradata\目录下已经存在news目录(注意:我的Oracle10g安装在F:\oracle下,若你的Oracle安装在别的目录,那么你新建的数据库目录就在*\product\10.1.0\oradata\目录下)。
2.在创建用户之前,先要创建表空间:
其格式为:格式: create tablespace 表间名 datafile '数据文件名' size 表空间大小;
如:
SQL> create tablespace news_tablespace datafile 'F:\oracle\product\10.1.0\oradata\news\news_data.dbf' size 500M;
其中'news_tablespace'是你自定义的表空间名称,可以任意取名;'F:\oracle\product\10.1.0\oradata\news\news_data.dbf'是数据文件的存放位置,'news_data.dbf'文件名也是任意取;'size 500M'是指定该数据文件的大小,也就是表空间的大小。
3.现在建好了名为'news_tablespace'的表空间,下面就可以创建用户了:
其格式为:格式: create user 用户名 identified by 密码 default tablespace 表空间表;
如:
SQL> create user news identified by news default tablespace news_tablespace;
默认表空间'default tablespace'使用上面创建的表空间。
注:也可以跳过创建表空间这一步,直接用名为users的默认表空间语句如下:
create user test identified by test default tablespace users;
4.接着授权给新建的用户:
SQL> grant connect,resource to news; --表示把 connect,resource权限授予news用户
SQL> grant dba to news; --表示把 dba权限授予给news用户
授权成功。
下面介绍的是导入导出的实例。
数据导出:
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= d:\data\newsmgnt.dmp ignore=y
imp dekey/dekey529@ORCL full=y file=c:\dekey.dmp ignore=y
上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
在后面加上 ignore=y 就可以了。
2 将d:\daochu.dmp中的表table1 导入
imp system/manager@TEST file=d:\daochu.dmp tables=(table1)
基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。
注意:
操作者要有足够的权限,权限不够它会提示。
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。
总结:当拿到由拥有DBA权限的用户导出的数据时,最好问清楚其缺省表空间,如果目标数据库中存在与导出数据库同名的表空间时,这种情况需要特别注意。
我们往往在一看到“IMP-00013: 只有 DBA 才能导入由其它 DBA 导出的文件” 这个错误信息后,就立刻给导入用户授予DBA权限,但却忽略了DBA的角色是拥有对数据库中所有表空间unlimit的权限,造成花费很长时间import结束后,却发现没有导入到预期的表空间中。
简而言之,如果有同名表空间存在的话,必须将导入用户的 unlimited tablespace的权限 revoke 掉,否则数据将被直接存放到了那个同名表空间中,而不是导入用户缺省的表空间中;如果没有同名表空间,则无需进行 revoke,oracle 会自动将数据存放在导入用户的缺省表空间中。
最后一个需要注意的问题就是DBA授权问题,个人建议,一个数据库中除了system和sys用户以外,最好严格控制DBA权限的授予,尤其是不要随便赋予应用系统schema的owner以这个权限。目前国内的软件开发以及项目管理的能力还很薄弱,绝大多数项目中,不会设立专门的数据库管理角色,又为了图方便,往往赋予应用系统schema的owner以DBA权限,这样一来,在一个几十人或者上百人的团队中,其中任何一个开发人员或是运维人员一个随意的对DB的操作,对DB而言也许将会是灾难性的。因此,当导入数据后,应及时revoke掉 DBA 权限。
分享到:
相关推荐
- 数据文件路径:导出数据的保存位置或导入数据的源文件路径。 - 表/模式:选择要导入导出的特定表或整个模式。 - 压缩选项:选择是否对导出文件进行压缩,以节省存储空间。 7. **安全性与性能优化** - 导入...
以下是关于这两个系统中导出和导入数据及表的具体方法。 在SQL Server中,导出数据通常通过备份数据库的方式进行。首先,你需要在SQL Server企业管理器中右键点击要导出的数据库,然后选择“所有任务”->“备份...
在使用 IMP 命令导入数据时,还需要注意导出服务器和导入服务器的 NLS_LANG 环境变量是否一致。如果两台服务器的 NLS_LANG 环境变量不一致,那么将会出现乱码问题。 在上面的示例代码中,可以看到使用了 export ...
### Oracle利用传输表空间导出导入数据的步骤详解 #### 一、背景介绍 在数据库管理领域,Oracle作为一款广泛使用的数据库管理系统,在企业级应用中占据着重要地位。随着业务的发展和技术的进步,数据库间的迁移需求...
。
`expdp`和`impdp`是Oracle Data Pump的命令行工具,用于导出和导入数据。`expdp`用于导出数据库对象和数据,而`impdp`则用于将这些导出的数据导入到数据库中。这两个工具提供了许多选项和参数,以满足各种需求,例如...
### Oracle 数据导出导入简介 #### 一、Oracle数据库的基本概念 Oracle数据库是一个关系型数据库管理系统,由不同的表空间组成,其中包括至少一个SYSTEM表空间。表空间是Oracle中用于管理存储空间的重要概念。 - ...
与传统的导出导入工具相比,数据泵能够实现更快速的数据传输,同时提供了更多的控制选项,使得数据迁移更加灵活和安全。 2. Data Pump处理数据的方式 - 直接路径方式:这是数据泵的主要工作方式,它绕过数据库缓存...
Oracle数据库的导出导入是数据库管理员日常维护工作中的重要环节,它涉及到数据的备份、迁移和恢复等操作。Oracle提供了一套强大的数据泵工具(Data Pump),包括expdp(导出)和impdp(导入)命令,用于高效地处理...
- **表空间准备**:在导入数据之前,确保目标数据库有足够的表空间。如果源数据库的表空间与目标数据库不同,需要创建相应的表空间以匹配源数据库的结构。 - **权限管理**:在导入导出过程中,确保用户具有必要的...
3. **字符集问题**:在导出导入过程中,需要注意源数据库和目标数据库的字符集是否一致。 4. **错误处理**:通过设置 `ignore` 参数可以控制导入过程中的错误处理方式。 #### 六、示例 - **创建新用户**: ```sql...
- 如果需要删除表后再导入数据,应先确保数据安全备份。 - 在执行导入时,若遇到表已存在的情况,可以通过添加 `ignore=y` 参数来忽略这些错误。 以上就是关于 Oracle 数据库导入导出命令的详细介绍,希望对您有所...
Oracle 数据库的导入导出是数据库管理中的重要环节,它涉及到数据的安全性、恢复性和效率。Oracle 提供了多种工具来实现数据的备份与恢复,其中最常用的是 EXPDP(Export Data Pump)和 IMPDP(Import Data Pump)...
oracle 命令导入导出命令,对于数据迁移,数据备份本地数据库和服务数据库很实用的命令
- `impdp` 命令则用于从转储文件导入数据。基本语法类似: ``` impdp [username/password@connection_string] directory=dir_name dumpfile=file_name [parameters] ``` 在涉及到字符集更改的情况下,我们需要...
Oracle 数据导入导出是数据库管理中的重要操作,用于在不同环境之间转移数据,备份和恢复数据,以及进行数据迁移。本文将深入探讨Oracle数据库的数据导入导出机制,包括使用的主要工具、过程和最佳实践。 Oracle ...
本文将深入探讨如何导入数据到Oracle数据库以及创建新用户,这对于数据库管理员和开发者来说是至关重要的技能。以下是对标题"Oracle数据库导入数据以及创建用户"的详细解读: 1. 数据导入: - **SQL*Loader**:...
为了确保数据的安全和可靠性,Oracle数据库提供了导入导出命令,以便用户可以轻松地备份和恢复数据库。本文将详细介绍Oracle数据库的导入导出命令,包括exp和imp命令的使用方法和参数设置。 exp命令 exp命令是...
Oracle 数据导入导出是数据库管理中的重要操作,Oracle 9i 提供了通过 Oracle Management Server (OMS) 来简化这一过程。Oracle Management Server 是 Oracle 企业级管理工具的一部分,它允许管理员对数据库进行集中...
以下是一些使用 IMPDP 导入数据的步骤和选项: 1. **确认 dmp 文件位置**:确保导出的 dmp 文件可访问,或者将其移动到合适的位置。 2. **创建逻辑目录**:如果需要,参照 EXPDP 的步骤创建或更新 DIRECTORY 对象。...