待整理和补充。。。
一、启动与关闭Oracle系统
三、ORACLE实例启动和关闭
1、使用SQL*PLUS启 动和终止实例
1.1、本地启动
在命令提示符下输入:
SQLPLUS /NOLOG
CONNECT /AS SYSDBA
STARTUP
1.2、本地关闭
在命令提示符下输入:
SQLPLUS /NOLOG
CONNECT /AS SYSDBA
SHUTDOWN
1.3、远程启动
在命令提示符下输入(此方式必须先进行关闭数据库操作,见1.4、远程关闭(要求远程数据库必须是已启动),在E:\ORACLE\ORA81 \SYSMAN\IFILES目录下生成一个DE_TEST_ZCB_8112.ORA文件后,再以此文件启动数据库):
SQLPLUS /NOLOG
CONNECT INTERNAL/[email protected] AS SYSDBA
STARTUP FILE=E:\ORACLE\ORA81\SYSMAN\IFILES\DE_TEST_ZCB_8112.ORA
此路径 为远程启动服务路径,一般情况下在本地安装目录的ORACLE\ORA81\SYSMAN\IFILES下。
INTERNAL 为用户名,ORACLE为密码,TEST.SOFTONE.COM为远程服务连接串。
1.4、远程关闭
在命令提示符下输入:
SQLPLUS /NOLOG
CONNECT INTERNAL/[email protected] AS SYSDBA
SHUTDOWN
INTERNAL 为用户名,ORACLE为密码,TEST.SOFTONE.COM为远程服务连接串。
2、 用服务器管理器启动和终止实例
2.1、本地启动
在命令提示符下输入:
SVRMGRL
CONNECT INTERNAL
STARTUP
2.2、本地关闭
在命令提示符下输入:
SVRMGRL
CONNECT INTERNAL
SHUTDOWN
2.3、远程启动
在命令提示符下 输入(此方式必须先进行关闭数据库操作,见2.4、远程关闭(要求远程数据库必须是已启动),在E:\ORACLE\ORA81\SYSMAN \IFILES目录下生成一个DE_TEST_ZCB_8112.ORA文件后,再以此文件启动数据库):
SVRMGRL
CONNECT INTERNAL/[email protected] AS SYSDBA
STARTUP
PFILE= E:\ORACLE\ORA81\SYSMAN\IFILES\DE_TEST_ZCB_8112.ORA
INTERNAL 为用户名,ORACLE为密码,TEST.SOFTONE.COM为远程服务连接串。
此路径为远程启动服务路径,一般情况下在本地安装目录的 ORACLE\ORA81\SYSMAN\IFILES下。
2.4、远程关闭
在命令提示符下输入:
SVRMGRL
CONNECT INTERNAL/[email protected] AS SYSDBA
SHUTDOWN
3、 用实例管理程序启动和终止实例
1)、打开管理程序,如图
2)、点击DBA STUDIO,进入"oracle enterprise manager 登录"窗口
3)、选 择"LAUNCH DBA STUDIO STANDALONE",点击"确定"按钮,弹出以下窗体;
4)、在左边的列表中双击或点 击右键菜单中的"连接",弹出以下窗体;
5)、录入用户名:INTERNAL,口令:oracle,选择连接身份 为"SYSDBA",点击确定,出现以下界面,选择例程下的数据库,点击"打开"单选框,再点击"应用"按纽
6)如果没有使用的数据 库,可在文件菜单中选择"将数据库添加到树"
7)录入主机名,端口号、SID和网络服务名。主机名为本地计算机名,如果连接远程服务 器,则录入远程计算机名;端口号默认为1521,不能修改;SID为安装时录入的SID(必须一致),如果连接的为远程数据库,则录入远程服务器的 SID;网络服务名可为安装时录入的网络服务名,可任意修改;最后点击"确定"即可。
8)、重复步骤4、5。
二、用户如何有效地利用数据字典
ORACLE的数据字典是数据库的重要组成部分之一,它随着数据库的产生而产生, 随着数据库的变化而变化, 体现为sys用户下的一些表和视图。数据字典名称是大写的英文字符。 数据字典里存有用户信息、用户的权限信息、所有数据对象信息、表的约束条件、统计分析数据库的视图等。 我们不能手工修改数据字典里的信息。 很多时候,一般的ORACLE用户不知道如何有效地利用它。 dictionary 全部数据字典表的名称和解释,它有一个同义词dict dict_column 全部数据字典表里字段名称和解释 如果我们想查询跟索引有关的数据字典时,可以用下面这条SQL语句: SQL>select * from dictionary where instr(comments,'index')>0; 如果我们想知道user_indexes表各字段名称的详细含义,可以用下面这条SQL语句: SQL>select column_name,comments from dict_columns where table_name='USER_INDEXES'; 依此类推,就可以轻松知道数据字典的详细名称和解释,不用查看ORACLE的其它文档资料了。 下面按类别列出一些ORACLE用户常用数据字典的查询使用方法。 1、用户 查看当前用户的缺省表空间 SQL>select username,default_tablespace from user_users; 查看当前用户的角色 SQL>select * from user_role_privs; 查看当前用户的系统权限和表级权限 SQL>select * from user_sys_privs; SQL>select * from user_tab_privs; 2、表 查看用户下所有的表 SQL>select * from user_tables; 查看名称包含log字符的表 SQL>select object_name,object_id from user_objects where instr(object_name,'LOG')>0; 查看某表的创建时间 SQL>select object_name,created from user_objects where object_name=upper('&table_name'); 查看某表的大小 SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&table_name'); 查看放在ORACLE的内存区里的表 SQL>select table_name,cache from user_tables where instr(cache,'Y')>0; 3、索引 查看索引个数和类别 SQL>select index_name,index_type,table_name from user_indexes order by table_name; 查看索引被索引的字段 SQL>select * from user_ind_columns where index_name=upper('&index_name'); 查看索引的大小 SQL>select sum(bytes)/(1024*1024) as "size(M)" from user_segments where segment_name=upper('&index_name'); 4、序列号 查看序列号,last_number是当前值 SQL>select * from user_sequences; 5、视图 查看视图的名称 SQL>select view_name from user_views; 查看创建视图的select语句 SQL>set view_name,text_length from user_views; SQL>set long 2000; 说明:可以根据视图的text_length值设定set long 的大小 SQL>select text from user_views where view_name=upper('&view_name'); 6、同义词 查看同义词的名称 SQL>select * from user_synonyms; 7、约束条件 查看某表的约束条件 SQL>select constraint_name, constraint_type,search_condition, r_constraint_name from user_constraints where table_name = upper('&table_name'); SQL>select c.constraint_name,c.constraint_type,cc.column_name from user_constraints c,user_cons_columns cc where c.owner = upper('&table_owner') and c.table_name = upper('&table_name') and c.owner = cc.owner and c.constraint_name = cc.constraint_name order by cc.position; 8、存储函数和过程 查看函数和过程的状态 SQL>select object_name,status from user_objects where object_type='FUNCTION'; SQL>select object_name,status from user_objects where object_type='PROCEDURE'; 查看函数和过程的源代码 SQL>select text from all_source where owner=user and name=upper('&plsql_name');
三、查看数据库的SQL
1、查看表空间的名称及大小 select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size from dba_tablespaces t, dba_data_files d where t.tablespace_name = d.tablespace_name group by t.tablespace_name; 2、查看表空间物理文件的名称及大小 select tablespace_name, file_id, file_name, round(bytes/(1024*1024),0) total_space from dba_data_files order by tablespace_name; 3、查看回滚段名称及大小 select segment_name, tablespace_name, r.status, (initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, max_extents, v.curext CurExtent From dba_rollback_segs r, v$ro
六、表空间、用户的创建和删除
1、表空间的创建、删除
1)、命令方式创建表空间
录入命令:
CREATE TABLESPACE CHECKUP_HISTORY DATAILE '/M01/ORADATA/BIBDB/CHECKUP_HISTORY.DBF' SIZE 1000M;
这条语句创建了一个名为 CHECKUP_HISTORY.DBF的文件,容量为1000MB,容纳了存储在CHECKUP_HISTORY表空间的所有数据。
2)、建议用此方式建立表空空间
打开DBA STUDIO,
选择存储下表空间,单击右键,选择创建,出现以下界面:
录入名称和其他相关的设置(其它设置建议使用默认值),点击"创建"按纽
如果要删除某表空间,则选中该表空间,然后点击鼠标右键,选择"移 去"即可。
2、用户的创建、删除
1)、命令方式建立、删除用户
建立
create user pharmacy
identified by pharmacy
default tablespace PHARMACY
temporary tablespace TEMP
profile DEFAULT;
grant dba to pharmacy;
删除
DROP USER PHARMACY CASCADE
2)、通过PLSQL建立、删除用户
建立:
打开PLSQL,以SYSTEM,manager登录,选择USERS,以鼠标右键 选择NEW,输入名称、密码、表空间、临时表空间和用户权限,点击"APPLY"。
删除
选择用户,以鼠标右键选择"DROP"
3)用ORACLE 建立、删除用户
建立:
打开DBA STUDIO
选择安全下用户,点击鼠标右键选择"创建"
输入名称、口令和用户权限,点击"创建"按纽
删除:
选择需删除的用户,点击鼠标右键,选择"移去"。
七、数据脚本导入、导出
1、 导入
1)、命令方 式导入
IMP PHARMACY/[email protected] D:\DD\PHARMACY.DMP FULL=Y
此方式导入的数据库带有表结构和数据内容。
2)、使用PLSQL导入
选择TOOLS菜单下的 IMPORT TABLES ,选择需要导入的脚本,点击"IMPORT"按纽
此方式导入的数据库文件中带有表结构和数据内容。
此方式导入的数据库可能只有表结构,也可能只有数据内容(根据录制的脚本而定)。
3)、在PLSQL的NEW菜单下选择 COMMAND WINDOW,右键菜单中选择"LOAD",选择需要导入的数据脚本,系统自动进行导入操作。
2、导出
1)、命令方式导出
EXP PHARMACY/[email protected] D:\DD\200.DMP
此方式导出的数据库带有表结构和数据内容。建议使用此方式进行数据导出。
2)、使用PLSQL工具导出
选择TOOLS 菜单下的EXPORT TABLES ,选择需要导出的表名称,录入需要导出的脚本名称,点击"EXPORT"按纽
此方式导出的数据带有数据结构和数据内容。
此方式导出的数据只带有数据结构,不带数据内容。
3)在PLSQL工具的 TOOLS菜单下选择EXPORT USER OBJECTS (版本为5.1以上才有此功能),录入需要导出的脚本名称(默认为全部选中,如果只导出部分表或触发器等等,用鼠标在列表中自行选择),点 击"EXPORT"按纽
此方式导出的数据库只带有表结构,不导出数据内容。如果只导出表结构,建议使用此方式进行导出。