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;