oracle的实例名与ORACLE_SID就是说数据库和 *** 作系统之间的交互用的是数据库实例名。有以下不同:
1、列入的参数设置不一样:
oracle的实例名:instance_name是oracle数据库参数。
ORACLE_SID:ORACLE_SID是 *** 作系统的环境变量。
2、交互性上不一样:
oracle的实例名:ORACLD_SID用于与 *** 作系统交互,也就是说,从 *** 作系统的角度访问实例名,必须通过ORACLE_SID。在winnt下,ORACLE_SID还需存在于注册表中。
ORACLE_SID:ORACLE_SID必须与instance_name的值一致。
扩展资料:
oracle的文件结构:
数据库的物理存储结构是由一些多种物理文件组成,主要有数据文件、控制文件、重做日志文件、归档日志文件、参数文件、口令文件、警告文件等。
控制文件:存储实例、数据文件及日志文件等信息的二进制文件。alter system set control_files=‘路径’。V$CONTROLFILE。
数据文件:存储数据,以dbf做后缀。一句话:一个表空间对多个数据文件,一个数据文件只对一个表空间。dba_data_files/v$datafile。
日志文件:即Redo Log Files和Archivelog Files。记录数据库修改信息。ALTER SYSTEM SWITCH LOGFILE; 。V$LOG。
参数文件:记录基本参数。spfile和pfile。
警告文件:show parameter background_dump_dest---使用共享服务器连接。
跟踪文件:show parameter user_dump_dest---使用专用服务器连接。
参考资料来源:百度百科-Oracle数据库
参考资料来源:百度百科-Oracle
表空间是oracle的逻辑存储,表空间用对应的有数据文件,是真正存储数据的文件;表空间不是数据,是数据库不可缺少的逻辑组件。数据库名就是一个数据库的标识,就像人的身份z号一样。数据库实例名是用于和 *** 作系统进行联系的标识,就是说数据库和 *** 作系统之间的交互用的是数据库实例名。从oracle9i版本开始,引入了一个新的参数,即数据库服务名。参数名是SERVICE_NAME。
如果数据库有域名,则数据库服务名就是全局数据库名;否则,数据库服务名与数据库名相同。
全局数据库名=数据库名+数据库域名
Oracle的 *** 作系统身份认证
oraclelogin数据库远程登录authenticationos
sqlnet authentication_services=(NTS) 在$ORACLE_HOME/neork/admin/sqlnet ora中
NTS特指的是windows系统 或者设为all 这两种情况都允许 *** 作系统认证
如果在unix下如果没有设置sqlnet authentication_services 默认就是 *** 作系统认证!或者设为all也允许 *** 作系统认证
参数SQLNET AUTHENTICATION_SERVICES= (NONE NTS)表明用户连接Oracle服务器时使用哪种验证方式
NONE表示Oracle数据库身份验证 NTS表示 *** 作系统身份验证 两种方式可以并用
数据库用sysdba登录的验证有两种方式 一种是通过os认证 一种是通过密码文件验证;登录方式有两种 一种是在数据库主机直接登录(用os认证的方式) 一种是通过网络远程登录;需要设置的参数有两个 一个是SQLNET AUTHENTICATION_SERVICES 一个是REMOTE_LOGIN_PASSWORDFILE
os认证 如果启用了os认证 以sysdba登录 那么我们只要用oracle软件的安装用户就能登录 sqlplus / as sysdba 如果我们要禁用os认证 只利用密码文件登录 我们首先要有一个密码文件
orapwd file=C:/oracle/product/ /db_ /database/PWDoralocal ora password=maximo entries= ;
然后我们要把$ORACLE_HOME/neork/admin/sqlnet ora中设置
SQLNET AUTHENTICATION_SERVICES= none
注意一下 密码文件只在数据库启动的时候加载进去 一旦加载进去 密码文件就脱离了oracle管理 所以我们用orapwd新建密码文件后 里面指定的密码要在数据重启后才能生效
至此 我们已经实现不用os认证(sqlplus / as sysdba 的方式登录不了) 那么我们怎么限制网络方面利用sysdba远程登录呢我们可以设置初始化文件中的REMOTE_LOGIN_PASSWORDFILE=none
注意 当REMOTE_LOGIN_PASSWORDFILE=none时 这个参数生效需要重启数据库 并且 一旦启用这个参数 将使用 *** 作系统认证 不使用口令文件 因此如果REMOTE_LOGIN_PASSWORDFILE=none且SQLNET AUTHENTICATION_SERVICES= none这个时候数据库是无法登录的
alter system set REMOTE_LOGIN_PASSWORDFILE=none scope=spfile;
( )REMOTE_LOGIN_PASSWORDFILE=none且SQLNET AUTHENTICATION_SERVICES= none
oracle安装用户本地sqlplus / as sysdba 无法登录
非oracle安装用户本机sqlplus sys/change_on_install as sysdba 无法登录
非oracle安装用户远程sqlplus / as sysdba_on_install@sid as sysdba 无法登录
( )REMOTE_LOGIN_PASSWORDFILE=exclusive且SQLNET AUTHENTICATION_SERVICES= none
oracle安装用户本地sqlplus / as sysdba 无法登录
非oracle安装用户本机sqlplus sys/change_on_install as sysdba 能登录
非oracle安装用户远程sqlplus / as sysdba_on_install@sid as sysdba 能登录
( )REMOTE_LOGIN_PASSWORDFILE=none且SQLNET AUTHENTICATION_SERVICES= (NTS)
oracle安装用户本地sqlplus / as sysdba 能登录
非oracle安装用户本机sqlplus sys/change_on_install as sysdba 无法登录
非oracle安装用户远程sqlplus / as sysdba_on_install@sid as sysdba 无法登录
( )REMOTE_LOGIN_PASSWORDFILE=exclusive且SQLNET AUTHENTICATION_SERVICES= (NTS)
oracle安装用户本地sqlplus / as sysdba 能登录
非oracle安装用户本机sqlplus sys/change_on_install as sysdba 能登录
非oracle安装用户远程sqlplus / as sysdba_on_install@sid as sysdba 能登录
Oracle REMOTE_LOGIN_PASSWORDFILE 参数
设置初始化参数 REMOTE_LOGIN_PASSWORDFILE
在 Oracle 数据库实例的初始化参数文件中 此参数控制着密码文件的使用及其状态 它可以有以下几个选项
NONE 指示 Oracle 系统不使用密码文件 特权用户的登录通过 *** 作系统进行身份验证;
EXCLUSIVE 指示只有一个数据库实例可以使用此密码文件 只有在此设置下的密码文件可以包含有除 SYS 以外的用户信息 即允许将系统权限 SYSOPER /SYSDBA 授予除 SYS 以外的其他用户 此设置oracle i中为缺省值 有朋友说是shared 其实不然
SHARED 指示可有多个数据库实例可以使用此密码文件 在此设置下只有 SYS 帐号能被密码文件识别 即使文件中存有其他用户的信息 也不允许他们以 SYSOPER /SYSDBA 的权限登录
在 REMOTE_LOGIN_PASSWORDFILE 参数设置为 EXCLUSIVE SHARED 情况下 Oracle 系统搜索密码文件的次序为 在系统注册库中查找 ORA_SID_PWFILE 参数值(它为密码文件的全路径名);若未找到 则查找 ORA_PWFILE 参数值;若仍未找到 则使用缺省值 ORACLE_HOME/DATABASE/PWDSID ORA ;其中的 SID 代表相应的 Oracle 数据库系统标识符
总结
$ORACLE_HOME/neork/admin/sqlnet ora中的AUTHENTICATION_SERVICES参数
在windows下 SQLNET AUTHENTICATION_SERVICES必须设置为NTS或者ALL才能使用OS认证;不设置或者设置为其他任何值都不能使用OS认证
在linux下 在SQLNET AUTHENTICATION_SERVICES的值设置为ALL 或者不设置的情况下 OS验证才能成功;设置为其他任何值都不能使用OS认证
spfile中的REMOTE_LOGIN_PASSWORDFILE参数
值为exclusive时 远程能作为sysdba身份登录
值为none时 以sysdba身份无法登录
oracle的sys用户密码怎么修改
一 忘记除SYS SYSTEM用户之外的用户的登录密码
用SYS (或SYSTEM)用户登录: CONN SYS/PASS_WORD AS SYSDBA;
使用如下语句修改用户的密码: ALTER USER user_name IDENTIFIED BY newpass ;
注意 密码不能全是数字 并且不能是数字开头 否则会出现 ORA : 口令缺失或无效
二 忘记SYS用户 或者是SYSTEM用户的密码
如果是忘记SYSTEM用户的密码 可以用SYS用户登录 然后用ALTER USER 命令修改密码
CONN SYS/PASS_WORD AS SYSDBA;
ALTER USER SYSTEM IDENTIFIED BY newpass ;
如果是忘记SYS用户的密码 可以用SYSTEM用户登录 然后用ALTER USER 命令修改密码
CONN SYSTEM/PASS_WORD ;
ALTER USER SYSTEM IDENTIFIED BY newpass ;
三 如果SYS SYSTEM用户的密码都忘记或是丢失
可以使用ORAPWD EXE 工具修改密码
开始菜单 >运行 >输入 CMD 打开命令提示符窗口 输入如下命令
orapwd file=D:\oracle g\database\pwdctcsys ora password=newpass
这个命令重新生成了数据库的密码文件 密码文件的位置在ORACLE_HOME目录下的\database目录下
这个密码是修改sys用户的密码 除sys其他用户的密码不会改变
不过Oracle提供了两种验证方式 一种是OS验证 另一种密码文件验证方式 如果是第一种方式用以下方法修改密码
sqlplus /nolog;
connect / as sysdba
alter user sys identified by ;
alter user system identified by ;
如果是第二种方法就用上述方式修改 也可以下方法修改密码
orapwd file=pwdxxx ora password=你设定的新密码 entries=
设定完后 重新启动服务 再次登陆就可以了
oracle g
在本机安装完Oracle以后 不记得sys用户的密码了 采用如下方法可以修改密码
打开cmd 输入sqlplus /nolog 回车;输入 conn / as sysdba ;输入 alter user sys identified by 新密码 注意 新密码最好以字母开头 否则可能出现错误Ora 有了这个方法后 只要自己对oracle服务器有管理员权限 不记得密码的时候就可以随意修改密码了
在命令行执行如下命令 sqlplus /@服务名 as sysdba 然后在sqlplus中alter user sys identified by 新密码;
alter user system identified by 新密码;
运行到C盘根目录
)输入 SET ORACLE_SID = 你的SID名称
)输入 sqlplus/nolog
)输入 connect/as sysdba
)输入 alert user sys identified by sys
)输入 alert user system identified by system
)更改完成 密码是Oracle数据库初始密码
首先 在CMD下输入SQLPLUS/NOLOG然后再在出来的界面中打入CONN/AS SYSDBA 这样就会以本地系统登录的用户为信任用户进入数据库的 *** 作 解决这个问题的方式有两种 一个是 ALTER USER (USERNAME) IDENTIFIED BY 密码 ;这个是可以改变USERNAME的密码 当然这个USERNAME必须已经存在的
另一种是 CREATE USER (USERNAME) IDENTIFIED BY 密码 ;改变用户权限的命令是 GRANT ROLES TO (USERNAME);以上 种方法都是针对ORACLE I的版本
用orapwd exe命令 可以修改命令
orapwd file= /oracle/pwdsid ora password= 这个命令是修改sys用户的密码 你把生成的文件覆盖原来的密码文件 除sys其他用户的密码不会改变
su oracle
sqlplus /nolog
conn / as sysdba
startup (如果数据库不是处于启动状态则启动)
alter user sys identified by
然后就可以使用sys用户密码登陆了
*** 作系统认证方式
conn / as sysdba
lishixinzhi/Article/program/Oracle/201311/16741
1、建立数据库
/建立Oracle登录用户(以ZXDIFSRV为例) 即建立空数据库---------------------------------/
xsl>svrmgrl
svrmgrl>connect system/manager
svrmgrl>
drop user ZXDIFSRV cascade;
CREATE USER "ZXDIFSRV" IDENTIFIED BY "ZXDIFSRV" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" PROFILE DEFAULT;
GRANT "CONNECT" TO "ZXDIFSRV";
GRANT "RESOURCE" TO "ZXDIFSRV";
GRANT UNLIMITED TABLESPACE TO "ZXDIFSRV";
ALTER USER "ZXDIFSRV" DEFAULT ROLE ALL;
svrmgrl>commit;
2、数据库启动
//数据库启动,即启动Oracle Service ORCL
xsl>svrmgrl
xsl>connect interal
xsl>startup
xsl>exit
xsl>sqlplus system/manager
xsl>sqlplus zxdifsrv/zxdifsrv
3、建立一个新访问用户
建立一个新的访问用户与密码:
xsl>svrmgrl
svrmgrll>connect system/manager
svrmgrl>
drop user win2001-900 cascade;
CREATE USER "win2001-900" IDENTIFIED BY "123456" DEFAULT TABLESPACE "USERS" TEMPORARY TABLESPACE "TEMP" PROFILE DEFAULT;
GRANT "CONNECT" TO "win2001-900";
GRANT "RESOURCE" TO "win2001-900";
GRANT UNLIMITED TABLESPACE TO "win2001-900";
ALTER USER "win2001-900" DEFAULT ROLE ALL;
svrmgrl>commit;
4、导入导出数据
导入数据时必须先要建立一个空的数据库
直接进入命令行窗口,可以进行导入导出命令
导入xsl>imp zxdifsrv/zxdifsrv 然后按提示写入文件的路径就可以了(输入时提示要输入用户名,此用户名应该为导入文件的原数据库的用户名,而不是导入的数据库的用户名)
导出xsl>exp zxdifsrv/zxdifsrv 然后按提示写入文件的路径就可以了
启动Oracle,首先要启动OracleServiceORCL服务
5、建立一个表
//在Oracle里system数据库建立一个表Customer
xml>svrmgrl
svrmgrl>connect system/manager
svrmgrl>Create table Customer(
CustID integer,
CustName varchar(20),
Memo varchar(200)
);
commit;
//DB2直接ENTER就可以,不用commit;
svrmgrl>exit
语句已执行
建立成功
/
6、导入数据的另外一种方法
注:不管用哪一种数据库导入的方法,都要先建立一个空的数据库
xml>sqlplus zxdifsrv/zxdifsrv
sql>@ (为要导入的数据库的脚本),然后Enter。
7、delete tablename是删除整个表的内容,而drop tablename是删除表。
运行存储过程用“/”结束
8、数据库后安装配置
把D:\Oracle\network\ADMIN里的tnsnamesora配置下,参照原来的配置就可以了
9、sqlplus远程启动
在命令提示符下输入(此方式必须先进行关闭数据库 *** 作,见14、远程关闭(要求远程数据库必须是已启动),在E:\ORACLE\ORA81\SYSMAN\IFILES目录下生成一个DE_TEST_ZCB_8112ORA文件后,再以此文件启动数据库):
SQLPLUS /NOLOG
CONNECT INTERNAL/ORACLE@TESTSOFTONECOM AS SYSDBA
STARTUP FILE=E:\ORACLE\ORA81\SYSMAN\IFILES\DE_TEST_ZCB_8112ORA
此路径为远程启动服务路径,一般情况下在本地安装目录的ORACLE\ORA81\SYSMAN\IFILES下。
INTERNAL 为用户名,ORACLE为密码,TESTSOFTONECOM为远程服务连接串
Sqlplus远程关闭
SQLPLUS /NOLOG
CONNECT INTERNAL/ORACLE@TESTSOFTONECOM AS SYSDBA
SHUTDOWN
INTERNAL 为用户名,ORACLE为密码,TESTSOFTONECOM为远程服务连接串。
10、TNSNAMESORA配置
在安装目录下,如:E:\Oracle\Ora81\network\ADMIN下用写字板或记事本打开TNSNAMEORA文件,文件内容大概如下:
TESTSOFTONECOM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = zcb_8115)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = test)
)
)
蓝色部分为安装时录入的信息。
如果该文件没有配置成功,该文件可通过以下步骤进行配置:
1)、在程序菜单中打开NET8 CONFIGURATION ASSISTANT
2)、选择Net8 Configuration Assistant,打开,进入"Net8 Configuration Assistant:欢迎"窗口
2)、选择"本地网络服务名设置",点击"下一步", d出以下窗体;
3)、在"Net8 Configuration Assistant:网络服务名配置"窗口中选择"添加",点击"下一步", d出以下窗体;
4)在"Net8 Configuration Assistant:网络服务名配置,数据库版本"窗口中选择"ORACLE 8I数据库或服务",点击"下一步",d出以下窗体;
5)在"Net8 Configuration Assistant:网络服务名配置,服务名"窗口输入服务名,此服务名跟安装时录入的服务名(SID)相同,录入后,点击"下一步",d出以下窗体;
6)、在"Net8 Configuration Assistant:网络服务名配置,请选择协议"窗口选择"TCP"此时只能选择"TCP",点击"下一步", d出以下窗体;
7)在"Net8 Configuration Assistant:网络服务名配置,TCP/IP协议"窗口输入主机名(如果连接本地数据库,则录入本地计算机名,如果连接远程数据库,则录入远程计算机名),选择默认的"请使用标准端口号1521"(建议最好不要修改),点击"下一步",d出以下窗体;
8)、在"Net8 Configuration Assistant:网络服务名配置,测试"窗口选择"是,进行测试",点击"下一步",d出以下窗体;
9)、当"Net8 Configuration Assistant:网络服务名配置,正在连接"窗口对话框中出现提示"正在连接…测试成功"信息,表示测试通过。此时点击"下一步",进入"Net8 Configuration Assistant: 网络服务名配置,网络服务名"窗口;
10)、在"Net8 Configuration Assistant:网络服务名配置,网络服务名"窗口输入网络服务名,服务名为ORACLE连接串,可任意录入,如:test,点击"下一步",d出以下窗体;
11)、在"Net8 Configuration Assistant:网络服务名配置,是否需要另一个网络服务名"窗口中选择"否",点击"下一步",进入"网络服务名配置完成" 窗口;
12)、在"网络服务名配置完成"窗口中点击"下一步",d出以下窗体;
13)、在"欢迎"窗口点击"完成",退出配置过程
TNSNAMESORA配置完成后,再配置BDE(BDE如何配置略),可通过BDE、PLSQL、SQL EXPLORER和TNSPING命令来测试ORACLE是否连接正确。下面用TNSPING来测试是否连接。
11、配置服务
可以在客户端机器上使用oracle Net Configuration Assistant或oracle Net Manager图形配置工具对客户端进行配置,该配置工具实际上修改tnsnamesora文件。所以我们可以直接修改tnsnamesora文件,下面以直接修改tnsnamesora文件为例:
该文件的位置为: …\network\admin\tnsnamesora (for windows)
…/network/admin/tnsnamesora (for unix)
此处,假设服务器名为testserver,服务名为orcltestservercom,使用的侦听端口为1521,则tnsnamsora文件中的一个test网络服务名(数据库别名)为:
test =
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=(PROTOCOL=TCP)(HOST=testserver)(PORT=1521))
)
(CONNECT_DATA=(SERVICE_NAME=orcltestservercom)
)
)
在命令提示符下录入: TNSPING TESTSOFTONECOM
用sqlplus程序通过testtestservercom网络服务名测试,如sqlplus system/manager@testtestservercom
12、易混淆术语介绍
Db_name:对一个数据库(Oracle database)的唯一标识
Db_domain:定义一个数据库所在的域,该域的命名同互联网的’域’没有任何关系,只是数据库管理员为了更好的管理分布式数据库而根据实际情况决定的。
Global_name:对一个数据库(Oracle database)的唯一标识
Service_name:该参数是oracle8i新引进的。
Net service name:网络服务名,又可以称为数据库别名(database alias)。
oracle是块结构语言,oracle程序划分成几个部分,并在每个部分中写入逻辑代码块,每个块由三个子部分组成。
声明部分:此部分是以关键字DECLARE开头。这是一个可选部分,并定义了程序中要使用的所有变量,游标,子程序和其他元素。
可执行命令部分:此部分包含在关键字BEGIN和END之间,这是一个强制性部分。由程序的可执行oracle语句组成。应该有至少一个可执行代码行,可以只是一个NULL命令,表示不执行任何 *** 作。
异常处理部分 :此部分以关键字EXCEPTION开头。这是一个可选部分,包含处理程序中错误的异常。
每个oracle语句以分号(;)结尾。使用BEGIN和END可以将oracle块嵌套在其他oracle块中。以下是Poracle块的基本结构。
Hello World示例:
END;行表示oracle块的结尾。要从oracle命令行运行代码,需要在代码的最后一行之后键入/字符。当上述代码在oracle提示符下执行时,它会产生以下结果:
oracle标识符:oracle标识符是常量,变量,异常,过程,游标和保留字。标识符包括一个字母,可选地后跟多个字母,数字,美元符号,下划线和数字符号,不得超过30个字符。
默认情况下,标识符不区分大小写。例如,可以使用integer或INTEGER来表示一个数值。 不能使用保留关键字作为标识符。
扩展资料
oracle注释程序:注释可以在编写的oracle代码中包含的说明性文字,并帮助其他人阅读源代码。所有编程语言都允许某种形式的注释。
oracle支持单行和多行注释。注释中的所有字符都被oracle编译器忽略。oracle单行注释以分隔符开头 --(双连字符),多行注释由/和/括起来。
当上述代码在oracle提示符下执行时,会产生以下结果:
oracle变量的名称由可选的字母,数字,美元($)符号,下划线和数字符号组成,不能超过30个字符。 默认情况下,变量名不区分大小写。不能将保留的oracle关键字用作变量名称。
oracle编程语言允许定义各种类型的变量,如:日期时间数据类型,记录,集合等,我们将在后面的章节中介绍。 在本章中仅学习基本的变量类型。
在oracle的”v$session“视图中存储有这两个字段信息。 用sysdba身份登录 比如 conn / as sysdba 匿名管理员登陆后,之后执行下面的sql。 sql:select busername,bsid from v$session b ; 备注:要用有查看视图”v$session“的用户查看需要的sid
以上就是关于oracle的实例名与ORACLE_SID关系和区别。全部的内容,包括:oracle的实例名与ORACLE_SID关系和区别。、关于ORACLE的一些概念问题: ORACLE的表空间是什么 表空间就是所谓的数据库么 全局数据库又是什么、Oracle的 *** 作系统身份认证等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)