这个操作主要分两部分:
第一部分,创建.sql文件,CreateTableSpaceAndUser.sql。主要内容如下:
----------创建表空间---------------
create tablespace TableSpace_Test datafile 'E:\oracle\product\10.2.0\oradata\orcl\Test.DBF' size 300M autoextend on next 100M maxsize unlimited EXTENT MANAGEMENT local autoallocate segment space management auto;
----------创建用户并赋予权限---------------
create user test_user identified by admin default tablespace TableSpace_Test account unlock;
GRANT CONNECT TO test_user;
GRANT RESOURCE TO test_user;
exit;
解释一下:
创建表空间,创建了一个名为TableSpace_Test的表空间,文件名为TTest.DBF,存放位置为E:\oracle\product\10.2.0\oradata\orcl\Test.DBF。设置初始大小为300M,每次自增100M。
创建用户,创建用户:text_user,密码:admin ,默认表空间:TableSpace_Test,并赋予角色权限:CONNECT和RESOURCE。
补充知识:
–用户权限角色分三种:
1. CONNECT角色:主要应用在临时用户,特别是那些不需要建表的用户,通常只赋予他们CONNECT role。CONNECT是使用Oracle的简单权限,拥有CONNECT角色的用户,可以与服务器建立连接会话(session,客户端对服务器连接,称为会话)。
2. RESOURCE角色:更可靠和正式的数据库用户可以授予RESOURCE role。RESOURCE提供给用户另外的权限以创建他们自己的表、序列、过程(procedure)、触发器(trigger)、索引(index)等。
3. DBA角色:DBA role拥有所有的系统权限—-包括无限制的空间限额和给其他用户授予各种权限的能力。用户SYSTEM拥有DBA角色。
一般情况下,一个普通的用户(如SCOTT),拥有CONNECT和RESOURCE两个角色即可进行常规的数据库开发工作。
第二部分,创建批处理文件,import.bat。主要内容如下:
@Echo off
sqlplus system/manager @D:\CreateTableSpaceAndUser >log.txt
imp system/manager file=D:\test.dmp fromuser=Test_user touser=Test_userr ignore = y
就两句,第一句:登录数据库,执行存放在D盘根目录下的CreateTableSpaceAndUser.sql文件,并在同一目录下输出日志文件log.txt。 第二句:导入存放在D盘根目录的数据库文件test.dmp,fromuser表示原导出的数据库文件的用户名(Test_user),touser表示要导入的数据库的用户名(Test_user),ignore表示忽略错误。