oracle 的用戶管理 sqlplus的常用命令


創建用戶:create user 用戶名 identified by 密碼;

SQL> create user scw identified by 123;

用戶已創建。

SQL>

在oracle中創建用戶只能由管理員或者具有管理員的權限的用戶創建

修改密碼:

1.修改自己的密碼:

SQL> passw;
更改 SCW 的口令
舊口令:
新口令:
重新鍵入新口令:
口令已更改
SQL> conn scw/123;
ERROR:
ORA-01017: invalid username/password; logon denied


警告: 您不再連接到 ORACLE。
SQL> conn scw/234;
已連接。

2.修改其他用戶密碼  需要權限;

SQL> conn system/123;
已連接。
SQL> alter user scw identified by 123;

用戶已更改。

SQL>

解鎖用戶/鎖定用戶:

SQL> alter user scw account unlock;

用戶已更改。

SQL> conn scw/123;
已連接。
SQL> conn system/123;
已連接。
SQL> alter user scw account lock;

用戶已更改。

SQL> conn scw/123;
ERROR:
ORA-28000: the account is locked


警告: 您不再連接到 ORACLE。

刪除用戶:

drop user 用戶名;
                                   如果當前用戶擁有數據庫表、視圖、序列等等,刪除用戶就需要指定關鍵字:cascade.
drop user zhangsan cascade;

授權:

新建的用戶是沒有任何權限的,包括連接數據庫的權限。
新創建的用戶是沒有任何權限的,直接登錄會報如下錯誤:

SQL> conn scw/123;
ERROR:
ORA-01045: user SCW lacks CREATE SESSION privilege; logon denied 警告: 您不再連接到 ORACLE。

如果新建的用戶想要連接數據庫,就需要被賦予權限,只有管理員才能賦予新用戶權限。

系統權限:create table,create session,drop user,drop table等等
角色權限:dba 管理員
               connect:連接數據庫
                resource: 創建表的權限

賦予用戶連接數據庫的權限:

grant create session to zhansgan;
SQL> conn system/123;
已連接。
SQL> grant create session to scw; 授權成功。 SQL> conn scw/123; 已連接。 SQL>

system賦予用戶dba的角色:

SQL> grant dba to scw;
grant dba to scw * 第 1 行出現錯誤: ORA-01031: 權限不足 SQL>

SQL> conn system/123;
已連接。

SQL> grant dba to scw;

授權成功。

SQL>

(dba是數據庫管理員
它除了重啟數據庫 修改字符集的權限沒有外 具有其它全部權限)
DBA: 數據庫管理員

用Scott給其他用戶查看的權限:

SQL> conn scott/123;
已連接。
SQL> grant select on emp to scw;

授權成功。

SQL> conn scw/234;
已連接。
SQL> select * from scott.emp;

用system給其他用戶查看的權限:

SQL> grant select on scott.emp to scw;                        grant all on scott.emp to scw; (查看所有表)  
授權成功。

SQL>

給其他用戶授權的能力:

with admin option: 授予系統相關的admin權限
with grant option:授予對象相關的grant 權限

注意多級權限的回收;

撤銷權限:

revoke 權限 from 用戶   

注意:多級權限的回收:

對於對象權限,sys——>abc1——>abc3,當sys回收abc1權限的時候,abc3的權限也被回收了。

總結:對於系統權限,sys——>abc1——>abc2,然后由sys將abc1的權限回收,abc2依然可以連接數據庫。

對表的操作:

查看當前用戶的所有表:

SQL> conn scott/123;
已連接。
SQL> select * from user_tables;

查看當前用戶所有表的表名:

SQL> select table_name from user_tables;

TABLE_NAME
------------------------------------------------------------
SALGRADE
BONUS
EMP
DEPT

查看用戶:

查看所有用戶(必須要有管理員權限):

Select *from all_users;
查詢dba:select * from dba_users;
查詢當前用戶的信息:select * from user_users;

查看權限:

查詢所有具有系統權限的dba:

Select *from dba_sys_privs where grantee='DBA';

