oracle 数据库基础
$ORACLE_HOME/network/log/listener.log ? 启动侦听程序: $lsnrctl start ? 侦听程序状态: $lsnrctl status ? 终止侦听程序: $lsnrctl stop
组态文件设置: 组态文件名称 Listener.ora Tnsnames.ora 设置内容说明 侦听程序执行记录文件 客户端 服务器端 ● 描述数据库主机所有侦听程序的名称与网址以及数据库SID 描述客户端会连上的每一个目标数据库位置,并各配以一专用之服务名称,以便在联机时指明 ● ● Sqlnet.ora 设置SQL*Net执行时诊断错误用的选项参数,若只用到默认值的话可以不需要该组态文件 ● ● 设置listener.ora组态文件 同一台主机所启动的各个listener共享同一个listener.ora组态文件,该组态文件的设置包括以下几个部分: 1) listener名称
2) listener的侦听对象地址:这里需要列出与listener进行通讯的所有对象,包括使用进程间调用(IPC)的本地客户端应用程序与ORACLE数据库的共享调度程序(Shared Dispatcher)、使用TCP/IP、SPX/IPX或DECNet的远程客户端应用程序等
3) 使用这个listener的数据库:必须列出这台主机上所有共享此listener的数据库SID
listener.ora组态文件设置范例:
LISTENER1=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)
(KEY=ZXIN_IPC))#ZXIN_IPC为本地用户所用的Service Name(ADDRESS=(PROTOCOL=IPC)(KEY=ZXIN))#ZXIN为数据库SID,给Dispatcher用(ADDRESS=(PROTOCOL=TCP)(HOST=H80_1)(PORT=1521)#供远程的TCP/IP网络用户联机使用)
SID_LIST_LISTENER1=#定义这台主机中使用的(SID_LIST= LISTENER1数据库
有哪些(SID_DESC=(SID_NAME=ZXIN)(ORACLE_HOME=/home/oracle/orahome)
设置tnsnames.ora组态文件
tnsnames.ora组态文件只需要用于客户端,设置包括两个部分:
23
oracle 数据库基础
1) Service名称:设置一个联机模式的代表名称,当远程用户或服务器程序与数据库联机时,就可以简单指出Service名称即可
2)联机模式数据:包括远程数据库的listener地址与数据库SID,分别写在ADDRESS与CONNECT_DATA参数中
tnsnames.ora组态文件设置范例: ZXIN_IPC=
(
DESCRIPTION=
(
ADDRESS=
(
PROTOCOL=IPC
)
(KEY=ZXIN_IPC)) #配合listener.ora中的定义(CONNECT_DATA=(SID=ZXIN)) #定义联机数据库的SID)
ZXIN=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=H80_2)
(PORT=1521)) #定义联机主机地址和端口号(CONNECT_DATA=(SID=ZXIN))#定义联机数据库的SID)
ZX192_200_1_133=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)
(HOST=H80_2)(PORT=1521)) #定义联机主机地址和端口号(CONNECT_DATA=(SID=ZXIN))#定义联机数据库的SID)
客户端联机范例:
$sqlplus zxinconfig/zxinconfig@zxin_ipc $sqlplus zxinconfig/zxinconfig@zxin
$sqlplus zxinconfig/zxinconfig@zx192_200_1_133
第六部分 DBA常用查询指令
dba常用指令列表:
显示所有参数极其设置值 Show parameter 或 Select * from v$parameter; 显示所有NLS参数可设置的值 显示所有参数中有】dest】字符串的参数极其设置值 显示SGA各部分设置大小 Select * from v$nls_valid_values; Show parameter dest Show sga 或 Select * from v$sga; Select file_name,tablespace_name, bytes from dba_data_files; Select status,enabled,name from v$datafile; Instance Parameter 显示所有数据文件极其大小 Data File 显示所有数据文件的状态 24
oracle 数据库基础
显示所有Redo Log File的状态 Select group#,status,first_time from v$log; Select group#,member from Redo Log File 显示所有Redo Log File的名称 v$logfile; Select username,default_tablespace, temporary_tablespace from dba_users; User 显示所有User的相关数据 或 select tablespace_name,username,bytes, max_bytes from dba_ts_quotas; Select username,process from v$session; 或 select username,default_tablespace, 显示所有联机User的相关数据 temporary_tablespace from user_users; 或 select tablespace_name,username,bytes, max_bytes from user_ts_quotas; Profile 显示所有User分配给的Profile 显示用户目前使用系统资源的各项限制 显示目前数据库所有Profile与其设置 显示授权给Users及Roles的系统特权 显示授权给用户的角色 Select username,profile from dba_users; Select resource_name,limit from User_resource_limits; Select * from dba_profile; Select * from dba_sys_privs; Select * from user_role_privs; Select * from session_roles; Select * from dba_roles; Role 显示用户当前会话开启的角色 显示数据库中以建立的角色信息 显示数据库中所有角色被授予的系统特权 Select * from role_sys_privs; 25
oracle 数据库基础
显示数据库中所有角色被授予的表对象特权 显示数据库中将ROLE 特权授予另一角色的信息 显示所有表空间状态 Select * from role_tab_privs; Select * from role_role_privs; Select tablespace_name, Status,contents from dba_tablespaces; Select tabkespace_name,file_id Block_id,bytes,blocks from Dba_free_space; Select segment_name,Tablespace 显示所有表空间Fragments与剩余空间的大小 Segment 显示所有Rollback Segment的相关数据 tablespace_name, Status from dba_rollback_segs; Select initial_extent,next_extent, Segment 显示某个Segment (EMP)的Storage Parameters的相关数据 min_extentspct_increase from ,max_extents,dba_segments where segment_name=?EMP? 显示某个Segment(EMP)所使Select extent_id,bytes from Extent 用的Extent的相关数据 dba_extents Where segment_name=?EMP?; Select * from dba_free_space where Tablespace_name=?zxin?; Select constraint_name,Free Space 显示某个表空间对象(zxin)内使用的Extent 的相关空间数据 显示某个表对象(tb_zxinaplist) constraint_type, Status from dba_constraints where Table_name=?tb_zxinaplist?; Select column_name,constraint_name From dba_cons_columns where Table_name=?tb_zxinaplist?; Select distinct privilege from Constraint 内相关的Constraints设置数据 显示某个表对象(tb_zxinaplist) 内所设置Constraints与Column Privilege 显示ORACLE数据库提供的系统特权有哪些 查看自己被授予的系统特权有哪些 dba_sys_privs; Select * from user_sys_privs; 26
oracle 数据库基础
第七部分 关系数据库SQL语言
一.SQL数据库的体系结构:
? 用户可以用SQL语言的语句对视图(View)和基本表(Base table)进行查询等
操作。在用户看来,视图和基本表一样,都是关系(表格)。
? 视图是从一个或几个基本表导出的表,它本身不独立存储在数据库中,因此,视
图也称为虚表。
? 基本表是独立存在的表,每个基本表对应一个存储文件。 ? 每个存储文件对应外部存储器上一个物理文件。
二.SQL数据定义功能
(1) 基本表的建立、扩充和撤消
? 基本表的建立
CREATE TABLE S( SNO CHAR(4) NOT NULL,SNAME CHAR(10), AGE SMALLINT,SEX CHAR(1) );
? 基本表的扩充
ALTER TABLE S ADD (ADDR CHAR(10) );
? 基本表的撤消 DROP TABLE S; (2) 视图的建立、撤消
视图是从一个或几个基本表(或视图)导出的表。
? 视图的建立
CREATE VIEW STUDENT-GRADE AS SELE CT S.SNO, SNAME ,CNAME,GRADE FROM S, SC , C WHERE S.SNO=SC.SNO;
? 视图的撤消
DROP VIEW STUDENT-GRADE (3)索引的建立、撤消
? 索引的建立
CREATE INDEX mycolumn_index ON mytable (myclumn)
这个语句建立了一个名为mycolumn_index的索引。可以给一个索引起任何名字,但应该在索引名中包含所索引的字段名,这对将来弄清楚建立该索引的意图是有帮助的。
? 索引的撤消
27