programing

스키마 이름을 변경하는 방법?

abcjava 2023. 7. 15. 00:28
반응형

스키마 이름을 변경하는 방법?

사용자를 만들었습니다.

CREATE USER gds_map
IDENTIFIED BY gds_map;

그리고 이제 이름을 바꿔야 합니다.업데이트하거나 다른 방법을 찾으려 했지만 아직 아무것도 찾지 못했습니다.

어떤 암시라도 기꺼이 받아들이겠습니다.

스키마의 이름을 수정하려면 USER$에 사전 레벨이 있어야 합니다.

스키마 이름의 ID 가져오기

SQL> select user#,NAME from SYS.user$ WHERE NAME='TEST';
USER# NAME
---------- ------------------------------
*93* TEST

스키마 이름 수정

SQL> UPDATE USER$ SET NAME='NEW_SCHEMA_NAME' WHERE USER#=93;

완료된 커밋

SQL> COMMIT;

시스템 SCN 수정

SQL> ALTER SYSTEM CHECKPOINT;

5.그런 다음 shared_pool을 새로 고칩니다.

SQL> ALTER SYSTEM FLUSH SHARED_POOL;

새 스키마의 암호 수정

SQL> ALTER USER new_schema  IDENTIFIED BY new_pass;

그럴 수 없습니다(적어도 지원되거나 막연하게 책임지는 방식은 아닙니다).새 사용자 이름으로 새 사용자를 생성하고 이전 사용자를 삭제해야 합니다.

오라클 스키마의 이름을 바꿀 메서드가 없습니다.

해라,

1-새 스키마 생성

2-이전 스키마를 내보냅니다.

$exp owner=test2

3-이전 스키마를 새 스키마로 가져옵니다.

$imp fromuser=test2 touser=newuser_name

이 일을 하라.

1 - sys로 로그인

2- 실행: sys.user$ set name = 'new_name'을 업데이트합니다. 여기서 name = 'old_name';

3- 그런 다음 데이터베이스를 다시 시작합니다.

저는 이것을 너무 자주 해야 했기 때문에 이 주제에 대한 기사를 쓰기도 했습니다.

제가 사용하는 해결 방법은 루프백 dblink를 사용하여 다른 이름을 가진 동일한 DB에 사용자를 "클론"하는 것입니다.

속도가 매우 빠르며 결국 검사에 성공한 후 이전 스키마를 삭제할 수 있습니다.

여기에서 확인하십시오. http://www.dbarj.com.br/en/2014/11/rename-schema-oracle-11g-loopback-dblink/

오라클 데이터베이스에서는 사용자 이름을 바꿀 수 없지만 암호는 변경할 수 있습니다.

alter user USER_NAME identified by <enter_new_password>;

언급URL : https://stackoverflow.com/questions/18730850/how-to-change-schema-name

반응형