oracle创建用户、表空间、授权、建表等一系列操作_数据库

root 登陆

docker exec -it oracle /bin/bash 进入docker

su - oracle

输入sqlplus /nolog

conn / as sysdba

 

 

1.用scott用户以sysdba的身份登录oracle

conn scott/tiger as sysdba;

2.创建用户

create user cps_platform identified by cps_platform ;

create user cps_profit identified by cps_profit ;

create user BOSSDB identified by cps_risk ;

create user cps_platform identified by cps_platform DEFAULT tablespace ts_cps_platform;

3.修改用户的密码

alter user sys identified by chually_2020;

4.查看用户所在的表空间

默认情况下用户创建好后系统会默认给该用户分配一个表空间(users)我们可以通过下面的sql语句来查看一下所有用户所在的表空间。

select username,default_tablespace from dba_users;

5.创建表空间

 -- 当前数据库实例

      show parameter instance_name

 

-- 查看表空间

SELECT a.tablespace_name,a.file_name,a.bytes total,b.bytes used,Round(( b.bytes / a.bytes) * 100, 2)||'%' usedrate

FROM dba_data_files a

LEFT JOIN dba_free_space b ON a.file_id = b.file_id

ORDER BY usedrate desc;

 

一般在开发情况下,当然不会使用用户的默认表空间,所以这时需要创建一个表空间。

注:datafile后面是表空间的物理存储路径,文件名的后缀可以随便。要先建立文件夹,文件不建(会报已存在)。

create tablespace farm_space datafile 'E:\temp\oracle\tablespace\farm\farm_space.dbf' size 100M  AUTOEXTEND ON NEXT 200M;

alter database datafile '/ora/oradata/radius/undo.dbf' resize 1024m

ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON;//打开自动增长

ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON NEXT 200M ;//每次自动增长200m

ALTER DATABASE DATAFILE 'c:\SmartDB01.ora' AUTOEXTEND ON NEXT 200M MAXSIZE 1024M;//每次自动增长200m,数据表最大不超过1G

 

6.将表空间分配给用户

alter user farm default tablespace farm_space;

 

8.给用户分配权限

给用户分配了表空间,用户还不能登陆(没有登录权限),因此还需要为用户分配权限

 

--将最高权限授权给用户

create user umpay identified by umpay2020;

grant create session,create table,create view,create sequence,unlimited tablespace to umpay ;

grant dba to umpay ;

 

9.将A用户下的所有表的查看权限赋予给B用户

将A用户下的表A的查询、插入、更新、删除授权给用户B

grant select,insert,update,delete,all on userA.tableA to userB

 

SELECT 'GRANT SELECT ON A.'||OBJECT_NAME||' TO B;'

FROM DBA_OBJECTS

WHERE OWNER='A' AND OBJECT_TYPE='TABLE';

--例:

select 'GRANT SELECT ON xrapsys.'||object_name||' to farm;'

from dba_objects

where owner='farmer' and object_type='TABLE';

 

10.给用户分配了权限之后,用farm用户来登录

conn farm/unis;

11.查询用户所具有的权限

select * from session_privs;

12.删除用户及其相关对象

drop user farm cascade;

13.删除表空间

drop tablespace farm_space;

14.查询当前用户名下所有表

TEST为用户名,用户名必须是大写。

select * from all_tables where owner='FARMER';

 

15.表字段注释修改

comment on table 表名 is '表的注释信息';

comment on column 表名.字段名 is '字段的注释信息';

16.表字段的值修改

单个字段:UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值

多个字段:UPDATE Person SET Address = 'Zhongshan 23', City = 'Nanjing'

WHERE LastName = 'Wilson'

 

17.已有表增加字段

alter table 表名 add (字段名称 字段类型, 字段名称 字段类型);

--已有表增加多个字段

alter table ba_key_manager add (

create_time DATE default sysdate,

update_time DATE,

cancellation_time DATE,

status VARCHAR2(2) default 0

);

--添加注释

comment on column farm_user.create_time

is '创建时间';

comment on column farm_user.update_time

is '更新时间';

comment on column farm_user.cancellation_time

is '注销时间';

comment on column farm_user.status

is '数据状态(0,正常;1,已注销)';

 

18. 修改字段的类型或长度:

注意:当此列有数据时,不能将字段的长度减小,只能增加长度。

table 表名 ? modify ?(字段名称 ?(新的)字段类型);

alter table ba_branch_office modify (address number(32)); alter

19.修改字段的名称:

alter table 表名 rename column (旧的)字段名称 to (新的)字段名称;

alter table farm_user rename column address to new_address;

20.删除一个字段:

注意:删除字段时候,保证此字段下没有数据。

alter table 表名 drop column 字段名称;

alter table farm_user drop column new_address;

 

 

————————————————

版权声明:本文为CSDN博主「cyj7696」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/cyj7696/java/article/details/89395066

 

猜你喜欢

转载自blog.csdn.net/wangjz2008/article/details/114081535