λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
ORACLE/ADMIN

[Oracle] λ°μ΄ν„°λ² μ΄μŠ€ 생성 후속 μž‘μ—…, Data Dictionary 쑰회 μ•ˆλ˜λŠ” 것 문제 ν•΄κ²°

by πŸŒ»β™š 2020. 7. 11.

λ°μ΄ν„°λ² μ΄μŠ€ 생성 후속 μž‘μ—…

 

이전 κΈ€μ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€ μˆ˜λ™μƒμ„±ν•˜λŠ” μž‘μ—…μ„ μ§„ν–‰ν–ˆμŠ΅λ‹ˆλ‹€. μˆ˜λ™μœΌλ‘œ μž‘μ—…μ„ 진행 ν–ˆμ„ λ•Œ λ¬Έμ œμ—†μ΄ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μ‚¬μš©ν•  수 μžˆμ§€λ§Œ, λͺ‡κ°€μ§€ μ•ˆλ˜λŠ” κΈ°λŠ₯듀이 μžˆμ–΄ 후속 μž‘μ—…μ„ 진행해주어야 ν•©λ‹ˆλ‹€. dbca둜 λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μƒμ„±ν–ˆμ„ λ•Œ μžλ™μœΌλ‘œ ν•΄μ£ΌλŠ” ν›„μ†μž‘μ—…μ„ λ”°λ‘œ ν•΄μ£ΌλŠ” κ²ƒμž…λ‹ˆλ‹€.  Database μˆ˜λ™ μƒμ„±ν•˜λŠ” 방법은 μ•„λž˜ 링크λ₯Ό ν†΅ν•΄μ„œ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

 

[Oracle] λ°μ΄ν„°λ² μ΄μŠ€ 생성 SID μΆ”κ°€ CREATE DATABASE λͺ…λ Ήμ–΄ μ‚¬μš©

OS : Red Hat Enterprise Linux Server 6.10 DB : Oracle 11.2.0.1 Oracle Databaseμ—μ„œ DBCAλ₯Ό μ΄μš©ν•˜μ§€ μ•Šκ³  μˆ˜λ™μœΌλ‘œ CREATE DATABASE λͺ…λ Ήμ–΄λ₯Ό μ‚¬μš©ν•΄μ„œ λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό μƒμ„±ν•˜λŠ” μ‹€μŠ΅μ„ ν•˜λ €κ³ ν•©λ‹ˆλ‹€. μƒˆλ‘œ..

myjamong.tistory.com

 

1. Data Dictionary 쑰회 View 생성 catalog.sql

[oracle@host ~]$ sqlplus / as sysdba
SQL> select table_name from dba_tables;

ν…Œμ΄λΈ”μŠ€νŽ˜μ΄μŠ€μ˜ 정보λ₯Ό ν™•μΈν•˜λ €κ³  dba_tablespaces λ·°λ₯Ό μ‘°νšŒν•˜λ €κ³  ν–ˆμ§€λ§Œ ν…Œμ΄λΈ”μ΄ μ—†λ‹€λŠ” ORA-00942μ—λŸ¬κ°€ λ°œμƒν•©λ‹ˆλ‹€. μ΄λŠ” λ°μ΄ν„°λ² μ΄μŠ€ 생성 후에 Data Dictionaryλ₯Ό μƒμ„±ν•΄μ£ΌλŠ” μž‘μ—…μ„ 해주지 μ•Šμ•˜κΈ° λ•Œλ¬Έμ— λ°œμƒν•˜λŠ” λ¬Έμ œμž…λ‹ˆλ‹€. 이 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄μ„œ $ORACLE_HOME/rdbms/admin 경둜 μ•ˆμ— catalog.sql νŒŒμΌμ„ μ‹€ν–‰ν•΄μ£Όλ©΄ μžλ™μœΌλ‘œ Data Dictionaryλ₯Ό μ‘°νšŒν•  수 μžˆλŠ” λ·°λ₯Ό μƒμ„±ν•΄μ€λ‹ˆλ‹€. ν•΄λ‹Ή μž‘μ—…μ€ sys κ³„μ •μ—μ„œ μ§„ν–‰ν•΄μ£Όμ–΄μ•Όν•©λ‹ˆλ‹€.

 

SQL> @?/rdbms/admin/catalog.sql

