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是级联操作,删除所有和该用户有关的资源。