?????Oracle的远程数据库的连接和用户操作
?1,远程数据库的连接
????--前提:1、在客户端程序必须安装oracle客户端程序
????????????2、服务器端的防火墙必须关闭?因为oracle采用的是TCP/IP协议的。
????????????3、需要添加全局配置,修改配置文件
C:\oraclexe\app\oracle\product\10.2.0\server\NETWORK\ADMIN\tnsnames.ora
在network\admin\找到tnsnames.ora配置文件内容如下:
XE?=
??(DESCRIPTION?=
????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?PC-201009100931)(PORT?=?1521))
????(CONNECT_DATA?=
??????(SERVER?=?DEDICATED)
??????(SERVICE_NAME?=?XE)
????)
??)
EXTPROC_CONNECTION_DATA?=
??(DESCRIPTION?=
????(ADDRESS_LIST?=
??????(ADDRESS?=?(PROTOCOL?=?IPC)(KEY?=?EXTPROC_FOR_XE))
????)
????(CONNECT_DATA?=
??????(SID?=?PLSExtProc)
??????(PRESENTATION?=?RO)
????)
??)
?
ORACLR_CONNECTION_DATA?=?
??(DESCRIPTION?=?
????(ADDRESS_LIST?=?
??????(ADDRESS?=?(PROTOCOL?=?IPC)(KEY?=?EXTPROC_FOR_XE))?
????)?
????(CONNECT_DATA?=?
??????(SID?=?CLRExtProc)?
??????(PRESENTATION?=?RO)?
????)?
??)?
XE是默认的全局名称PROTOCOL?=?TCP?协议
HOST?=?PC-201009100931?本机的名称
PORT?=?1521?oralce的端口号
如果需要采用远程连接需要配置一个全局的连接属性
teacher?=
??(DESCRIPTION?=
????(ADDRESS?=?(PROTOCOL?=?TCP)(HOST?=?192.168.1.100)(PORT?=?1521))
????(CONNECT_DATA?=
??????(SERVER?=?DEDICATED)
??????(SERVICE_NAME?=?csdn.cn)
????)
??)
teacher是随意起的全局名称?注意:名称不能重复
HOST?=?192.168.1.100?是远程局连接的IP地址
PORT?=?1521是远程连接的端口号.必须一致。
SERVICE_NAME?=?csdn.cn?是远程连接服务的名称.必须一致。
备注:可以到服务端的tnsnames.ora文件中查找PORT与SERVICE_NAME。
注意:以上配置teacher之前不能有空格否则会有异常信息。
?
2,当远程客户连接服务器时,服务器端的OracleXETNSListener的监听必须启动
???打开方式---管理工具--服务中---查找OracleXETNSListener并启动程序。???
--sqlplus远程连接命令
?????sqlplus?服务器端的用户名/密码@全局数据库名称
?????sqlplus?服务器端的用户名/密码@teacher;即可。
,3,、创建用户命令
?A、连接到用户SQL>?conn?system/root
B、创建用户:?SQL>?create?user?scott?identified?by?tiger;
C、切换用户:SQL>?conn?scott/tiger????//用户切换失败
Not?logged?on
??备注:出现用户没有session权限的提示.
所以应当分配session权限
,4,、分配权限
grant?权限名?to?用户名;
SQL>?conn?system/root;//第一步切换到管理员
SQL>?grant?create?session?to?scott;?//为用户受权
Grant?succeeded//受权成功
备注当受权成功后,scott就可以登录,但是登录后,当用户创建表时,也会出现权限不足.然在oracle中是通过用户的角色来给用户分配权限的.详细参考9角色
?
,5,、角色(一个角色包含多个权限)
connect
???create?session
???create?table
???……
?resource?
????对表空间使用权限
????……
???grant?connect,resource?to?scott;
注意:对用用户的创建,权限的分配,只有管理员才能够操作,普通用户不能实现.
?
?
登录简单总结
l?SQL?Plus?登录的几种不同方式?
??sqlplus?根据提示输入用户名、密码
??sqlplus?用户名/密码 (本机登录)?
??sqlplus?用户名/密码@网络服务名 (远程登录)
??sqlplus?/?as?sysdba (以sysdba身份登录,用户实际为sys)?
?
???总结:
???创建用户
????切换到system管理员中?以system管理员进行登录????
????1、Create?user?用户名?identified?by?密码;(不能是全数字)
????2、grant?create?session,create?table,resource?to?用户名;//给用户分配权限
?
?