您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据库 > 5-Oracle安装-配置-客户端工具
©2012西安软件服务外包学院.Allrightsreserved.Xi'aninstituteService&SoftwareScienceTechnology课程名:OracleSQL开发Oracle安装、配置,客户端工具编写:司丙茂CISSST内容目录一、Oracle的安装二、Oracle简介三、开发人员工具四、用户管理五、系统特权六、对象特权七、角色八、Oracle数据库常用数据类型九、store模式中的表十、基本SQL查询CISSST一、Oracle的安装CISSSTCISSSTCISSSTCISSSTCISSSTCISSSTCISSST安装Oracle之后,会在操作系统中添加一些服务(Service),这些服务一般是自动启动模式,也可以设置为手动模式。注意:下面两个服务必须开启:OracleOraDb10g_home1TNSListener--监听服务,支持通过网络访问Oracle数据库;OracleServiceORCL--数据库主服务。同时在启动菜单中Oracle会添加两个常用的工具:DBCA--数据库配置助手NCA--网络配置助手CISSST1、Oracle是一个数据库管理系统(DBMS)软件。在安装Oracle时涉及的几个概念:○数据库名(DB_NAME):用户自定义的用来标识一个数据库的名称。例:orcl○全局数据库名:用来在网络中标识一个数据库的名称。全局数据库名由[数据库名]+[域名]组成。例:orcl.cissst.com○SID:Oracle系统标识符(SystemID):用户自定义的用来区分Oracle实例的名称。SID主要用于操作系统和数据库之间的联系,操作系统通过SID区分不同的Oracle实例。Oracle实例是由特定的内存结构和一组后台进程所组成。用户如果要访问数据库,应该基于SID是向某一个Oracle实例发送请求,Oracle实例负责从数据库中获取数据。SID通常和数据库名相同,两者具有多对一关系。一个Oracle实例只能对应一个数据库,而一个数据库可以由多个Oracle实例访问。二、Oracle简介CISSST数据库名SIDCISSST2、Oracle中的数据库采用的是关系型数据库。Oracle数据库中的表都被存储在称为模式(schema)的结构中。模式可以理解为数据库对象的逻辑集合。出于数据安全和分类管理的需要,Oracle将某个用户创建的所有数据库对象,例如表、视图、索引、触发器、存储过程、PL/SQL程序包、函数等,都放置在该用户对应的模式下。用户和模式是一一对应的关系,每个用户都有一个对应的模式,并且模式名和拥有这些数据库对象的用户名相同。CISSST三、开发人员工具1、应用软件开发者可以使用各种工具同Oracle系统进行交互,以方便的查看和修改数据库中的数据、创建数据库对象、设置数据库属性等。常用的工具有:1,SQLPlus软件2,PL/SQLDeveloper软件2、当连接到Oracle时,需要用户名、密码、主机字符串等信息。不同的用户具有不同的操作权限。Oracle默认的管理员账户有sys,system,sysman等,密码是安装时设置的密码。Oracle安装时,还安装了个示例用户scott,其密码是tiger,因此还可以使用该用户登录数据库管理系统。CISSST3、使用sqlplus3.1启动sqlplus并连接到Oracle:(1)sqlplus用户名/密码@主机字符串[assysdba](2)sqlplus用户名@主机字符串[assysdba](3)sqlplus/nolog;conn用户名/密码;conn/assysdba;(4)sqlplus主机字符串:如果连接本机上的Oracle,可以不填;如果连接网络中另一台主机上的Oracle,需要填写本地网络服务名;如果使用assysdba,相当于使用sys用户登录;3.2一旦连接到了Oracle,就可以输入SQLPlus命令或SQL语句了。SQLPlus命令和SQL语句输入时不区分大小写;SQLPlus命令可以没有结束分号;SQL语句可跨行输入,昀后必须以分号结束。SQL语句会由SQLPlus交给Oracle数据库管理系统负责运行。CISSST3.3用户锁定和解锁如果在连接Oracle时提示[账户已被锁定],表明该用户不能登录Oracle,可使用sys用户登入系统,使用如下SQL语句解锁该用户:alteruser[userName]accountunlock如果要锁定用户,可使用如下SQL语句:alteruser[userName]accountlockCISSST4、使用PL/SQLDeveloper两种窗口:CommandWindow和SQLWindowCISSST四、用户管理1,新建用户:CREATEUSERusernameIDENTIFIEDBYpwd新创建的用户要连接到数据库、执行各种操作必须获得相应的权限。为用户授权:grantconnect,resourceto[userName];查看当前用户所拥有的表:selecttable_namefromuser_tables;2,修改用户密码:ALTERUSERzhangsanIDENTIFIEDBYpwd;3,删除用户:DROPUSERzhangsan[CASCADE]当用户模式中包含对象时,必须使用CASCADE关键字。4,设置当前会话相关的参数设置日期数据使用的语言:ALTERSESSIONSETNLS_DATE_LANGUAGE=‘SIMPLIFIEDCHINESE’‘AMERICAN’设置日期格式:ALTERSESSIONSETNLS_DATE_FORMAT=‘YYYY-MM-DD’‘YYYY”年”MM”月”DD”日”’CISSST五、系统特权系统特权一般是指执行DDL语句、执行存储过程或执行任意对象上的DML操作的权限。Oracle数据库中定义了一系列特定名称的系统特权,每种系统特权都有明确的操作权限。如:CREATESESSION:建立会话CREATETABLE:创建表CREATEANYTABLE:创建任意表SELECTANYTABLE:从任意表中查询UPDATEANYTABLE:更新任意表ALTERANYTABLE:修改任意表ALTERSESSION:修改会话设置DROPANYTABLE:删除任意表EXECUTEANYPROCEDURE:执行任意存储过程CREATEUSER:创建用户CREATEVIEW:创建视图……CISSST1,授予系统特权GRANTsysprivilegeListTOuserNameList[WITHADMINOPTION];sysprivilegeList是以逗号隔开的系统特权列表;userNameList是以逗号隔开的用户名列表;WITHADMINOPTION选项代表该用户可把这个特权再授予其它用户○如果把userNameList替换为关键字PUBLIC,则表示将特权赋予所有用户2,撤销系统特权REVOKEsysprivilegeListFROMuserNameList作用:撤销指定用户的系统特权,如果该用户将特权授予了其它用户,并不会连锁撤销CISSST六、对象特权对象特权是指用户对数据库对象执行特定操作的权限。对象的拥有者具有全部对象特权,并可授予别的用户操作这些对象的特权。常用的对象特权如下:SELECT、INSERT、UPDATE、DELETE、EXECUTE。1,授予对象特权GRANTobjPrivilegeListONobjNameTOuserNameList[WITHGRANTOPTION]objPrivilegeList是以逗号隔开的对象特权列表objName是特定对象的名称userNameList是用户名列表WITHGRANTOPTION选项代表该用户可把这个特权再授予其它用户【示例】grantselect,update,insert,deleteonproductstozhangsan,lisi;另外,在UPDATE和INSERT对象特权中,还可以使用括号指明子项,如:grantupdate(name,price),insert,deleteonproductstozhangsan,lisi;grantinsert(product_id,name,price)onproductstozhangsan,lisi;CISSST2,使用对象特权当zhangsan用户具有了store用户模式中的products表的操作权限后,就可以使用store.products访问产品表了。3,撤销用户的对象特权REVOKEobjPrivilegeListONobjNameFROMuserNameList如果该用户将特权授予了其它用户,则连锁撤销。CISSST七、角色1,角色是具有名称的一组特权,角色中包含若干系统特权和对象特权。使用角色的主要目的是方便管理特权。可以将角色授予用户,那么该用户就具有了角色中包括的所有特权。也可以将角色授予角色,那么后者就包含了前者的所有特权。2,Oracle中常用的预定义角色有:CONNECT、RESOURCE、DBA等。3,可以使用如下语句查看某个角色中包含的系统特权和对象特权:SELECT*FROMrole_sys_privsWHERErole='CONNECT';SELECT*FROMrole_tab_privsWHERErole='CONNECT';4,授予角色:GRANTroleNameTOuserName[WITHADMINOPTION];5,撤销某个用户的角色:REVOKEroleNameFROMuserName;角色不会连锁撤销。6,查看当前用户被授予的角色:SELECT*FROMuser_role_privs;CISSST八、Oracle数据库常用数据类型CHAR(length):定长字符串,如果实际字符串长度不足,则在后面补空格;length介于1和2000之间,单位默认为字节。VARCHAR2(length):变长字符串,length表示昀大长度;length介于1和4000之间,单位默认为字节。NCHAR(length):定长UNICODE字符串,length表示字符数,介于1和1000之间。NVARCHAR2(length):变长UNICODE字符串。length表示字符数,介于1和2000之间。BLOB(BinaryLargeObject):二进制大数据,昀多可存放4G的数据。CLOB:单字节字符数据,昀多可存放4G的数据;NCLOB:UNICODE字符数据,可昀多存放4G的数据;DATE:日期类型,存储日期和时间值;NUMBER(precision,scale):数值类型,可存储浮点数和整数。precision表示精度(有效位数),scale表示小数点后的位数。Oracle支持的昀大精度是38位。BINARY_FLOAT:32位浮点数;BINARY_DOUBLE:64位浮点数;CISSSTOracle语法上也支持以下类型,但将这些类型映射到NUMBER类型:DEC(p,s),NUMERIC(p,s):与NUMBER等效SMALLINT,INT,INTEGER:NUMBER的子类型,等效于NUMBER(38)FLOAT,REAL,DOUBLEPRECISION:NUMBER的子类型,实数。FLOAT默认精度为126位二进制位,REAL为63位,DOUBLEPRECISION为126位。此外,还有三个比较古老的数据类型:RAW(n):变长二进制数据;n介于1~2000之间,单位为字节。LONG:变长字符列,昀大2G字节。LONGRAW:变长二进制数据,昀大2G字节。CISSST九、store模式中的表以SYSDBA用户登录SQLPlus,执行脚本store_schema.sql。该脚本中创建了用户store,其密码为store_password,并创建了store模式下的所有表。customers顾客信息product_types产品类型信息
本文标题:5-Oracle安装-配置-客户端工具
链接地址:https://www.777doc.com/doc-7694 .html