ORACLE基本命令
一.用戶登入權限管理
1.用戶登入
進入sqlplus需要輸入用戶名和密碼,Oracle自帶幾個用戶:
sys 和system都是系統管理員(DBA),擁有最大的權限,密碼是安裝時設置的;scott是普通用戶,擁有一些用於學習的表,初始密碼是tiger。
下面使用system登錄系統:
常用命令:
show user; 顯示當前用戶名
shutdown immediate; 關閉數據庫
startup open; 啟動數據庫
用戶連接:
conn 用戶名/密碼@連接字符串 as 角色
1)角色是權限的集合,以下是三個內置角色:
sysdba 數據庫管理員,擁有最多權限,包括:打開和關閉、備份和恢復數據庫、日志管理、會話管理、創建數據庫、用戶管理等。
sysoper 數據庫操作員,包括權限:打開和關閉、備份和恢復數據庫、日志管理、會話管理。
normal 普通用戶,只有查詢表的權限。
2)連接字符串用於指定服務器的地址,如果連接本機,可以不寫。如果需要連接登錄遠程服務器,則需要加上。
3)設置連接字符串的方法:
1、在Oracle的安裝目錄下,找到tnsnames.ora文件;
位置在Oracle目錄\product\11.1.0\db_2\NETWORK\ADMIN下,如:C:\app\ch\product\11.1.0\db_2\NETWORK\ADMIN。
2、用文本編輯器打開:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = xray)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
說明:最上面的ORCL是連接字符串的名字,下面ADDRESS部分是服務器地址,其中HOST后面是服務器的主機名,PORT是端口號,默認是1521,最后SERVICE_NAME是服務器上數據庫的名字。
可以在下面添加新的連接字符串,如連接ip為192.168.52.28的服務器,數據庫名為orcl。
TEST =
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.52.28)(PORT = 1521))
(CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl) ) )
連接示例:
2.用戶權限管理
不同於MySQL一般在DBMS上創建很多個數據庫,Oracle的數據庫會占用大量內存,一般情況下一個Oracle服務器只安裝一個數據庫。
Oracle數據庫中可以創建多個用戶,每個用戶有自己的資源(表、視圖、存儲過程等),每個用戶可以訪問自己的資源,要訪問其他用戶的表,則需要對方授權。
Oracle中用戶的概念非常重要,下面是常用的用戶管理命令:
創建用戶:
create user 用戶名 identified by 密碼[account lock|unlock]
說明:account lock|unlock 是用於設置用戶鎖定狀態的,可以不填寫,不寫情況下默認是lock鎖定狀態的,鎖定狀態的用戶無法使用。也可以在創建用戶后通過命令修改鎖定狀態:
alter user 用戶名 account unlock;
用戶授權:
Grant 角色|權限 to 用戶名;
說明:創建好的用戶還沒有任何權限,所以無法連接數據庫、操作表等。下面還需要給用戶一定的角色或權限,角色是多個權限的集合。
常用的角色有:
Ø Connect 只能連接服務器,用於臨時用戶。
Ø Resource 能創建和使用資源(表、索引、視圖、存儲過程等)。
Ø DBA 擁有所有系統權限,包括創建用戶和授權等。
通常只給用戶Connect和Resource角色就可以進行基本的開發了。
示例:使用創建的新用戶登錄服務器。
其它操作:
修改密碼:alter user 用戶名 identified by 新密碼;
收回權限:
revoke 角色|權限 from 用戶名;
刪除用戶:
drop user 用戶名[cascade];
說明:cascade是級聯操作,刪除所有和該用戶有關的資源。