天天看点

oracle的基本命令,Oracle常用基本命令(一)

Oracle中最基本的就是一些命令,项目中常用到的有:

1. 显示当前实例

select instance_name ,host_name from v$instance;

2. 显示当前所有用户及状态

select username,account_status from dba_users;

3. 连接某个用户

CONNECT system/123456;

4. 解锁某个用户

alter user scott account unlock;

5. 修改某个用户口令

alter user scott identified by tiger;

6. 显示当前用户

show user;

7. 修改当前用户口令

passw

8. 执行SQL脚本

start d:\aa.sql; 或者@ d:\aa.sql

9. 编辑脚本

edit d:\aa.sql;

10. 输出结果到指定文件

spool d:\bb.sql;

select * from emp;

spool off;

11. 交互式命令

&

select * from emp where ename='&name';

12. 设置显示行的宽度

show linesize;

set linesize 100;

13. 设置页大小

set pagesize 8;

14 创建用户(以dba登陆)

create user test3 identified by m123;

15 删除用户(以dba登陆)

drop user XXX;

16 分配权限

grant connect to XXXX(用户);

系统权限:用户对数据库的相关权限(如 create session)

对象权限:用户对其他用户的数据对象(表、视图、过程)操作的权限

角色:包含了一定的系统权限或对象权限;(如:connect)

预定义角色:预先定制好的角色(oracle内置)(connect,dba,resource)

自定义角色:可以自由定制的角色

connect: 用户可以登录的角色

resource:用户可以创建表

dba:数据库管理员角色

17. 回收权限

revoke select on emp from xxx;

18. 查看表的字段信息信息

desc emp;

19. 访问其他用户的表

首先要赋给这个用户这个查询的权限(表创建者、管理员)(select,insert,update,delete,all,create,....);

grant select on emp to xxx(用户);

然后登录xxx用户,查询这个emp表

select * from scott.emp;(同一个数据库中可以在不同用户中存在同名的表)

赋予所有权限

grant all on emp to xxx;

20. 权限的传承

赋予某种权限给某个用户同时允许该用户将该权限赋予其他用户

grant select on emp to xxx with grant option(针对对象权限);

grant connect to xxx with admin option(针对系统权限);

当用户回收某个用户的某个权限回收时,由该用户赋予该权限的其他用户的该权限是否会回收?

答案是:会被回收(株连)

21. profile管理用户口令

profile--口令限制,资源限制的命令集合,oracle自动创建default的profile

22. 账户锁定机制--指定该账户登陆时最多可以输入密码的次数,也可以指定用户锁定的时间

首先创建 profile文件(连续3次登陆失败,则锁定账户2天)

create profile testprofile limit failed_login_attempts 3 password_lock_time 2;

alter user xxx profile testprofile;

23. 账户解锁:

alter user xxx account unlock;

24. 终止口令--指定用户定期修改密码

首先创建profile文件(每隔10天修改自身登陆密码,宽限期为2天)

create profile myprofile limit password_lift_time 10 password_grace_time 2;

alter user xxx profile myprofile;

25 口令历史--修改用户密码时,不能使用以前的密码

(每隔10天修改自身登陆密码,宽限期为2天,且10天内的密码不能重用)

create profile myprofile limit password_lift_time 10 password_grace_time 2

password_reuse_time 10;

26. 删除profile

drop profile myprofile 【CASCADE】(级联)

27 Oracle备份

exp impcf/123456 owner=impcf rows=y indexes=n compress=n buffer=65536 feedback=100000  file=e:\exp_impcf_yyyymmdd.dmp log=e:\exp_impcf_yyyymmdd.log

28. Oracle还原

set Oracle_sid=impcf;

imp system/manager file=bible_db log=dible_db full=y ignore=y

如果是本地的不需要@地址,直接用户名密码导入即可

29.PL/SQL中更新表

select * from table for update;

30.左连接与右连接

(1)左外连接(左边的表不加限制)

(2)右外连接(右边的表不加限制)

Left join right join