"?"λŠ” ORACLE_HOME의 경둜λ₯Ό μ˜λ―Έν•©λ‹ˆλ‹€. ν•΄λ‹Ή 쿼리λ₯Ό μ‹€ν–‰μ™„λ£Œλœ 이후 λ‹€μ‹œ Data Dictionaryλ₯Ό μ‘°νšŒν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

 

SQL> select table_name from dba_tables;

문제 없이 dba_tables의 Data Dictionary λ·°κ°€ λ³΄μ΄λŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

ν•˜μ§€λ§Œ, catalog.sql을 μ‹€ν–‰ν–ˆλ‹€κ³  ν•΄μ„œ λͺ¨λ“  DataDictionary λ·°λ₯Ό μ‘°νšŒν•  수 μžˆλŠ” 것은 μ•„λ‹™λ‹ˆλ‹€. 아직 ν•„μš”ν•œ λͺ¨λ“  λ·°κ°€ μƒμ„±λ˜μ§€λŠ” μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λŒ€ν‘œμ μœΌλ‘œ dba_tablespaces의 λ·°λ₯Ό μ‘°νšŒν•΄λ³΄λ©΄ ν•΄λ‹Ή λ·°λŠ” μ‘΄μž¬ν•˜μ§€ μ•ŠλŠ”λ‹€λŠ” μ—λŸ¬κ°€ λ°œμƒν•©λ‹ˆλ‹€.

 

SQL> select tablespace_name from dba_tablespaces;

이 λ¬Έμ œλŠ” catproc.sql νŒŒμΌμ„ μ‹€ν–‰ν•΄μ„œ ν•΄κ²°ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

 

2. Oracle Package μ„€μΉ˜ catproc.sql

SQL> @?/rdbms/admin/catproc.sql

sys κ³„μ •μ—μ„œ catproc.sqlνŒŒμΌμ„ μ‹€ν–‰ν•΄μ€λ‹ˆλ‹€. ν•΄λ‹Ή μΏΌλ¦¬νŒŒμΌμ€ Oracleμ—μ„œ μ œκ³΅ν•΄μ£ΌλŠ” dbms와 같은 νŒ¨ν‚€μ§€λ“€μ„ λ§Œλ“€μ–΄μ£ΌλŠ” μΏΌλ¦¬μ΄κΈ°λ„ν•˜κ³  아직 μƒμ„±λ˜μ§€ μ•Šμ€ Data Dictionary 뷰듀을 λͺ‡λͺ‡ μƒμ„±ν•΄μ€λ‹ˆλ‹€.

 

3. 계정 접속 κ²½κ³  ν•΄κ²° pupbld.sql

μ‚¬μš©μž 계정을 μƒμ„±ν•΄μ„œ ν•΄λ‹Ή κ³„μ •μœΌλ‘œ λ‘œκ·ΈμΈν• λ•Œ κ²½κ³ κ°€ λ°œμƒν•©λ‹ˆλ‹€.

SQL> create user hr identified by hr;

User created.

SQL> grant connect, resource to hr;

Grant succeeded.

SQL> conn hr/hr
Error accessing PRODUCT_USER_PROFILE
Warning:  Product user profile information not loaded!
You may need to run PUPBLD.SQL as SYSTEM
Connected.
SQL> show user
USER is "HR"

확인해보면 μƒμ„±ν•œ μƒˆλ‘œμš΄ μœ μ €λ‘œ μ ‘μ†ν•˜λŠ”λ° λ¬Έμ œλŠ” μ—†μŠ΅λ‹ˆλ‹€. ν•˜μ§€λ§Œ, profileκ΄€λ ¨λœ 문제둜 경둜λ₯Ό λ°œμƒμ‹œν‚΅λ‹ˆλ‹€. ν•΄λ‹Ή κ²½κ³ κ°€ μ•ˆλ³΄μ΄λ„λ‘ system κ³„μ •μ—μ„œ pupbld.sql을 μ‹€ν–‰ν•©λ‹ˆλ‹€.

 

SQL> conn system/oracle
@?/sqlplus/admin/pupbld.sql
SQL> conn hr/hr 
Connected.
SQL> show user
USER is "HR"

 

κ²½κ³  없이 접속이 κ°€λŠ₯ν•œ 것을 ν™•μΈν–ˆμŠ΅λ‹ˆλ‹€.

 

λŒ“κΈ€