oracle数据库表空间及权限调整示例
一、情况说明1.背景情况1).用户采用DBA权限,DBA权限具有访问数据库所有用户数据的权限,不安全。2).表空间与用户没有对应关系,无法直接标识用户与表空间(根
一、情况说明1.背景情况1).用户采用DBA权限,DBA权限具有访问数据库所有用户数据的权限,,不安全。
2).表空间与用户没有对应关系,无法直接标识用户与表空间(根据自己情况)。
3).迁移涉及到表、索引、LOB对象的迁移。
注:如果涉及到LONGRAW字段类型表,还需要先建LONGRAW字段转成LOB对象。
本文只是找了情景环境,做一个记录过程,相对于操作系统中文件,文件夹的数据库的移动,数据库中也就是数据库对象进行的一些操作与管理。
本文出自:
2.具体任务1.将gsjsso用户下的表全部移动到一个新建的表空间gsjsso。
2.将gsjsso用户从DBA权限降权为普通用户。
1)查看GSJSSO用户在JTTSSO空间中的LOB对象,说明:LOB是造成不能成功通过导入来改变空间原因。只能采用如下方式。
col TABLESPACE_NAME for a20; col DS.OWNER||'.'||DS.SEGMENT_NAME for a40; col DATA_TYPE for a15; select ds.tablespace_name,ds.owner||'.'||ds.segment_name,ds.segment_type, dtc.DATA_TYPE,dtc.COLUMN_NAME from dba_tab_columns dtc , dba_segments ds where dtc.TABLE_NAME = ds.segment_name and dtc.OWNER = ds.owner and ds.tablespace_name in ('JTTSSO') and DATA_TYPE like '%LOB';2)构建迁移LOB大对象SQL语句
select 'alter table '||dtc.owner||'.'||dtc.TABLE_NAME||' move lob('||dtc.COLUMN_NAME||') store as(tablespace '||du.default_tablespace||');' from dba_tab_columns dtc,dba_users du where dtc.OWNER = du.username and dtc.OWNER in('GSJSSO') and dtc.DATA_TYPE like '%LOB';1)复制迁移表SQL语句在SQLPLUS中执行。
alter table GSJSSO.ED_SEND_CONFIG move tablespace GSJSSO; alter table GSJSSO.ED_SEND_CONFIG_HOST move tablespace GSJSSO; alter table GSJSSO.ED_SEND_CONFIG_LOG move tablespace GSJSSO; alter table GSJSSO.ED_SEND_CONFIG_ORG move tablespace GSJSSO; alter table GSJSSO.ED_SEND_CONFIG_USER move tablespace GSJSSO; alter table GSJSSO.IDM_ROLE_MENU_ITEM move tablespace GSJSSO; alter table GSJSSO.IDM_SYS_ADMIN_ROLE move tablespace GSJSSO; alter table GSJSSO.IDM_SYS_ADMIN_USER move tablespace GSJSSO; alter table GSJSSO.IDM_SYS_CONFIG move tablespace GSJSSO; alter table GSJSSO.IDM_SYS_LOG move tablespace GSJSSO; alter table GSJSSO.IDM_SYS_MENU move tablespace GSJSSO; alter table GSJSSO.IDM_USER_ROLE move tablespace GSJSSO; alter table GSJSSO.NET_PLATFORM_ORGANIZE_T move tablespace GSJSSO; alter table GSJSSO.NET_PLATFORM_USER_T move tablespace GSJSSO; alter table GSJSSO.PORTAL_ADAPTER move tablespace GSJSSO; alter table GSJSSO.PORTAL_ADAPTER_RESOURCE move tablespace GSJSSO; alter table GSJSSO.PORTAL_ADAPTER_RESOURCE_PRAM move tablespace GSJSSO; alter table GSJSSO.PORTAL_SYS_ADMIN_USER move tablespace GSJSSO; alter table GSJSSO.PORTAL_SYS_CONSTANTS move tablespace GSJSSO; alter table GSJSSO.PORTAL_TEMPLATE_STYLE move tablespace GSJSSO; alter table GSJSSO.PORTAL_TEMPLATE_USER move tablespace GSJSSO; alter table GSJSSO.PORTAL_TEMPLATE_ZIP move tablespace GSJSSO; alter table GSJSSO.PORTAL_USER_HEAD_PICTURE move tablespace GSJSSO; alter table GSJSSO.PORTAL_USER_LOGIN move tablespace GSJSSO; alter table GSJSSO.SSO_HOST move tablespace GSJSSO; alter table GSJSSO.SSO_HOST_CONFIG move tablespace GSJSSO; alter table GSJSSO.SSO_ORG move tablespace GSJSSO; alter table GSJSSO.SSO_SESSION move tablespace GSJSSO; alter table GSJSSO.SSO_USER move tablespace GSJSSO; alter table GSJSSO.SYS_ADMIN_USER move tablespace GSJSSO; alter table GSJSSO.SYS_CONFIG move tablespace GSJSSO;2)复制迁移索引SQL语句在SQLPLUS中执行。
alter INDEX GSJSSO.PK_ED_SEND_CONFIG rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_ED_SEND_CONFIG_HOST rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_ED_SEND_CONFIG_LOG rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_ED_SEND_CONFIG_ORG rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_ED_SEND_CONFIG_USER rebuild tablespace GSJSSO; alter INDEX GSJSSO.ROLE_MENU rebuild tablespace GSJSSO; alter INDEX GSJSSO.ID_PK rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_IDM_SYS_ADMIN_USER rebuild tablespace GSJSSO; alter INDEX GSJSSO.MENUID_PK rebuild tablespace GSJSSO; alter INDEX GSJSSO.USER_ROLE rebuild tablespace GSJSSO; alter INDEX GSJSSO.SYS_C005154 rebuild tablespace GSJSSO; alter INDEX GSJSSO.SYS_C005157 rebuild tablespace GSJSSO; alter INDEX GSJSSO.SYS_C005159 rebuild tablespace GSJSSO; alter INDEX GSJSSO.SYS_C005161 rebuild tablespace GSJSSO; alter INDEX GSJSSO.SYS_C005163 rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_PORTAL_SYS_ADMIN_USER rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_PORTAL_SYS_CONSTANTS rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_PORTAL_TEMPLATE_STYLE rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_PORTAL_TEMPLATE_USER rebuild tablespace GSJSSO; alter INDEX GSJSSO.SYS_C005173 rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_PORTAL_USER_LOGIN rebuild tablespace GSJSSO; alter INDEX GSJSSO.SYS_C005181 rebuild tablespace GSJSSO; alter INDEX GSJSSO.SYS_C005189 rebuild tablespace GSJSSO; alter INDEX GSJSSO.SYS_C005193 rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_U rebuild tablespace GSJSSO; alter INDEX GSJSSO.PK_SYS_ADMIN_USER rebuild tablespace GSJSSO;
Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

