当前位置: 代码迷 >> SQL >> Oracle中的数据类型跟SQL语句详解
  详细解决方案

Oracle中的数据类型跟SQL语句详解

热度:90   发布时间:2016-05-05 14:45:29.0
Oracle中的数据类型和SQL语句详解

?????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文件中查找PORTSERVICE_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管理员进行登录????

????1Create?user?用户名?identified?by?密码;(不能是全数字)

????2grant?create?session,create?table,resource?to?用户名;//给用户分配权限

?

?

<!--EndFragment-->
  相关解决方案