Oracle,表空间的建立、用户创建以及用户授权
主要是以下几步,挑选需要的指令即可:
# 首先以scott用户作为sysdba登陆
conn scott/tiger as sysdba
#创建用户 ifuser:123456
create user ifuser identified by 123456
# 修改用户密码,大部分不需要,这里只是演示,这里讲密码修改成lovemiku
alter user ifuser identified by lovemiku
# 查询所有用户对应的表空间,一般情况下新建用户如果不分配表空间默认会分配到 USER 空间
select username,default_tablespace from dba_users
#创建表空间,在Linux下,如果不了解主机目录结构可以通过下面的指令查看已有的表空间的物理地址,我们可以选择将自己的表空间放在同目录下,我这里是/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/
select name from dba_data_files
create tablespace ifuser datafile '/home/oracle/app/oracle/product/11.2.0/dbhome_1/dbs/ifuser.dbf' size 100M
reuse autoextend on next 40M maxsize unlimited default storage(initial 128k next 128k minextents 2 maxextents unlimited);
#分配表空间给用户
alter user IFUSER default tablespace ifuser
#给用户赋权
grant create session,create table,create view,create sequence,unlimited tablespace to ifuser
#最后,通过下面指令可以查询当前用户的权限
select *from session_privs
删除用户、表空间
#删除用户数据
drop user ifuser cascade;
#删除表空间
drop tablespace ifuser including contents and datafiles cascade constraint;
最后补充一下今天插clob数据遇到的 ORA-01704: 文字字符串太长问题
oracle在插clob的时候,会先转成varchar2型数据,如果字符串长度超过4000,就会报出ora-01704
错误,目前比较流行的解决方法是通过一个存储过程,将大字符串赋到一个变量中去,然后在插入
declare
my_clob clob;
begin
my_clob := '大字符串';
update 表明 set 字段 = my_clob where 条件
end;