Why can't I set QUERY_REWRITE_ENABLED to TRUE? - oracle

I'm trying to create a materialized view for a Oracle database but I'm getting this error:
I've tried to alter the session and the system with "alter session set QUERY_REWRITE_ENABLED = TRUE; " but nothing worked.
Any idea what might be going wrong?
My code is:
create materialized view First
refresh complete on commit
enable query rewrite
as
select id,user_id
from answers;

The OP clarified that she is using the Express Edition. With that said:
Do a search on https://docs.oracle.com/database/121/DBLIC/editions.htm#DBLIC110 for the search word "rewrite". You will find that query rewrite is only available in the Enterprise Edition. By the way, if you are just learning, you are allowed to install and use the Enterprise Edition for free. Not so, however, for commercial use.
(The link provided is for Oracle Database version 12.1. The current version available in Express Edition is 11.2; you can find the corresponding documentation for the Oracle 11.2 editions, including the Express edition, with a Google search on "Oracle 11.2 Oracle database editions".)

Related

What is suitable Oracle's DB XE version for practice ?, and errors in version 21c

i have some problem with the Oracle DB XE version 21c.
i use it on my laptop to follow a data lab course in my campus
at first usage i try at the campus computer and works normally. but when i download
and install on my laptop (ofc for practice and homework), i encountered some problems
like : username should use "c##" prefix (i avoid using _oracle_script=true
as others recommend)then i got problem when adding select permission to my account via system user,
like i wrote here : grant select on HR.EMPLOYEES to c##SI0x_xxx;
and cmd throws error ORA-00942: table or view does not exist but when i creating an account + schema on my campus's computer it's worked without throws any error.
i also try to drop and re-create the user using system account but nothing worked.
for detail i put the version used on this case.
my laptop uses Oracle's DB Express Edition version 21c (21.3.0.0.0)
the campus computer uses an Oracle's DB version 10 (sorry i forgot to write exact version).
at the end i assuming the 21c version not have "HR.EMPLOYEE" table, then i need some helpto find best version to practice.Thanks, and i'am have to say sorry if i did some mistakes and poor at english writing.
[UPDATE]
i ended to choose 10 or 11g later as my lecturer recommends.
when at version 21c i just getting more problem because this is the first time i use this program and also kinda busy to try it more.
also thanks to anyone who answer thisit's helpful to get some info to try it with newer version if needed.
Oracle 21cXE doesn't contain the HR schema, so you'll have to install it first. Because, grant you ran failed as that table (nor user) exists.
Have a look at Installation of the Sample Schemas document which contains more information.
Once you install HR, connect as HR (no need to use SYSTEM for that) and grant privileges to your newly created user.
Alternatively, why wouldn't you use HR schema directly? It is on your laptop, there's nothing you can spoil (and even if you did, just re-create it).

SQL Developer failing to open table in old db version

We've connected to an old 9i database with SQL Developer 18.2, and every table we attempt to open the description of returns the following, instead of displaying data/indexes/constraints etc.
A manual DESC table_name works, and there are no exotic column types.
Is there a switch we need to make to make SQL Dev backwards compatible? Can we use an older version of SQL developer as a workaround?
No way, as far as I can tell. SQL Developer works on supported database versions which is now ... what, 11g and above? I'm afraid that you'll have to use lower tool version for lower database version(s).
As there's no really an "installation", you can unzip 4.x SQL Developer (which works with 9i, but also works with (again - as far as I can tell) at least 12c) into some directory, put its icon onto the desktop and use it whenever you have to work with 9i.
Use your current SQL Developer for more recent database versions, if you have to use some of its capabilities that don't exist in 4.x.

Service privileges for Patch Download? (Oracle 11gR2)

To perform tests in advance of an upgrade from Oracle 11gR2 to 12c on our production systems, I tried to update the database of a developer virtual machine (Windows 7). The current Oracle Database version of this old developer machine is 11.2.0.1.0.
The setup file of Oracle 12c then told me to patch to 11.2.0.2, 11.2.0.3 or 11.2.0.4 first. So I tried to find and download the Patch to 11.2.0.4 for Windows x64. The official Oracle page only lists 11.2.0.1, so I did a quick search that lead me to this page, which in turn lead me to this page.
I am used to be forced to login to download stuff from Oracle, but the second page tells me I need special support privileges. Seriously? Oracle allows me to setup a developing machine with their enterprise editions but I need support privileges to download a patch to the most recent version of Oracle 11?
Did I miss something? How am I supposed to test the upgrade process on my developing machine(s)?
Thanks for any help!
There is another way to update your database version to version 12c.
Install the new version in a different HOME, export the full database 11g with expdp tool and then import it into the new updated data instance with impdp tool.
Do you happen to know which "Customer Service Identifier" (CSI) you're using when you attempt to download the patch?
See if you can determine the "Customer User Administrator" (CUA) for your company's My Oracle Support (MOS) Account associated with that CSI.
Then send that party a request to grant you download privileges on that CSI.
You may encounter additional hurdles if the CSI in question has moved into "extended support required" status.
I had this very adventure a few months ago.
And note that though I am writing this in 2020 when Oracle 11g is out of support, my aim here is to help people work through the "not authorized to download" issue the question references - which can pertain to Oracle versions new and old.

v$version still showing 9i in sql developer after upgrade to 10g

I was working on Oracle 9i. I got it upgraded to 10g 3 hr. back. But when I query v$version to check the version in SQL Developer, it shows Oracle 9i.
Could you please let me know if I need to modify any settings in the SQL Developer tool to reflect the upgraded version?
Thanks,
Savitha
If you are referring to a client upgrade, you can get the Oracle Home being used by SQL Developer by clicking Help->About->Properties and checking the value for oracle.home. Usually the name of the Oracle Home will give you an indication of the version of Oracle that you are using. If not, navigate to the BIN directory in ORACLE HOME and execute sqlplus /nolog.

How to create a database in Oracle8 Lite with Developer 2000?

I am new in Oracle. I install Oracle 8 Lite with Developer 2000. Now I want to create a database for me. For that I open Oracle8 Navigator and Create a database which user is system. But in Oracle SQL*Plus I can not communicate with the database. Or even after creating a table using Oracle8 Navigator I can't alter the table.
Please tell me how can I alter my table?
Not sure what you are dealing with.
There is an Oracle Lite database for PDAs, mobile devices etc. But that went from version 5 to 9.
There was a standard Oracle 8 database (8 and 8i) which is markedly different, especially when it comes to Developer/2000.
Finally, Oracle 8 and Developer/2000 are pretty long in the tooth. I wouldn't recommend trying to learn off them unless it is for a specific job that uses those technologies. [Similar with Oracle Lite].
I'd recommend looking for Oracle XE (Express Edition) and the Apex development environment as a good way to start to learn Oracle.

Resources