扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
连接ORACLE数据库有两种方式:数据库名和服务名,数据库名的更改要使用重建控制文件的方式更改.alter database backup controlfile to trace后更改其中数据库名为新名,运行该文件
10余年的白银网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。网络营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整白银建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联公司从事“白银网站设计”,“白银网站推广”以来,每个客户项目都认真落实执行。
如果要更改目录,在上面的Trace文件中将文件目录改为新的文件目录名称重建或在mount阶段使用alter database rename datafile一一将文件更改过来.
你可以尝试一下下面的办法:
--直接修改底层表 USER$ 更换用户名:
1、windows 平台下运行 cmd
2、sqlplus /nolog
3、SQL connsys/lmis@lmisdx_localas sysdba 连接到数据库。通常可以用sys用户登陆。
4、SQL select * from user$; 找到 name为需要修改的用户的user#。
5、SQL UPDATE USER$ SET NAME='新用户名' WHERE USER#=38;
已更新 1 行。
6、SQL COMMIT;提交完成。
7、SQL ALTER SYSTEM CHECKPOINT;
系统已更改。
8、SQL ALTER USER 新用户名 IDENTIFIED BY 新密码;
此时会提示新用户不存在。
SQL ALTER USER 新用户名 IDENTIFIED BY 新密码
*ERROR 位于第 1 行:ORA-01918: 用户'新用户'不存在
9、SQL ALTER SYSTEM FLUSH SHARED_POOL;
系统已更改。
10、SQL ALTER USER 新用户 IDENTIFIED BY 新密码;
用户已更改。
11、测试连接
SQL CONN 新用户/新密码@lmisdx_local;
已连接。
12、SQL SELECT * FROM TAB;
查看新用户下是否有原用户的对象,包括表等。
13、SQL CONN / AS SYSDBA已连接。
14、SQL SHOW USER --查看当前连接用户
为"SYS"
15、SQL SHUTDOWN IMMEDIATE --关闭数据库
数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。
16、SQL STARTUP --启动数据库
ORACLE 例程已经启动。......数据库装载完毕。数据库已经打开。
17、可以看出没有再恢复为TEST
SQL SELECT USER#,NAME,PASSWORD FROM USER$ WHERE USER#=38;
18、查看数据对象
SQL SELECT * FROM TAB;
19、SQL connsys/lmis@lmisdx_localas sysdba
已连接。
SQL SHOW USERUSE
为"SYS"
--DROP USER 也没有问题
SQL DROP USER TEST1 CASCADE; --删除以前的用户
增加一列,为你要改的列,将要修改列数据移到新增列中,删除原列
在数据库处于mount状态或数据文件对应的表空间处于offline状态下,重新rename数据文件即可。可上百度找相关命令。
下面通过四个步骤实现Oracle用户名的修改。
一、查询更改Oracle用户名
SQL select user#,name,password from user$ where name ='TICKETS'; USER# NAME PASSWORD ---------- ------------------------------ ------------------------------ 78 TICKETS 21EDA78F89D6FACD
二、更改用户名
SQL update user$ set name='TICKETS_BAK' where user#=78; 1 row updated. SQL commit; Commit complete.
三、创建同样的Oracle用户名
SQL create user tickets identified by "123456" 2 default tablespace yytickets 3 temporary tablespace temp; create user tickets identified by "123456" * ERROR at line 1: ORA-01920: user name 'TICKETS' conflicts with another user or role name
这时系统会提示“用户名冲突”,运行下面的SQL语句
SQL alter system checkpoint; ----强制写入数据文件
System altered.
SQL alter system flush shared_pool; ----清楚缓存数据字典信息,
----强制oracle读实际数据(即更改后的数据)
System altered.
四、创建相同的用户名
SQL create user tickets identified by "123456" 2 default tablespace yytickets 3 temporary tablespace temp; User created. SQL grant connect,resource to tickets; Grant succeeded. SQL commit; Commit complete.
这样基本完成Oracle用户名的查找、更改、替换、复制等操作,需要注意的是用户名冲突的排查和解决,以防发生后患。
本地oracle客户端连接远程oracle数据库服务器配置说明如下:
1.找到本地oracle客户端安装目录,如:%path%\Oracle
2.再找配置文件tnsnames.ora,其目录为 %path%\Oracle\product\10.1.0\Client_2\NETWORK\ADMIN\tnsnames.ora,如不存在,请先新建。
3.用记事本打开文件tnsnames.ora,用以下内容替换原有内容:
# tnsnames.ora Network Configuration File: %path%\Oracle\product\10.1.0\Client_2\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.
%dbname% =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = xxx.xxx.xxx.xxx)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = %dbname%)
)
)
其中:
%path%是本地oracle客户端的安装目录
%dbname%是远程服务器的数据库实例名
xxx.xxx.xxx.xxx 是远程服务器IP地址,如:192.168.0.1
方法二:
1、打开cmd输入netca。
2、选择【本地net服务名配置】→下一步。
3、选择【添加】→下一步。
4、在【服务名】中输入你想要连接的服务器上的oracle服务的名字→下一步。
5、选择【tcp】→下一步。
6、在【主机名】中输入你想要连接的服务器ip,端口号不变→下一步。
7、选择【进行测试】→下一步。(当然你也可以选择不测试)
※1测试如果不通过,点击【更改登录】输入一个肯定能登入的【用户名】和【口令】→确定,出现【正在连接...测试成功。】表明测试成功。
※2测试不通过的话,点【上一步】确认你写的【服务名】和【主机名】,确认无误的情况下,确认你要连接的服务器oracle监听服务已经打开。
8、在【net服务名中】输入你想要使用的本地的服务名→下一步。
※就是【sqlplus user/passwd @本地服务名】。
9、选择【否】→下一步。
10、出现【net服务配置完毕】字样→下一步。
11、点击【完成】完成服务配置。
12、在上面服务配置完成以后,在cmd中输入如下命令即可远程登录oracle服务器:
sqlplus user_name/password@本地服务名
一定记住,上面的本地服务名是你第8步写的服务名
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流