查看所有角色role;

Select *from dba_roles;

profile管理用戶
u 創建profile文件與指定給用戶  
案例1. 如果用戶連續3次登陸失敗,鎖定用戶,鎖定時間2天.lock
步驟:
1.先創建一個profile文件
  create profile lock_account(文件名) limit failed_login_attempts3 password_lock_time 2;
2.將profile文件指定給用戶
alter user abc2 profilelock_account;
 
3.abc2連續三次登陸失敗,賬號鎖定。
4.       解鎖abc2用戶 alter userabc2 account unlock;(管理員身份解鎖)
 
u 解除用戶的profile文件   
Alter user abc2 profile default;
 
案例2:用戶每隔10天修改密碼,寬限2天。
步驟:
1.sys管理員連接數據庫:conn sys/system as sysdba;
2.新建profile文件,用來限制用戶十天修改密碼,寬限期是2天。
create profile change_pwd limit password_life_time 10password_grace_time 2;
3.將profile配置文件指定給相應的用戶
Alter user abc2profile change_pwd;
案例3:限制用戶修改密碼不能使用以前用過的密碼
步驟:
1.sys管理員連接數據庫:conn sys/system as sysdba;
2.新建profile文件,限制用戶修改密碼,不能使用用過的密碼
Create profilepassword_history limit password_life_time 10 password_grace_time 2 passworh d_reuse_time 2;
 
3.abc2連接數據庫,然后連續兩次修改密碼:
 
u 查詢所有的profile文件
select *from dba_profiles;
u 刪除profile文件
drop profileprofile文件名;
drop profilepassword_history;
如果profile文件已經指定給用戶了,就需要加上cascade關鍵字。

SQL> create profile lock_account limit failed_login_attempts 3 password_lock_time 2;

配置文件已創建

SQL> alter user scw profile lock_account;

用戶已更改。
SQL> drop profile lock_act;

配置文件已刪除。
SQL> conn system/123;
已連接。
SQL> alter user scw account unlock;

用戶已更改。
SQL> conn scw/111;
ERROR:
ORA-01017: invalid username/password; logon denied


警告: 您不再連接到 ORACLE。
SQL> conn scw/111;
ERROR:
ORA-01017: invalid username/password; logon denied


SQL> conn scw/111;
ERROR:
ORA-01017: invalid username/password; logon denied


SQL> conn scw/123;
ERROR:
ORA-28000: the account is locked


SQL> alter userabc2 account unlock;

 

進入SQL Plus
要想使用sqlplus,自然得先打開sqlplus界面,打開界面有兩種方式
⦁ 從開始菜單中的oracle安裝目錄直接打開,如下圖;

 


選擇SQL Plus快捷方式,會進入到sqlplus界面,進入之前會讓你先登錄, 

 


⦁ 從cmd命令窗口進入(如何打開cmd界面不再詳述,不會的,出門右轉去問度娘),如下圖

 


連接數據庫
連接數據庫也有兩種方式
⦁ 進入sqlplus界面或者在cmd界面輸入指令sqlplus,都會提示“請輸入用戶名”,如下圖
開始菜單打開的

 


CMD打開的

 


在cmd界面把sqlplus和登錄信息一起輸入,直接登錄到數據庫,如下圖;

 


到這里,就表示連接成功啦
用戶解鎖
首先必須使用system登錄,因為只有數據庫管理員才有修改用戶狀態的權限,比如我要解鎖scott賬戶;

 


切記:后面的commit一定不要忘了,否則是無效滴
用戶加鎖
這個可能不太常用,用戶解鎖會用的比較多,但是還是說一下,也以scott賬戶舉栗;

 


切記:和解鎖時一樣,后面的commit一定不要忘了,否則是無效滴
修改用戶密碼
這個還是很常用滴,話不多說,往下看圖;

 


切記:還是commit別忘了,>_<;
顯示和設置環境變量
Linesize:用於控制每行顯示多少個字符,默認顯示80個字符
Set linesize 1000;

 
       


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM