Oracle學習筆記(二)

1.Oracle 的系統用戶sys 是超級用戶,具備sysdba權限,具備建立數據庫的權限,默認密碼爲change_on_install。sql

而system爲管理操做員,權限也很大,具備sysoper權限,可是沒有create database的權限,默認密碼爲manager數據庫

2. 在Oracle中表、視圖、存儲過程、序列、函數等等通稱爲數據對象。ide

3. cmd中輸入sqlplusw 進入SQL*PLUS函數

修改本身的密碼: passw 新密碼命令行

顯示當前用戶:  show user;對象

運行sql腳本:  start d:\aaa.sqlcmd

編輯sql腳本文件:  edit d:\aaa.sqlit

將屏幕中的數據輸入到文件中:io

Spool bbb.sql;table

Select * from test;

Spool off ;

交互式命令: select * from test where name=’&name’; 會彈出一個窗口提示 輸入一個name

顯示和設置環境變量:

Linesize 爲每行顯示的長度  show linesize  set linesize  50  默認爲80

Pagesize 分頁 set pagesize 12; 爲打印一些報表服務的。

4.Dba權限的用戶才能建立用戶和修改用戶密碼,刪除用戶要具備drop user 的角色

Create  user heshan identified by a123;

給其餘用戶修改密碼: password  heshan

刪除用戶:drop user heshan [cascade 級聯刪除表等數據庫對象]

Grant 賦予權限 revoke  回收權限

新用戶沒有任何權限,沒有登陸到數據庫的權限 (角色是權限的集合)

Grant connect to heshan;

Grant resource to heshan  在表空間裏面建表的權限便可以使用表空間

Grant select on test to heshan(擁有表的用戶能夠受權)

Grant select on test to heshan with grant option(賦權給heshan 使heshan還能夠賦給其餘用戶 可是隻能夠爲對象權限)

若是爲系統權限

Grant connect to heshan with admin option;

當回收權限的時候,傳遞的權限會被回收掉。

帳戶鎖定:

Create profile lock_amount limit failed_login_attemps 3 password_lock_time  2;

(嘗試三次 鎖定2天)

Alert user heshan profile lock_amount;

Alert user heshan account unlock;

終止口令:

Create  profile myprofile limit password_life_time 10 password_grace_time  2;

(10天提醒修改密碼,寬限期兩天)

Alert user heshan profile myprofile; 

口令歷史:

Create  profile paasword_history limit password_life_time 10 password_grace_time 2 paasword_reuse_time 10;

(10天提醒修改密碼,寬限期兩天,10天之後的能夠重用) 

Drop profile myprofile;(刪除口令文件)

5.表的管理

添加一個字段:

Alert table test add(name varchar(20));

Alert table test modified (name varchar(30));//修改表的字段長度

Alert table test drop column name; //刪除表中一個字段

Rename test to test1;//修改表名

Set timing on;打開執行的時間

設置只讀事物:set transaction read only;

Oracle在對數據處理的時候有隱性轉換。

導出表:

Exp heshan/heshan123@orcl tables=(test) d:\aa.dmp //表數據 

Exp heshan/heshan123@orcl tables=(test) d:\aa.dmp rows=n //表結構

數據字典:

Select tables from user_tables;(all_tables   dba_tables)//查詢用戶全部的表

查詢一個角色具備的權限

Select * from dba_sys_privs where grantee=’CONNECT’;

Select * from role_sys_privs where role=’CONNECT’;

查詢某個用戶具備的權限

Select * from dba_role_privs where grantee=’heshan’;

添加約束:

Alert table test add constraint  testUnique unqique(id);

調用函數:

命令行模式:

Var abc number;

Call test(‘heshan’) into:abc;

相關文章
相關標籤/搜索