Oracle操作命令

1、创建用户

需要先创建表空间
SQL> create tablespace work #创建work表空间
2 datafile '/orc/app/oracle/oradata/work01.dbf' #定义路径
3 size 100M autoextend on; #大小为100M
SQL> create user c##dba #创建用户为dba
2 identified by 123123 #密码123123
3 default tablespace work #默认数据库work
4 temporary tablespace temp #
5 quota unlimited on work #不设置配额
6 password expire; #每次登陆后需要修改密码


2、更改账户密码

SQL> alter user c##dba identified by abc123;


3、删除用户

SQL> drop user c##dba cascade;


4、用户登陆数据库授权

grant connect,resource to c##dba;


5、撤销用户权限

SQL> revoke connect, resource from c##dba;


6、创建表

SQL> create table list
2 (
3 id number(4) constraint only_id primary key,
4 name varchar2(10),
5 score number(5,2),
6 born date,
7 address varchar2(50)
8 );


7、查看表结构

SQL> desc list


8、事务

SQL> insert into list values (1,'zhangsan',88,to_date('2018-10-9','yyyy-mm-dd'),'beijing'); #插入zhangsan的数据
SQL> insert into list values (2,'lisi',90,to_date('2018-10-9','yyyy-mm-dd'),'shanghai'); #插入李四的数据
SQL> commit; #提交完成
SQL> insert into list values (3,'wangwu',100,to_date('2018-10-9','yyyy-mm-dd'),'tianjin'); #再次添加wangwu的数据
SQL> rollback; #回滚
SQL> select * from list; #会查看到wangwu数据并没有被提交


9、关闭和开启自动提交

SQL> set autocommit on; #开启自动提交
SQL> insert into list values (3,'zhaoliu',55,null,null); #插入数据,会提示提交完成。
SQL> set autocommit off; #关闭自动提交
SQL> insert into list values (4,'tianqi',66,null,null); #再次插入数据
SQL> rollback; #提示回退完成


10、创建索引

SQL> create index index_list on list(score); #创建score普通索引
SQL> create unique index id_unique on list(id); #创建唯一索引
SQL> create index reverse_source on list(score)reverse; #创建反向索引
SQL> create bitmap index add_index on list(address); #创建位图索引
SQL> create index other_index on list(upper(id)); #创建其他索引(upper(id))
select index_name,index_type,table_name,tablespace_name from user_indexes; #查看索引
SQL> alter index other_index rebuild; #重建索引
SQL> alter index other_index rebuild tablespace work; #重建索引
SQL> alter index other_index coalesce; #合并索引碎片
SQL> drop index other_index; #删除索引


11、创建和查看视图

sqlplus / as sysdba #先进最高管理员用户
SQL> grant create any view to c##dba; #提权给c##dba用户
然后再用c##dba用户登录
SQL> create view view_list as select from list where id=1; #创建视图
SQL> select
from view_list; #查看视图


12、物化视图

先通过sys最高管理员授权给我们创建的用户c##dba;
SQL> grant create materialized view to c##dba; #赋权创建物化视图
SQL> grant query rewrite to c##dba; #赋权查询及重写
SQL> grant create any table to c##dba; #赋权创建任何表
SQL> grant select any table to c##dba; #赋权查看任何表
切换回c##dba用户
SQL> conn c##dba/123123;
先创建物化视图日志
SQL> create materialized view log on list with rowid;
SQL> create materialized view mtrlview_list
2 build immediate
3 refresh fast
4 on commit
5 enable query rewrite
6 as
7 select * from list where id = '1'; #为list创建id为1的物化视图;
删除物化视图
SQL>drop materialized view mtrlview_list