Video Face Swap
Swap faces in any video effortlessly with our completely free AI face swap tool!

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



Oracle View Encryption allows you to encrypt data in the view, thereby enhancing the security of sensitive information. The steps include: 1) creating the master encryption key (MEk); 2) creating an encrypted view, specifying the view and MEk to be encrypted; 3) authorizing users to access the encrypted view. How encrypted views work: When a user querys for an encrypted view, Oracle uses MEk to decrypt data, ensuring that only authorized users can access readable data.

Uninstall method for Oracle installation failure: Close Oracle service, delete Oracle program files and registry keys, uninstall Oracle environment variables, and restart the computer. If the uninstall fails, you can uninstall manually using the Oracle Universal Uninstall Tool.

Deleting all data in Oracle requires the following steps: 1. Establish a connection; 2. Disable foreign key constraints; 3. Delete table data; 4. Submit transactions; 5. Enable foreign key constraints (optional). Be sure to back up the database before execution to prevent data loss.

Oracle Invalid numeric errors may be caused by data type mismatch, numeric overflow, data conversion errors, or data corruption. Troubleshooting steps include checking data types, detecting digital overflows, checking data conversions, checking data corruption, and exploring other possible solutions such as configuring the NLS_NUMERIC_CHARACTERS parameter and enabling data verification logging.

Solutions to Oracle cannot be opened include: 1. Start the database service; 2. Start the listener; 3. Check port conflicts; 4. Set environment variables correctly; 5. Make sure the firewall or antivirus software does not block the connection; 6. Check whether the server is closed; 7. Use RMAN to recover corrupt files; 8. Check whether the TNS service name is correct; 9. Check network connection; 10. Reinstall Oracle software.

Oracle database paging uses ROWNUM pseudo-columns or FETCH statements to implement: ROWNUM pseudo-columns are used to filter results by row numbers and are suitable for complex queries. The FETCH statement is used to get the specified number of first rows and is suitable for simple queries.

The method to solve the Oracle cursor closure problem includes: explicitly closing the cursor using the CLOSE statement. Declare the cursor in the FOR UPDATE clause so that it automatically closes after the scope is ended. Declare the cursor in the USING clause so that it automatically closes when the associated PL/SQL variable is closed. Use exception handling to ensure that the cursor is closed in any exception situation. Use the connection pool to automatically close the cursor. Disable automatic submission and delay cursor closing.

In Oracle, the FOR LOOP loop can create cursors dynamically. The steps are: 1. Define the cursor type; 2. Create the loop; 3. Create the cursor dynamically; 4. Execute the cursor; 5. Close the cursor. Example: A cursor can be created cycle-by-circuit to display the names and salaries of the top 10 employees.
