Oracle使用指南文档格式.docx
- 文档编号:18345501
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:29
- 大小:2.90MB
Oracle使用指南文档格式.docx
《Oracle使用指南文档格式.docx》由会员分享,可在线阅读,更多相关《Oracle使用指南文档格式.docx(29页珍藏版)》请在冰豆网上搜索。
第十三步:
安装完成前弹出提示页面,点击[口令管理]解锁系统用户帐号,可以重新设置口令(第十步已设置了口令)
第十四步:
安装完成
1.2数据库创建与删除
1.2.1数据库创建
进入[DatabaseConfigurationAssistant]工具界面。
新建一个SID与全局数据库名。
全局数据库名与SID是一一对应的。
创建后将在系统服务列表出现OracleServicenewDB服务。
1.2.2数据库删除
1.3配置监听器
监听器是Oracle基于服务器端的一种网络服务,主要用于监听客户端向数据库服务器端提出的连接请求。
既然是基于服务器端的服务,那么它也只存在于数据库服务器端,进行监听器的设置也是在数据库服务器端完成的。
配置如下:
1、程序菜单中启动NetManage,选中[监听程序],再点击增加[+]按钮
2、设置‘监听位置’,主机文本框中输入主机名称或IP地址(如果主机即用作服务端也作为客户端,输入两项之一均有效;
如果主机作为服务端并需要通过网络连接,建议输入IP地址),端口文本框中输入数字端口,默认是1521,也可以自定义任意有效数字端口
3、设置“数据库服务”,点击[添加数据库]按钮。
在出现的数据库栏中输入全局数据库名,全局数据库名实际通过域名来控制在同一网段内数据库全局命名的唯一性,就如Windows下的域名控制器,如这里输入myoracle.192.168.1.5。
Oracle主目录可以不填写,输入SID,如myoracle。
完整的数据库服务配置如下图示:
服务端配置完监听后,在控制面板-管理工具-服务中找到监听服务启动它。
服务进程管理
1.4配置服务名
Oracle客户端与服务器端的连接是通过客户端发出连接请求,由服务器端监听器对客户端连接请求进行合法检查,如果连接请求有效,则进行连接,否则拒绝该连接。
本地服务名是Oracle客户端网络配置的一种,另外还有Oracle名字服务器(OracleNamesServer)等。
Oracle常用的客户端配置就是采用的本地服务名。
本地服务名是用于Oracle客户端的网络配置,所以,如果客户端需要连接数据库服务器进行操作,则需要配置该客户端,当然数据库服务器自身充当客户端访问时也需要配置服务名。
1、程序菜单中启动NetManage,选中[服务命名],再点击增加[+]按钮
2、输入Net服务名,如myoracle后,点击下一步,进入下图示对话框:
选中TCP/IP(Internet协议),点击下一步
3、输入服务器的主机名与端口号。
点击下一步
4、进入下图,服务名是刚刚配置的
5、测试配置成功与否
6、服务名除了通过界面操作还可以直接编辑oracle\network\admin\tnsnames.ora文件。
两种方式都能创建服务名。
文件编辑形式如下:
SERVER_33=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=133.64.46.99)(PORT=1521))
)
(CONNECT_DATA=
(SID=stoadb1)
(SERVER=DEDICATED)
1.5服务启动
Oracle实例(Instance)也称为Oracle服务器(Server),简称SID,在安装Oracle时要求指定。
使用Oracle时需要在控制面板-管理工具-服务,找到OracleServicexxx,其中"
xxx"
就是你的数据库实例的名称,然后启动这个服务
1.6数据库启动
界面启动:
服务端配置完监听,客户端配置完服务名,在服务端控制面板中‘服务’列表中启动OracleService*和Oracle*Listener监听器,客户端开始访问服务端数据库。
Oracle系统的用户及密码:
scott/tiger、system/manage、sys/change_on_install
命令启动:
1>
启动服务器端监听器与数据库服务:
Linux/Unix下,启动监听器:
$lsnrctlstart。
关闭监听器:
$lsnrctlstop。
查看监听状态:
$lsnrctlstatus。
启动数据库:
$sqlplus/nolog。
SQL>
connsys@myoracleassysdba--这里myoracle是前面配置的客户端本地服务名。
conn/assysdba
startup
Windows下,启动监听器:
C:
\lsnrctlstart。
启动Oracle实例服务:
\oradim–startup–sidmyoracle。
关闭Oracle实例服务:
\oradim–shutdown–sidmyoracle。
以上服务必须同时启动,客户端才能连接数据库。
由于默认配置的监听器名称是Listener,上述命令可以正常启动监听器,如果监听器名称是其它名称,如aListener,则需要用下列方式才能启动:
Linux/Unix下:
$lsnrctlstartaListener。
Windows下:
\lsnrctlstartaListener。
1.6.1数据库常见启动错误
1、ORA-12541:
TNS:
没有监听器:
显而易见,服务器端的监听器没有启动,另外检查客户端IP地址或端口填写是否正确。
启动监听器:
$lsnrctlstart或C:
2、ORA-12500:
监听程序无法启动专用服务器进程:
对于Windows而言,没有启动Oracle实例服务。
启动实例服务:
\oradim–startup-sidmyoracle。
3、ORA-12535:
操作超时:
出现这个问题的原因很多,但主要跟网络有关。
解决这个问题,首先检查客户端与服务端的网络是否畅通,如果网络连通,则检查两端的防火墙是否阻挡了连接。
4、ORA-12154:
无法处理服务名:
检查输入的服务名与配置的服务名是否一致。
另外注意生成的本地服务名文件(Windows下如D:
\oracle\ora92\network\admin\tnsnames.ora,Linux/Unix下
$ORACLE_HOME/network/admin/tnsnames.ora)里每项服务的首行服务名称前不能有空格。
5、ORA-12514:
监听进程不能解析在连接描述符中给出的SERVICE_NAME打开NetManager,选中服务名称,检查服务标识栏里的服务名输入是否正确。
该服务名必须与服务器端监听器配置的全局数据库名一致。
6、Windows下启动监听服务提示找不到路径:
用命令或在服务窗口中启动监听提示找不到路径,或监听服务启动异常。
打开注册表,进
HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleOraHome92TNSListener项,查看ImagePath字符串项是否存在,如果没有,设定值为
D:
\oracle\ora92\BIN\TNSLSNR,不同的安装路径设定值做相应的更改。
这种方法同样适用于Oracle实例服务,同上,找到如同HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/OracleServiceMYORACLE项,查看ImagePath字符串项是否存在,如果没有,则新建,设定值为d:
\oracle\ora92\binORACLE.EXEMYORACLE。
1.7数据库说明
数据库的具体应用步骤:
1、orcale创建一个全局数据库(即服务名)
2、再创建不同的用户和不同的表空间。
在oralce中不同的用户就相当于不同的实例数据库名称。
不同的用户可以使用同一个表空间,也可以使用不同的表空间。
用户创建可以使用PLSQL工具的图形化界面,也可使用SQL语句。
表空间的创建通过SQL语句
2工具使用
2.1TOAD
Database指配置好的本地服务名,接下来是数据库用户名及密码。
在本地服务名里配好了数据库ip,端口,数据库实例SID
2.2PL/SQL
连接工具界面。
数据库指本地服务名
2.3SQL*Plus
在sqlplus可以输入三种命令:
1、SQL命令:
对数据库的信息进行操作。
2、PL/SQL程序块:
3、SQL*PLUS命令:
格式化查询结果,设置运行选项,编辑和存储SQL和PL/SQL命令
SQL登录(下图为登录界面)
用户名:
数据库用户名
口令:
数据库用户密码
主机字符串:
全局数据库名(本地服务名)
3数据类型
Char用于描述定长的字符型数据,长度<
=2000字节
varchar2用于描述变长的字符型数据,长度<
=4000字节
nchar存储Unicode字符集的定长字符型数据,长度<
=1000字节
nvarchar2存储Unicode字符集的变长字符型数据,长度<
number用来存储整型或者浮点型数值
Date用来存储日期数据
Long用来存储最大长度为2GB的变长字符数据
Raw用来存储非结构化数据的变长字符数据,长度<
Longraw用来存储非结构化数据的变长字符数据,长度<
=2GB
rowid存储表中列的物理地址二进制数据,占用固定的10个字节
Blob用来存储多达4GB的非结构化的二进制数据
Clob用来存储多达4GB的字符数据
nclob用来存储多达4GB的Unicode字符数据
Bfile把非结构化的二进制数据存储在数据库以外的操作系统文件中
urowid用来存储表示任何类型列地址的二进制数据
4SQL语法
4.1查看数据库编码
select*fromnls_database_parameters
其中:
NLS_CHARACTERSET是db中定义的varchar类型的编码方式
NLS_NCHAR_CHARACTERSET是db中定义的nvarchar类型的编码方式
4.2查看表空间使用率
SELECTTOTAL.TNAME"
表空间名称"
TOTAL.TOTAL_SIZE"
表空间大小M"
TOTAL.TOTAL_SIZE-USED.FREE_SIZEAS"
已使用大小"
USED.FREE_SIZEAS表空间剩余大小,
ROUND((TOTAL.TOTAL_SIZE-USED.FREE_SIZE)/TOTAL.TOTAL_SIZE,4)*100||'
%'
AS表空间使用率
FROM(
--表空间数据文件的大小
SELECTTABLESPACE_NAMEASTNAME,
ROUND(SUM(USER_BYTES)/(1024*1024),1)ASTOTAL_SIZE
FROMDBA_DATA_FILES
GROUPBYTABLESPACE_NAME)TOTAL,
(
--表空间剩余的大小
ROUND(SUM(BYTES)/(1024*1024),1)ASFREE_SIZE
FROMDBA_FREE_SPACE
GROUPBYTABLESPACE_NAME)USED
WHERETOTAL.TNAME=USED.TNAME(+)
4.3分页查询
selectd.*fromrbac_orgdwhererownum<
10从零开始显示前9条记录
select*from(selectrownumn,d.*fromrbac_orgd)cwherec.n>
10andc.n<
20
从第11条记录开始显示9条记录
4.4设置别名
select*fromwfs_process_defprwherepr.process_namelike'
%西安%'
//设置表别名
selectnameas名字fromuser.//结果集字段显示为别名
4.5树形查询
startwith....connectby
selectlevel,part_id,parent_id,part_cname,part_ename,mp_cost,desribe
fromautomobiles
startwithpart_id=1part_id要从根开始,所以这里值为根值
connectbypriorpart_id=parent_idpart_id是每条记录id,parent_id是每条记录父id
orderbylevel;
树结构的表中起始根节点的层号始终为1,根节点的子节点为2,依此类推。
因此在sql中可以使用内置的level。
例1:
查询指定组织id下所有子组织
select*fromrbac_orgr
startwithr.org_id='
50000001'
connectbypriorr.org_id=r.parent_org_id
例2:
查询指定组织id上面所有父组织
select*fromrbac_orgr
50000048'
connectbypriorr.parent_org_id=r.org_id
4.6基本查询
showuser显示当前用户
connect用户名/密码[@主机字符串]连接数据库
selectsysdatefromdual查询时期
selectuserfromdual等同于showuser
select213*12312fromdual计算
select*fromtab[wheretname=”…..”]
select*fromtab字典表中查出所有的表
savepoint设置回滚名
rollbackto回到回滚处
/重新执行上次命令
run同/,将上次命令显示出
select*fromscott.table_name当前用户A高于用户B,则A可访问B数据
spool盘符\文件名将sql保存到文件中
spolloff结束假脱机命令
@盘符\文件名.sql执行脚本文件
4.7with....as
充当临时表,可将查询的记录放到临时表以待使用。
例
withorgsas(
selectrownumrm,ro.*
fromrbac_orgro
startwithro.org_id='
connectbypriorro.org_id=ro.parent_org_id
orderbyto_number(ro.org_id)
)
selectcount(r.user_id),rs.org_id,og.org_namefromrbac_userr
leftjoinrbac_staffrsonrs.staff_id=r.personnel_id
leftjoinorgsogonog.org_id=rs.org_id
whereog.org_idisnotnull
groupbyrs.org_id,og.org_name
蓝色部门查询到的记录放到了临时表中,临时表名为with与as中间的字符orgs
4.8创建用户
createusersxtelecom(用户名)
identifiedbysxtelecom(密码)
defaulttablespaceUSERS
temporarytablespaceTEMP;
--分配权限
grantconnecttosxtelecom;
grantresourcetosxtelecom;
4.9Rowid
selectrowidfield_namefromtable_name
为每一记录自动添加物理地址,是查找记录的最快方法
selectfield_namefromtable_namewhererownum<
=5
查找前5个某字段
4.10约束
约束有外键、check(空值是否允许)、Unique
createtabletable_name(
field_namevarchar2(333)unique/check(field_name>
=?
?
创建约束
altertabletable_nameaddconstraintconstraint_nameunique(field_name)建表后加约束
altertabletable_namedisable/enableconstraintconstraint_name禁止或启用约束
altertabletable_namedropconstraintconstraint_name删除约束
4.11表空间
创建表空间
createtablespaceOA_DATA
logging
datafile'
\software\oradata\pop\OA_DATA.dbf'
size32m
autoextendon
next32mmaxsize2048m
extentmanagementlocal;
查看当前数据库所有空间的数据情况
SELECTA.TABLESPACE_NAME,A.BYTESTOTAL,B.BYTESUSED,C.BYTESFREE,
(B.BYTES*100)/A.BYTES"
%USED"
(C.BYTES*100)/A.BYTES"
%FREE"
FROMSYS.SM$TS_AVAILA,SYS.SM$TS_USEDB,SYS.SM$TS_FREEC
WHEREA.TABLESPACE_NAME=B.TABLESPACE_NAMEAND
A.TABLESPACE_NAME=C.TABLESPACE_NAME;
查看表空间情况
1.查看所有表空间大小,单位M
selecttablespace_name,sum(bytes)/1024/1024fromdba_data_files
groupbytablespace_name;
2.未使用的表空间大小
selecttablespace_name,sum(bytes)/1024/1024fromdba_free_space
3.所以使用空间可以这样计算
selecta.tablespace_name,total,free,total-freeusedfrom
(selecttablespace_name,sum(bytes)/1024/1024totalfromdba_data_files
groupbytablespace_name)a,
(selecttablespace_name,sum(bytes)/1024/1024freefromdba_free_space
groupbytablespace_name)b
wherea.tablespace_name=b.tablespace_name;
4.下面这条语句查看所有segment的大小
SelectSegment_Name,Sum(bytes)/1024/1024FromUser_ExtentsGroupBySegment_Name
5.还有在命令行情况下如何将结果放到一个文件里
spoolout.txt
select*fromv$database;
spooloff
6.如何查看oracle临时表空间当前使用了多少空间的大小?
不是占用量,是当前正在使用的临时表空间大小
SELECTSE.USERNAME,
SE.SID,
SU.EXTENTS,
SU.BLOCKS*TO_NUMBER(RTRIM(P.VALUE))ASSPACE,
TABLESPACE,
SEGTYPE,
SQL_TEXT
FROMV$SORT_USAGESU,V$PARAMETERP,V$SESSIONSE,V$SQLS
WHEREP.NAME='
db_block_size'
ANDSU.SESSION_ADDR=SE.SADDR
ANDS.HASH_VALUE=SU.SQLHASH
ANDS.ADDRESS=SU.SQLADDR
ORDERBYSE.USERNAME,SE.SID;
7.查询所有的表空间
selecttablespace_namefromdba_tablespaces
8.查看表空间中分布的用户信息
selecttablespace_name,owner,sum(bytes)fromdba_segments
groupbytablespace_name,owner
9.查看表空间已经使用的百分比
selecta.tablespace_name,a.bytes/1024/1024"
SumMB"
(a.bytes-b.bytes)/1024/1024"
usedMB"
b.bytes/1024/1024"
freeMB"
round(((a.bytes-b.bytes)/a.bytes)*100,2)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Oracle 使用指南
![提示](https://static.bdocx.com/images/bang_tan.gif)