初学者,请多多关照!
今天被派到一个新项目上,这也是我参加工作以来第一次正式跟项目,据说已经做到二期了,很多东西我要慢慢了解,这对我来说更是个挑战。第一件事自然是搭环境,下面对耗时较长的“数据库导入”部分进行整理总结,同时与大家分享!
基本原理:Oracle数据库的导入导出主要使用一个叫“数据泵”的家伙,它可以实现表空间级的数据导出和导入,一般项目都需要单独的表空间和单独的管理员,因此导入主要分为一下几个步骤后:建立表空间、建立用户、用户授权、建立目录、关联目录、数据导入。
1、建立表空间
前提:SYSTEM用户登录
注意:路劲问题,一定要指定到你的数据库里面才行,否则即便建立好了查不到这个表空间,更不用说授权给用户了
代码:create tablespace TABLESPACE_NAME
logging
datafile'E:\Oracle\oradata\orcl\aa'
size 100M autoextend on next 32M maxsize 2048M
extent management local;
其中,tablespace_name是你要创建的表空间的名字,datafile是表空间存放的路劲,记得最后还要写一次表空间的名字,其他的就不解释了
2、创建用户
代码:create user USERNAME identified by PASSWORD
default tablespace TABLESPACE_NAME;
其中,第二行就是把刚才创建的表空间赋予这个用户,也就是我一开始提到的:一个项目一个表空间,一个管理员
3、用户授权
代码:grant ORLE to USERNAME;
这里,把用户该有的权限都付给他
4、建立目录
说明:导入文件必须放在Oracle系统所属的目录中才行,如果我们使用系统已有的目录,这就意味着我们的操作触及了数据库系统级别,一旦失误,造成的后果不容估计,所以建议在Oracle系统外部另外建立一个目录,从这里进行数据导入导出,操作起来才比较安全。
代码:create directory DIRECTORY_NAME as 'E:\aa';
其中,DIRECTORY_NAME 是要创建的目录名称,也就是以后操作时用到的名称,as后面的部分是目录被放置的绝对路劲,这里我现在E盘新建文件夹“aa”,然后再PL/SQL中创建目录就可以完成了
5、关联目录
代码:grant read,write ondirectory DIRECTORY_NAME to USERNAME;
说明:这句的意思就是给用户一个树勇该目录的权限,其中DIRECTORY_NAME 就是我们创建好的目录
6、数据导入
前提:把要导入的数据库文件“*.dmp”文件拷贝到刚才创建的目录中去
说明:数据导入使用IMPDP,直接在命令行通过刚才创建的用户的身份把目录中的.dmp数据文件导入到我们创建的表空间中就可以了。使用数据泵的好处:快!
代码:(在命令行模式下)
impdp USERNAME/PASSWORD directory= DIRECTORY_NAME dumpfile=数据库文件(*.dmp)
tablespaces=TABLESPACE_NAME;
至此,已经完成了数据库导入的全部工作。
·