十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
select * from v$database;看数据库名称
成都创新互联长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为硚口企业提供专业的成都做网站、成都网站建设、成都外贸网站建设,硚口网站改版等技术服务。拥有十余年丰富建站经验和众多成功案例,为您定制开发。
select * from v$instance;看数据库名称
如果是windows系统的话,可以使用oradim来删除数据库实例(对应服务中的一个服务)
语法:oradim -delete -sid SID(数据库实例名)
在一个大型项目中,有很多模块,每个模块都可能有很多的过程和函数,这些过程和函数默认就是放在一起,不方便查询和维护,甚至会发生误删除的事件。
所以通过使用包,就可以分类管理过程和函数。
使用包还有一个好处,就是可以在包中定义自定义类型,从而在过程和函数可以直接用于定义变量。
包的概念与java程序中包的概念是非常类似的,java程序中包也是为了分类管理不同的类,关键字都是package。
(1)包的意义
PL/SQL为了满足程序模块化的需要,除了块(block)和子程序结构外,还引入了包的构造。
包是一种数据库对象,将逻辑上相关的PL/SQL类型、对象和子程序组合成一个更大的单位。包有两个部分:包说明(specification)和包体(body)。说明部分是为应用程序的接口,它申明类型、常量、例外、游标和可用的子程序。体定义游标和子程序,实现说明。应用程序仅对包说明中的申明是可见的和可存取。如果ORACLE具有Procedure选件,包可以编译、存贮在ORACLE数据库中,其内容可为许多应用共享。当用户第一次调用一包装的子程序时,整个包装入到内存,所以在以后对包中子程序调用时,不再需要I/O操作,故包可提高效率和改进性能。
PL/SQL的包具有信息隐蔽性(information hiding),仅在算法和数据结构设计有关层可见。在前面讲到的过程中,可将过程说明和过程体组成一个程序单位。也可将过程说明与它的过程体分开,在这种情况下,将过程放置在一个包中,可隐蔽实现的细节。也可在包中定义过程,而该过程在包说明中没有定义过程说明,这样定义的过程仅在包内使用。
(2)包的定义
包的定义形式如下:
包说明:
PACKAGE 包名 IS
--变量说明;
--游标说明;
--例外说明;
--记录说明;
--Plsql表说明;
--过程说明;
--函数说明;
END[包名];
包体:
PACKAGE BODY 包名 IS
--变量名说明;
--游标说明;
--游标申明;
--例外说明;
--记录说明;
--plsql说明;
--过程体;
--函数体;
BEGIN
--语句序列
END[包名];
其中,包名为命名包的标识符。
包不能嵌入在PL/SQL块或子程序中,然而使用支持PL/SQL的任何工具可定义包。要使包为全体使用,必须用CREATE命令建立,存贮在一个ORACLE数据库中。可在SQL*PLUS、SQL*DBA或从ORACLE预编译宿主程序中利用CREATE PACKAGE和CREATE PACKAGE BODY 语句建立。
例 2.52: 建立包:
.包说明建立
CREATE PACKAGE emp_actions AS
TYPE EMPRECTYP IS RECORD(emp_id INTEGER,salary REAL);
CURSOR desc_salary(emp_id NUMBER)RETURN EMPRECTYP;
PROCEDURE hire_employee
(ename CHAR,
job CHAR,
sal NUMBER,
mgr NUMBER,
comm NUMBER,
deptno NUMBER;
PROCEDURE fire_employee(emp_id NUMBER);
END emp_actions;
(A):其中语句TYPE EMPRECTYP IS RECORD(emp_id. INTEGER,Salary REAL)是指用户定义EMPRECTYP为RECORD(记录)类型对象。用户定义记录
的一般格式是:
TYPY 类型名 IS RECORD
(字段名1{字段类型|变量名%TYPE|表名.列名%TYPE|表名%ROWTYPE}[NOT NULL],
字段名2{字段类型|变量名%TYPE|表名.列名%TYPE|表名%ROWTYPE}[NOT NULL],...);其中:类型名为类型说明符,可在记录说明中使用。字段
类型为PL/SQL允许的任何数据类型,包括RECORD类型和TABLE(表)类型。可用%TYPE或%ROWTYPE属性指定一字段的数据类型。
利用%TYPE属性可提供变量,常量或数据库列的数据类型。例如变量my_dname是同SCOTT的DEPT表的DNAME列类型相同,则可如下定义:
my_dname SCOTT.dept.danme%TYPE ,%ROWTYPE属性提供一记录类型,它表示一表(或视图)中的一行。记录可存贮由表所选择的一整行或者由
一游标所获取的一整行。例如:
DECLARE
emp_rec emp% ROWTYPE;
CURSOR C1 IS SELECT deptno,dname,loc FROM dept;
dept_rec C1%ROWTYPE;
其中 emp_rec记录可存贮从表EMP中选择的行,dept_rec记录可存贮由C1游标所获取的行。这样定义的记录中的字段与行中列有相同的名和相同数据类型。记录中的字段可以下列形式引用:
记录名.字段名
emp_rec.ename:=’JOHNSON’;
用sysdba身份登录 比如 conn / as sysdba 匿名管理员登陆
执行 select name form V$database; 或是执行select * from V$database;
不过执行第二个显示的内容太多了不好找自己想要的结果。
你也可以先用desc V$database;语句查看一下V$database都有什么字段然后选择自己想要的字段进行选择
查看实例名称(sid):
select instance_name from V$instance;一般默认情况下sid与你的数据库的名称是一样的!
windows 中
1. select name from v$database ;
直接运行就可以查看了,
2.查看tnsnames.ora 的连接,有个SID,SID就是服务名了
1.查看oracle的安装目录,
方法是查看注册表:
如:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\ORACLE_HOME REG_SZ E:\ORACLE\ORA92
得到了oracle的安装目录
一般来讲,如果服务器在安装时采用的是默认值那么这个值是:D:\ORACLE\ORA92
2.找到tnsnames.ora文件
在根目录下面找到\network\ADMIN\tnsnames.ora 文件,并打开
3.仔细查看里面的tnsnames.ora 配置
例如
# TNSNAMES.ORA Network Configuration File: d:\oracle\ora92\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.
WZZ=
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = wzz)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = WZZ)
)
)
其中的service_name就是服务名,例如对如上面的文件 ,服务名就是WZZ
附 C#获取oracle服务器名 :
#region 从注册表中读取安装主目录的值
/// summary
/// 从注册表中读取安装主目录的值
/// /summary
/// param name="setupKey"/param
/// returns/returns
public static string ReadHomeDirectory(string setupKey)
{
RegistryKey readKey;
try
{
readKey = Registry.LocalMachine.OpenSubKey
("Software\\ORACLE", false);
foreach (string name in readKey.GetValueNames())
{
if (name == setupKey)
{
return readKey.GetValue(name).ToString();
}
}
return null;
}
catch
{
return null;
}
}
#endregion
1.
sys@SZTYORA show parameter servic
2.cd $ORACLE_BASE/admin下看看有几个就是了
数据库实例名称为orcl的话,
方法一:
windows系统可以查看windows服务,如OracleServiceORCL
方法二:
查看安装目录下相应目录名称,如:D:\app\oracle\admin\orcl
方法三:
使用oracle
net
manager工具查看。
1、首先找到Net Manager。
2、打开后会看到左侧有四个按钮图标,中间的Oracle Net配置下有一个服务命名。
3、鼠标点击“服务命名”后,点击左侧的绿色加号,出现如图所示界面,输入“网络服务名”,网络服务名是自己命名的,没有硬性限制。
4、点击“下一步”后,点击TCP/IP协议,如图所示。
5、点击“下一步”,设置“服务名”,连接类型一般是“数据库默认设置”,如图所示。
6、点击“下一步”就会显示“测试”界面,代表设置已经完成,一般Oracle上默认的有sys用户和scott用户,scott用户的密码是:tiger。