Oracle实验总结
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Oracle实验总结
Oracle实验总结
Oracle实验总结
近日做了基于ORACLE的数据库安全、对象sql数据库,XML数据库的实验,其中遇到很多问题,先总结如下。
1、安装Oracle的过程中可以‘选择建立数据库’,也可以选择‘只安装软件’,后者可在安装好软件后,建立数据库,可参考网上的很多安装步骤。
2、Oracle的默认用户有sys和system,在命令行或者sQl*plus中登陆时,写法如下:
Connectsys/123456assysdba;其中123456是密码,在创建数据库的时候设置的。
普通用户登录,connectzhangsan/123456;
3、grantselect不支持对表中选定的几列授权,只能将整个表的select权限授权出去。所以实验中先建立了基于选课信息表的视图SelectiveInfo1,视图中包含成绩列,学号列以及班级列(不包含其他的列),再将对视图SelectiveInfo1的select权限授予角色teacher。
4、创建用户的时候,一定要说明该用户对表空间的权限即(quotaunlimitedontablespace或者具体限定大小的句子),否则该用户即使被授予了建表权限,也不能建表。
创建用户的时候必须给用户授予createsession的权限,这是最基本的权限。
5、不同的用户可以创建相同的表格,例如,teacher用户创建了table1,student 用户也创建了table1,且这两个表格式完全相同的,那么其他用户需要用这两个表格时,可以用teacher.table1和student.table1加以区分。系统用户创建的
表,和用户自己创建的表,本用户引用是可不加前缀。6、oracle有自带的密码验证函数,默认情况下是不启用的,可以用下面的语句启用,注意必须以Connectsys/123456assysdba的身份登陆(其他DBA身份的用户可不可以,本人没有试过)才能启用密码函数,启用方式如下
7、将日期装换为字符串可以to_char()函数,将字符串转换为日期用to_date()函数。网上有很多这两个函数的资料。
8、Xml数据库使用的简单举例(具体路劲写法好像不对,只要将改改‘//’为‘/’并把路径写全就可以了,路径的用法其实是xpath技术)
建立含xmltype数据的表
createtableabc(idnumber,xmldocsys.xmltype);
向表中插入数据
insertintoabc(id,xmldoc)values(1,
sys.xmlType.createXML(““
abc”“));
查询表中的数据:
得到id=1的value变脸的值select
i.xmldoc.extract(““//name/a[@id=1]/@value”“).getStringVal()asenna mes,id
fromabci
得到a节点的值
selectid,i.xmldoc.extract(“/name/a/text()”).getStringVal()astruenam e
fromabci
得到节点id属性的值
Selecthd.Data_t.extract(““/root/name/@id”“).getStringVal()AsName FROMsehr_house_datahd
扩展阅读:ORACLE实训总结
1、Conn/assysdba:
以sysdba连接数据库,在这里可以解锁system、hr(oracle内建的用户名)、scott(oracle内建的用户名)用户,并修改它们的密码。2、修改密码:
Alteruseridentifiedby3、解锁用户:
Alteruseraccountunlock
4、解锁hr、scott,并修改system、hr、scott密码Alteruserhraccountunlock;Alteruserscottaccountunlock;Alteruserhrident ifiedbyk;Alteruserscottidentifiedbyk;Alterusersystemidentifiedbyk;
5、连接网络数据库
在\\product\\10.0.2\\db_1\\NETWORK\\ADMIN\\tnsname.ora文件中添加内容:test=(
DESCRIPTION=
(ADDRESS=(PROTOCOL=TCP)(HOST=)(PORT=1521))(CONNECT_DATA=(SERVER=DEDIC ATED)(SERVICE_NAME=orcl)))
连接数据库时,输入:conn/@test6、创建用户的语句以创建用户名hr为例:Connsystem/assysdba;//连接到指定数据库Dropuserhrcascade;//如果hr用户名已存在的话删除该用户名
Createuserhridentifiedbyhrdefaulttablespaceuserstemporarytablespacete mp;//创建用户hr
Hostimphr/hrfile=\\hr.dmplog=\\1.logfromuser=hrtouser=hrignore=y;7、hr环境搭建
connhr/k:以用户名hr、密码k连接数据库
createtableEMP(EMPNONUMBER(6)notnull,ENAMEVARCHAR2(25),HIREDATEDATE,J OBVARCHAR2(10),SALNUMBER(8,2),COMMNUMBER(2,2),DEPTNONUMBER(4)
); INSERTINTOEMPSELECT
EMPLOYEE_ID,LAST_NAME,HIRE_DATE,JOB_ID,SALARY,COMMISSION_PCT,DEPARTME NT_IDFROMEMPLOYEES;createtableDEPT(DEPTNONUMBER(4)notnull,DNAMEVARCHA R2(30),LOCNUMBER(4)
); INSERTINTODEPT
SELECTDEPARTMENT_ID,DEPARTMENT_NAME,LOCATION_IDFROMDEPARTMENTS;
createtableemp_jobasselectempno,jobfromempwhere1=2;
insertintoemp_job(empno,job)selectempno,jobfromempwheredeptno=30;crea tetablenew_emp(id,name)asselectempno,enamefromemp;createtableSALGRADE S(grade_levelvarchar2(4),lowest_salaryNUMBER,highest_salaryNUMBER );
insertintosalgradesvalues(“L1”,1000,2999);insertintosalgradesvalues (“L2”,3000,5999);insertintosalgradesvalues(“L3”,6000,8999);insert intosalgradesvalues(“L4”,9000,14999);insertintosalgradesvalues(“L5”,15000,22999);insertintosalgradesvalues(“L6”,23000,30000);commit;
8、SQL语句的分类DQL:dataquerylanguage数据查询语
言:selectDML:datamanipulationlanguage数据操作语言