oracle学习大全.docx
- 文档编号:30348050
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:134
- 大小:91.50KB
oracle学习大全.docx
《oracle学习大全.docx》由会员分享,可在线阅读,更多相关《oracle学习大全.docx(134页珍藏版)》请在冰豆网上搜索。
oracle学习大全
一、数据库语言部分
1.SQL语言:
关系数据库的标准语言
2.PL/SQL:
过程化语言ProceduralLanguage
3.SQL*Plus:
简单的报表,操作系统接口
4.Oracle8.01后出现:
(1)数据分区技术:
只适用8.01后的版本,数据分散存放,不要放在一个硬盘上,I/O性能好,安全性能好。
(2)对象技术:
存储过程、函数、包、数据库触发器、动态SQL编程
(3)数据库权限管理
(4)数据完整性约束(DataIntegrityConstraints)
二、Oracle数据库核心,数据库管理员DBA
数据库的管理与日常维护
数据库总体设计
数据库存储结构设计:
物理结构、逻辑结构
/**************************************************************************************************
可以运行Oracle的操作系统:
UNIX:
SunSolaris,HP-UX,AIX,Compaq-Tru64,SCO-UNIX和Linux(运行在PC机上)
WindowsNT/2000
P4机器上不能安装Oracle,要想安装需要对安装文件进行修改或者下载补丁程序
在P4机器上安装Oracle的方法(只限于IntelP4机器):
将Oracle的安装光盘拷贝到硬盘上,然后将\stage\components\oracle.swp.jre\win32\bin\symcjit.dll文件改名为symcjit.org,然后再开始安装。
***************************************************************************************************/
数据库的备份与恢复
优化与性能调整
三、应用系统开发
四、应用服务器OAS
五、在WindowsNT/2000下清除Oracle8i运行环境(重新安装前的准备工作):
1.删除Oracle8i注册表:
regedit.exe=>HKLM=>Software=>ORACLE
2.删除Oracle8i服务:
regedit.exe=>HKLM=>System=>CurrentControlset=>Services=>以Oracle开头的服务
3.删除Oracle8i事件日志:
regedit.exe=>HKLM=>System=>CurrentControlset=>Services=>Eventlog=>Application=>以Oracle开始的事件
4.删除WindowsNT/2000安装磁盘\ProgramFiles\Oracle目录。
5.删除Oracle8i环境变量
控制面板=>系统=>高级=>环境变量
(1)删除CLASSPATH
(2)编辑PATH,将其中与Oracle有关系的路径删除。
6.删除Oracle8i菜单
7.重新启动WindowsNT/2000,停止服务。
8.删除Oracle8i主目录。
/*
IP:
75.64.16.X
Mask:
255.255.248.0
GateWay:
75.64.16.3
DNS:
75.64.16.3
*/
[七、Oracle网络配置]
/*
(1)查询数据库名:
SQL>selectnamefromv$database;
(2)查询数据库实例名:
SQL>selectinstance_namefromv$instance;
(3)查询数据库服务名:
SQL>selectvaluefromv$parameterwherename='service_names'; //(小写)
(4) 查询全局数据库名(sys用户):
SQL>selectvalue$fromprops$wherename='GLOBAL_DB_NAME'; // 字符串区分大小写
*/
1. Oracle网络驱动使用SQL*Netv2.0连接
OracleforWin98->SQL*Net EasyConfiguration
2.Oracle网络驱动使用Net8连接
3.Oracle网络驱动使用Net8i连接
Oracle程序组->NetworkAdministration->Net8Assistant
[创建TNS连接过程]:
(1)启动Net8Assistant
(2)本地->服务命名
(3)编辑->创建...
(4)第一页:
网络服务名:
给要使用的网络数据库在本机指定一个HostString,自己定义。
(5)第二页:
协议:
TCP/IP(Internet协议)
(6)第三页:
主机名:
输入对方机器的IP地址或域名。
端口号:
默认是1521,一般不需要修改。
(7)第四页:
(Oracle8i)服务名:
输入网络数据库的服务名
(8)第五页:
完成。
(9)菜单:
文件->保存网络配置。
监视用户会话:
SQL>selectusername,sid,serial#,machinefromv$session;
删除用户会话:
SQL>altersystemkillsession'sid,serail#';
/*练习
sqlplusstud01/stud01
SQL>showuser
SQL>select*fromemp;
SQL>select*fromdept;
*/
[//使用下面的方法可以重复执行上一条SQL语句(在SQL*Plus中)
SQL>l //小写字母L,显示上一条SQL语句
1*selectusername,sid,serial#,machinefromv$session
SQL>/ // 正斜杠:
重复执行上一条SQL语句
SQL>setlinesize1000 //将SQL*Plus中显示行宽设成1000个字符。
SQL>connectsystem/manager@orasjz //在SQL*Plus中直接连接到另一台机器上的数据库,@字符后是另一台机器的tnsname
]
4.手工配置Oracle网络连接:
主要是配置"tnsnames.ora"文件。
A.手工配置Oracle网络连接配置文件:
tnsnames.ora
(1)在UNIX中:
/u01/app/oracle/product/8.1.6/network/admin/tnsnames.ora
(2)在Windows98/NT/2000中:
d:
\oracle\ora81\network\admin\tnsnames.ora
B.手工配置Oracle监听进程配置文件:
listener.ora
(1)在UNIX中:
/u01/app/oracle/product/8.1.6/network/admin/listener.ora
UNIX下启动进程命令:
$lsnrctlstart //启动监听进程
$lsnrctlstatus //显示监听进程状态
$lsnrctlstop //停止监听进程
(2)在Windows98/NT/2000中:
d:
\oracle\ora81\network\admin\listener.ora
启动进程的命令与UNIX相同。
#LISTENER.ORANetworkConfigurationFile:
d:
\Oracle\Ora81\network\admin\listener.ora
#GeneratedbyOracleconfigurationtools.
LISTENER=
(DESCRIPTION_LIST=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0))
)
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=ORA54)(PORT=1521))
//注意:
上面一行的HOST必须是你的主机名,否则监听会出问题,也可以使用你的机器的IP地址
)
)
(DESCRIPTION=
(PROTOCOL_STACK=
(PRESENTATION=GIOP)
(SESSION=RAW)
)
(ADDRESS=(PROTOCOL=TCP)(HOST=ORA54)(PORT=2481))
)
)
SID_LIST_LISTENER=
(SID_LIST=
(SID_DESC=
(SID_NAME=PLSExtProc)
(ORACLE_HOME=d:
\Oracle\Ora81)
(PROGRAM=extproc)
)
(SID_DESC=
(GLOBAL_DBNAME=ora54)
(ORACLE_HOME=d:
\Oracle\Ora81)
(SID_NAME=ora54) //注意:
ora54为数据库的SID名称,不能更改,否则监听出问题
)
)
5.将主机字符串(HostString)写入注册表(简化SQL*Plus的登录)
regedit.exe->HKLM->Software->Oracle->home0
增加关键字:
local(字符串),键值:
主机字符串名。
/*将下面的内容复制到一个.reg文件中,在Windows2000中双击执行,即可实现增加或者修改local键值的作用
WindowsRegistryEditorVersion5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME0]
"local"="ora54"
*/
[SVRMGRL:
ServerManager的使用方法]
D:
\>svrmgrl
OracleServerManagerRelease3.1.6.0.0-Production
版权所有(c)1997,1999,OracleCorporation。
保留所有权利。
Oracle8iEnterpriseEditionRelease8.1.6.0.0-Production
WiththePartitioningoption
JServerRelease8.1.6.0.0-Production
SVRMGR>connectinternal //使用svrmgrl,进入后使用的第一个命令必须是这个命令。
口令:
//如果要求输入口令,请输入oracle
连接成功。
SVRMGR>selectnamefromv$database; //检查当前使用的数据库名
NAME
---------
ORA44
已选择1行。
SVRMGR>shutdownimmediate //关闭当前使用的数据库
已关闭数据库。
已卸下数据库。
已关闭ORACLE实例。
SVRMGR>startup //启动当前使用的数据库,如果无效,请使用startupforce
已启动ORACLE实例。
系统全局区域合计有 24433932个字节
FixedSize 70924个字节
VariableSize 7507968个字节
DatabaseBuffers 16777216个字节
RedoBuffers 77824个字节
ORA-00205:
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
?
SVRMGR>
[另一个启动oracle数据库的例子]
d:
\>sqlplusinternal/oracle
SQL>startupforce //强行重新启动数据库。
[修改口令字]
SQL>grantconnecttosystemidentifiedbyNewPassword; //如果用数字作口令,需要使用双引号括起来
SQL>grantconnecttosysidentifiedbyNewPassword;
SQL>alterusersystemidentifiedbyNewPassword;
SQL>alterusersysidentifiedbyNewPassword;
SQL>password //需要输入原口令
//注:
以上修改口令的方法等价;sys与system用户可以互相修改口令;如果sys与system用户的口令都忘记了,使用如下方法:
D:
\>svrmgrl
OracleServerManagerRelease3.1.6.0.0-Production
版权所有(c)1997,1999,OracleCorporation。
保留所有权利。
Oracle8iEnterpriseEditionRelease8.1.6.0.0-Production
WiththePartitioningoption
JServerRelease8.1.6.0.0-Production
SVRMGR>connectinternal/oracle
连接成功。
SVRMGR>grantconnecttosystemidentifiedbymanager;
语句已处理。
SVRMGR>exit
服务器管理程序结束。
[2002.04.18]
//=========================================================================================================
八、Oracle产品组成
查询数据库选件产品:
SQL>select*fromv$option;
一般都是True,如果是False,可以双击激活。
/*cartridges(小产品的)插件,(大产品的)选件(options)*/
[SYS用户是Oracle数据库中权限最大的用户。
]
[SQL*Plus登录方法]
1.c:
\>sqlplus"/assysdba"
2.c:
\>sqlplusinternal
//注意:
以上两种方法可以类似的使用于SQL*Plus的图形登录界面中
//用这种登录方法登录进去,所使用的用户均为SYS。
[之所以会出现这种登录方法,是因为在NT的用户组中存在一个ORA_DBA的本地组,凡在此组中的用户使用操作系统认证,即在此组中的用户登录数据库时不需要密码。
]
[orapwd命令:
修改internal用户的口令字]
/*orapwd的命令行参数
D:
\>orapwd
Usage:
orapwdfile=
where
file-nameofpasswordfile(mand),
password-passwordforSYSandINTERNAL(mand),
entries-maximumnumberofdistinctDBAandOPERs(opt),
Therearenospacesaroundtheequal-to(=)character. */
修改internal口令字(internal默认口令为oracle)认证方法(AB两个步骤):
A.修改Oracle登录认证方法:
修改文件SQLNET.ORA文件。
SQLNET.AUTHENTICATION_SERVICES=(NTS)//将这一行前面加上#号注释掉,即可将Oracle的认证方法由操作系统认证改为Oracle认证
SQLNET.ORA文件的位置:
UNIX:
/u01/app/oracle/product/8.1.6/network/admin/sqlnet.ora
WindowsNT/2000:
d:
\oracle\ora81\network\admin\sqlnet.ora
B.修改Internal口令字:
WindowsNT/2000:
C:
\>ORAPWDfile=d:
\oracle\ora81\database\pwdora8i.ora
password=YourPassword //YourPassword为你要设置的密码
entries=30
/*ORAPWDfile=d:
\oracle\ora81\database\pwdora54.orapassword=qeventries=30*/
UNIX:
$orapwdfile=$ORACLE_HOME/dbs/orapwSID
password=YourPassword
entries=30
然后重新启动Oracle服务(服务->OracleServiceHOSTNAME)。
/*在执行上述命令之前,需要先将相应目录的pwdora8i.ora(或orapwSID)文件删除或者改名,因为口令字文件不能重名。
*/
[tkprof跟踪文件整理工具]
$tkprofx.trcx.txt
Windows2000/NT:
d:
\oracle\admin\db_name\udump\*.trc
UNIX:
/u01/app/oracle/amdin/db_name/udump/*.trc //*/
九、Oracle数据分区技术:
8.0以后开始使用
(一)LOB(LargeObject)大对象类型数据:
1.BLOB:
存储二进制数据,如图象、视频、声音等,用于代替Longraw类型(Oracle7.0以前的数据类型,今后不再支持)
2.CLOB:
存储大字符,如:
个人简历,用于代替long字段。
3.NCLOB:
其它民族语言的支持
(1)数据库字符集NLS:
Server端:
NLS_CHARACTERSET:
(如果为以下的字符集,Oracle的数据库可以用来存储汉字)
ZHS16GBK(Oraclei8,Oracle8)
ZHS16CGB231280(Oracle7.3,8,8i)
此参数位置在数据字典中,查询核心字符集(语言、日期、货币等):
SQL>select*fromnls_database_parameters;
Client端:
NLS_LANG=SimplifiedChinese_CHINA.ZHS16GBK(如果没有设置,默认是英文)
regedit.exe
UNIXClient中:
$NLS_LANG="simplifiedchinese"_china.zhs16gbk
$exportNLS_LANG
//一般将上述环境变量放入.profile文件中。
/***********************************************插入内容********************************************************
(1)sys是一种用户,internal是一种方式,用来启动关闭数据库,9.0以后不再使用internal,全部是sys。
(2)SQL>setcomv7 //将8i版本暂时退回到7版
(3)SQL>altersystemsuspend;//使用internal用户执行,冻结数据
SQL>altersystemresume; //取消冻结,恢复正常
****************************************************************************************************************/
(2)Oracle数据库核心字符集修改方法:
[*]修改数据字典(使用SYS用户):
SQL>updateprops$setvalue$='ZHS16GBK'wherename='NLS_CHARACTERSET';
SQL>commit;
然后重新启动数据库。
4.BFILE:
外部文件存储,将数据存储在服务器硬盘
十、Oracle8i数据库改变:
1.网络计算数据库
2.支持IFS(InternetFileSystem)
3.集成Java虚拟机
[数据库语言]
第一章 SQL语言基础
一、什么是SQL语言:
StructuredQueryLanguage---- 结构化查询语言
SQL*Plus支持的SQL语言:
1.SQL语言(标准的SQL语言)
2.SQL*Plus语言(非标准):
报表或接口
3.PL/SQL语言(非标准):
程序开发(例如存储过程)
二、SQL语言特点:
1.非过程化语言
2.功能强
3.提供视图功能
4.两种使用方式
(1)交互式
(2)程序式:
SQL>@filename.sql
5.提供数据控制
三、SQL语言分类:
1.数据查询语言(QL):
QueryLanguage
2.数据操纵语言(DML):
包括数据的插入、更新和删除,DataManipulationLanguage
3.数据定义语言(DDLDataDefinitionLanguage):
建表、建视图、建存储过程等
4.数据控制语言(DCLDataControlLanguage):
事务控制、包括权限等
四、SQL关键字(命令)
SQL关键字(以下命令为SQL命令,以分号结束)
1.Alter:
修改表结构
2.Audit:
审计, NoAudit(取消审计)
3.Commit:
数据提交,相反的命令:
Rollback(回退)
4.Comment:
将oracle的注释写入数据字典
5.Create:
建表、数组、索引、视图等, 相反的命令:
Drop
6.delete:
删除表中的数据, Drop是把
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- oracle 学习 大全
![提示](https://static.bdocx.com/images/bang_tan.gif)