oracle创建用户、分配权限并导入初始数据已经使用一段时间了,今天抽空整理一下该过程中使用到的SQL语句。

step1:使用DBA用户登录sqlplus

C:\Users\Administrator>sqlplus dbaname/dbapassword@orcl as sysdba;


step2:查询该数据库当前存在的用户

SQL>select username from dab_users;


step3:如果存在要创建的用户,则删除该用户及对应的表空间

删除用户:

SQL>drop user username cascade;

如果删除不成功,可能该用户目前被使用,关闭使用或重启数据库服务后重新删除用户

重启数据库服务:

SQL>shutdown abort;

SQL>startup;

删除表空间:

SQL>drop tablespace tablespacename including contents and datafiles;


step4:创建表空间

创建表空间时可以先查询目前数据文件的存放地址,以便于创建表空间时使用

查询数据文件的地址:

SQL>select file_name from dba_data_files;

FILE_NAME

----------------------------------------------

F:\APP\ADMINISTRATOR\ORADATA\ORCL\USERS01.DBF

F:\APP\ADMINISTRATOR\ORADATA\ORCL\UNDOTBS01.DB

F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSAUX01.DBF

F:\APP\ADMINISTRATOR\ORADATA\ORCL\SYSTEM01.DBF

F:\APP\ADMINISTRATOR\ORADATA\ORCL\EXAMPLE01.DB

F:\APP\ADMINISTRATOR\ORADATA\ORCL\IPINMEI.DBF

创建表空间:

SQL>create tablespace tablespacename datafile  'F:\APP\ADMINISTRATOR\ORADATA\ORCL\datafilename.DBF' size 1g;

创建大小自增长的表空间:

SQL>create tablespace tablespacename

SQL>logging

SQL>datafile 'F:\APP\ADMINISTRATOR\ORADATA\ORCL\datafilename.DBF'

SQL>size 50m

SQL>autoextend on 

SQL>next 5m maxsize 2048m 

SQL>extent management local;


step5:创建用户并指定表空间

SQL>create user username identified by userpassward default tablespace tablespacename;


step6:给用户分配权限

SQL>grant dba,connect,resource to username;


step7:退出sqlplus后,导入dmp文件

imp username/password@orcl full=y file=d:\dir\***.dmp log=d:\dir\***.log tablespaces=tablespacename